繁体   English   中英

GStreamer 视频窗口未打开 (macOS)

[英]GStreamer video window not opening (macOS)

我正在尝试在 GStreamer 上运行第一个教程并遇到一些问题。

当我编译在这里找到的代码并运行它时,没有出现编译错误或警告,并且找到了流,但只播放了音频。 当我在GST_DEBUG环境变量设置为3的情况下运行可执行文件时,我得到以下调试输出:

0:00:00.312559000  5230 0x7f8326031ad0 FIXME           videodecoder gstvideodecoder.c:928:GstFlowReturn gst_video_decoder_drain_out(GstVideoDecoder *, gboolean):<vp8dec0> Sub-class should implement drain()
0:00:00.355530000  5230 0x7f8325139ed0 FIXME           videodecoder gstvideodecoder.c:928:GstFlowReturn gst_video_decoder_drain_out(GstVideoDecoder *, gboolean):<vp8dec0> Sub-class should implement drain()
0:00:00.355659000  5230 0x7f8325139ed0 FIXME           videodecoder gstvideodecoder.c:928:GstFlowReturn gst_video_decoder_drain_out(GstVideoDecoder *, gboolean):<vp8dec0> Sub-class should implement drain()

因此,我的视频解码器或视频解码器本身的安装似乎存在一些错误,我不能肯定地说。

当我尝试使用命令直接从 gstreamer CLI 运行相同的媒体时

./gst-launch-1.0 -v playbin uri=https://www.freedesktop.org/software/gstreamer-sdk/data/media/sintel_trailer-480p.webm

我得到一个小的 OpenGL 窗口,它可以播放视频和音频而没有任何问题。

当我尝试从brew安装 GStreamer 及其插件时,我遇到了缺少某些插件的问题(即某些解码器和解复用器,如vorbisdec )。 当我从 brew install 运行 gst-launch 工具时,我收到有关缺少 vorbis 解码器的警告。 在这种情况下,视频播放不会发生意外,但音频不会。

这可能是 GStreamer 框架指向错误的插件或目录的问题吗? 我该如何诊断和/或修复它? 任何帮助是极大的赞赏!

这个问题的任何解决方案? 我遇到了同样的问题。 大苏尔 11.6

您可能会遇到https://gitlab.freedesktop.org/gstreamer/gst-docs/-/issues/10 :在 macOS 上,您需要运行 GLib 主循环才能显示 OpenGL 窗口。 因此,在本教程中,您需要按照以下内容添加一些内容以使其正常工作:

// Construct main-loop
GMainLoop *main_loop;
main_loop = g_main_loop_new(NULL, FALSE);

(...)

// Run main-loop
g_main_loop_run(main_loop);

(...)

// Clean-up
g_main_loop_unref(main_loop);

有关示例,请参见教程 12

至于无法与 Homebrew 安装一起使用的插件,您需要手动指定插件的位置。 根据 Homebrew 安装它们的位置以及您安装的位置,它可能看起来像这样:

export GST_PLUGIN_SYSTEM_PATH="/usr/local/opt/gst-plugins-good/lib/gstreamer-1.0/:/usr/local/opt/gst-plugins-bad/lib/gstreamer-1.0/:/usr/local/opt/gst-plugins-base/lib/gstreamer-1.0/:/usr/local/opt/gstreamer/lib/"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM