Gstreamer 1.0:教程中的视频无法在 MacOS 上播放

问题描述 投票:0回答:3

我正在尝试在 MacOS 10.11.3 上使用 Xcode 7.2 编译本教程 Tutorial_01,但没有收到任何视频:我可以听到音频,但视频窗口似乎在某处丢失了。

我尝试使用命令行 gat-launch-1.0 播放相同的媒体:

gst-launch-1.0 -v playbin uri=http://docs.gstreamer.com/media/sintel_trailer-480p.webm

在 OpenGL 渲染器中打开媒体效果很好。

有什么想法吗?

提前致谢, 最大

更新:在调试模式下收到此警告:

0:00:00.314802000 [336m64763[00m 0x7f93e4854a30 [32;01mFIXME  [00m [00m        videodecoder gstvideodecoder.c:1057:GstFlowReturn gst_video_decoder_drain_out(GstVideoDecoder *, gboolean):<vp8dec0>[00m Sub-class should implement drain()
c gstreamer
3个回答
7
投票

看起来你需要在 mac 上运行 Glib 事件循环。

定义变量

GMainLoop *main_loop;

创建管道后运行循环:

main_loop = g_main_loop_new (NULL, FALSE);
g_main_loop_run (main_loop);

可能您需要回调来控制循环,以便您可以使用

g_timeout_add

希望有帮助

更新:

GStreamer Bus - 此链接也应该有帮助


1
投票

我认为

playbin2
不再是有效的源插件了。它的功能已迁移到
playbin
(我认为)。

但无论如何 - 如果出现问题,请检查错误代码。它们通常会给出一个易于阅读的错误,说明错误所在。

gstreamer.com 不是 gstreamer 项目的官方资源,专注于过时的 0.10 版本分支。我建议在 http://gstreamer.freedesktop.org 查找示例。甚至 gstreamer.com 起始页也建议这样做。


0
投票

从官方软件包安装 GStreamer 时遇到同样的问题,如此处所述。使用brew安装解决了这个问题,并且教程开箱即用。

这不是一个正确的解决方案,但它有效。

© www.soinside.com 2019 - 2024. All rights reserved.