Gstreamer 1.0:来自教程的视频不在MacOS上播放

时间:2016-02-01 17:55:19

标签: c gstreamer

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

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

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

它可以很好地在OpenGL Renderer中打开媒体。

有什么想法吗?

提前致谢, 最大

更新:在调试模式下获取此警告:

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()

2 个答案:

答案 0 :(得分:4)

看起来你需要在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 :(得分:1)

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

但无论如何 - 检查错误代码是否有效。他们通常会给出错误的错误。

gstreamer.com不是gstreamer项目的官方资源,并专注于过时的0.10版本分支。我建议在http://gstreamer.freedesktop.org查找示例。即使是gstreamer.com首页也建议使用。