我正在尝试在 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()
看起来你需要在 mac 上运行 Glib 事件循环。
定义变量
GMainLoop *main_loop;
创建管道后运行循环:
main_loop = g_main_loop_new (NULL, FALSE);
g_main_loop_run (main_loop);
可能您需要回调来控制循环,以便您可以使用
g_timeout_add
。
希望有帮助
更新:
GStreamer Bus - 此链接也应该有帮助
我认为
playbin2
不再是有效的源插件了。它的功能已迁移到playbin
(我认为)。
但无论如何 - 如果出现问题,请检查错误代码。它们通常会给出一个易于阅读的错误,说明错误所在。
gstreamer.com 不是 gstreamer 项目的官方资源,专注于过时的 0.10 版本分支。我建议在 http://gstreamer.freedesktop.org 查找示例。甚至 gstreamer.com 起始页也建议这样做。
从官方软件包安装 GStreamer 时遇到同样的问题,如此处所述。使用brew安装解决了这个问题,并且教程开箱即用。
这不是一个正确的解决方案,但它有效。