我正在尝试在命令提示符下运行某些管道以播放视频,但我经常收到这些错误/消息/警告:
WARNING: erroneous pipeline: no element "qtdemux"
WARNING: erroneous pipeline: no element "playbin2"
WARNING: erroneous pipeline: no element "decodebin2"
ERROR: pipeline could not be constructed: no element "playbin".
以下是管道:
gst-launch filesrc location=path to the mp4 file ! playbin2 ! queue ! ffmpegcolorspace ! autovideosink
或
gst-launch -v filesrc location=path to the mp4 file ! qtdemux name=demuxer ! { queue ! decodebin ! sdlvideosink } { demuxer. ! queue ! decodebin ! alsasink }
或
gst-launch -v playbin uri=path to the mp4 file
或
gst-launch -v playbin2 uri=path to the mp4 file
问题
- 我想知道,如果我是,我错过了执行这个的插件。
- 我怎么知道哪个插件负责哪个或在哪里找到?
- 通过 c 代码实现管道有什么好处。是否仍然需要缺少的插件。 从
- 新立得管理器或从Gstreamer站点(基本,好,坏,丑)安装缺少的插件是好吗?
当我们执行
gst-inspect
时,我们得到这样的输出:postproc: postproc_hdeblock: LibPostProc hdeblock filter libvisual: libvisual_oinksie: libvisual oinksie plugin plugin v.0.1 flump3dec: flump3dec: Fluendo MP3 Decoder (liboil build) vorbis: vorbistag: VorbisTag vorbis: vorbisparse: VorbisParse vorbis: vorbisdec: Vorbis audio decoder vorbis: vorbisenc: Vorbis audio encoder coreindexers: fileindex: A index that stores entries in file coreindexers: memindex: A index that stores entries in memory amrnb: amrnbenc: AMR-NB audio encoder amrnb: amrnbdec: AMR-NB audio decoder audioresample: audioresample: Audio resampler flv: flvmux: FLV muxer flv: flvdemux: FLV Demuxer
:y(x和y)是什么意思?
答案,
看起来您的gstreamer没有正确安装。 Playbin2,Decodebin2是基本的,是基本插件的一部分
1 是的,您可能缺少一些插件
2 使用 gst-inspect 命令检查它是否可用
3 从C代码可以管理状态,注册回调,了解更多信息 是的,仍然需要缺少插件
4 我想gstreamer网站会更好
5 不确定这个,如果你以正确的方式安排结果会有所帮助
GST_PLUGIN_PATH不正确。请将正确的路径设置为安装gstremer的位置。
对我来说,问题是路径没有设置。以下是查找路径的方法:
'1.找到插件目录:
sudo find /usr/ -name '*gstreamer*1.0*'
您正在寻找这样的东西:
ls /usr/lib/x86_64-linux-gnu/gstreamer-1.0
它拥有所有 .so 文件
然后导出并测试:
export GST_PLUGIN_PATH=/path/to/gstreamer-1.0
gst-inspect-1.0 qtdemux
免责声明:
sudo gst-inspect-1.0 qtdemux
即使没有设置路径也能工作