我已将 Linux 上的 gstreamer 升级到最新版本 1.4.0,包括 gst-plugins-base/good/bad/ugly。但是当我尝试播放视频时,我找不到很多元素,例如 xvimagesink、videotestsrc 和 autovideosink。 我想知道如何添加这些元素?
gst-launch --gst-debug-level=3 !filesrc location=FlickAnimation.avi !avidemux name=demux demux.video_00 ! queue ! ffdec_mpeg4 !ffmpegcolorspace !autovideosink
发布您提到的三个插件的
gst-inspect
的结果。
尝试找到以下三个文件,这些是上述插件的库。请根据您机器上的情况更改gstreamer版本的文件夹名称
文件名:/usr/lib/i386-linux-gnu/gstreamer-0.10/libgstvideotestsrc.so
文件名:/usr/lib/i386-linux-gnu/gstreamer-0.10/libgstxvimagesink.so
文件名:/usr/lib/i386-linux-gnu/gstreamer-0.10/libgstautodetect.so
可能的原因:您可能安装了多个版本的
gstreamer
P.S. xvimagesink 通常仅在您拥有显卡或图形硬件时才能工作
如果您使用 gstreamer 1.x,您可能需要使用 gst-launch-1.0 和 gst-inspect-1.0。这只是一个猜测,但也许您安装了 gstreamer 1.x 插件,但正在使用 0.10 中的工具来查找 0.10 插件。
由于大多数这些插件及其名称随着版本的不同而不断变化,如果没有特别需要,我建议使用'autoaudiosink','autovideosink',.....'auto*src'等。
消除了大多数并发症(初学者的观点)
尝试删除
gstreamer-1.0
缓存(通常在 ~/.cache/gstreamer-1.0
中找到)并运行 export LD_LIBRARY_PATH=/lib:/usr/lib:/usr/local/lib
,包括存储自定义 gstreamer lib 文件的所有路径。