我想用GST-Launch-1.0来解码并将MP4文件删除。而不是使用bin -decodebin-我宁愿与单独的元素一起使用。不幸的是,我没有找到这个。
我的问题很简单:decodebin中包含哪些基本元素?
如果您可以将我引导到一个可以找到其他也应该很好的垃圾箱或自动流动器的组成的地方。
gst-launch-1.0
可以用管道图创建.dot
文件,每次管道更改状态。要启用此功能,请将GST_DEBUG_DUMP_DOT_DIR
变量设置为应保存生成文件的路径。在此DIR中,gst-launch-1.0
将创建0.00.00.069441527-gst-launch.READY_PAUSED.dot
之类的文件。然后,您可以使用ghraphviz
软件包中的dot
将它们转换为.png
文件。要转换一个文件,请使用以下命令:
dot -Tpng 0.00.00.069441527-gst-launch.READY_PAUSED.dot -o0.00.00.069441527-gst-launch.READY_PAUSED.png
您还可以使用Bash Shell中的以下命令:
使用以下命令。 ls -1 *.dot | xargs -I{} dot -Tpng {} -o{}.png
您可以在此处找到更多详细信息:如何生成Gstreamer管道图(图)
decodebin
将使用Gstreamer安装中的所有可用元素。请记住,您可以使用decodebin
启动管道并使用详细的-v
,并猜测decodebin
创建的元素是什么。例如,在下一个管道中,它可以成功播放一个MP4文件(视频和音频):
gst-launch-1.0 -v filesrc location=/home/usuario/GST_/BigBuckBunny_320x180.mp4 ! queue ! qtdemux name=demuxer demuxer.video_0 ! queue ! decodebin ! videoconvert ! autovideosink demuxer.audio_0 ! queue ! decodebin ! audioconvert ! autoaudiosink
观看我可以得出结论的输出,结果管道是:
gst-launch-1.0 -v filesrc location=/home/usuario/GST_/BigBuckBunny_320x180.mp4 ! queue ! qtdemux name=demuxer demuxer.video_0 ! queue ! h264parse ! avdec_h264 ! videoconvert ! autovideosink demuxer.audio_0 ! queue ! aacparse ! avdec_aac ! audioconvert ! autoaudiosink
可在此处获得GSTREAMER的播放组件。playbin
元素将为您提供URI输入的完整管道(视频,音频等)。
例如,如果您甚至不知道自己有什么样的来源,则可以使用playbin
元素:
gst-launch-1.0 playbin uri=file:///home/usuario/GST_/BigBuckBunny_320x180.mp4 -v
这将自动播放文件(如果可能的话),而详细的输出将向您显示使用的插件和状态信息。