我正在尝试在GStreamer上运行第一个教程并遇到一些问题。
当我编译找到here的代码并运行它时,不会发生编译错误或警告并找到流,但只播放音频。当我运行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及其插件时,我遇到了某些插件丢失的问题(即某些解码器和demuxeres,如vorbisdec
)。当我从brew安装中运行gst-launch工具时,我收到有关丢失的vorbis解码器的警告。在这种情况下,视频播放没有意外但音频没有。
这可能是GStreamer框架指向错误的插件或目录的问题吗?我该如何诊断和/或修复它?非常感谢任何帮助!