[英]how do you build gstreamer's gst-launch pipelines?
假设您有一个视频文件。
据我搜索,您首先需要知道mediainfo
命令使用的是哪个容器。
$ mediainfo your_path_to_a_video.file
然后,您需要为容器找到一个解复用器,所以您要做
$ gst-inspect-1.0 | grep your_container_name_such_as_ogg
现在您已经有了合适的oggdemux
,例如oggdemux
,您可以拆分视频和音频了。 如果要显示视频,首先需要知道编解码器名称,然后需要对其进行解码以输出到屏幕。
返回mediainfo
输出,找到video Format
,然后执行
$ gst-inspect-1.0 | grep format_name_such_as_theora
您会找到theoradec
并通过以下方式检查其详细信息
$ gst-inspect-1.0 | decoder_name_such_as_theoradec
看到sink
和src
。 现在,您发现src
是video/x-raw
因此您将需要找到最终的接收器以输出所显示的视频,例如xvimagesink
。
我只是基于日语的网页编写所有内容,而没有找到其他解释更多的网页(英语或日语)。
我想找到一些页面来解释如何可以基于mediainfo等完成管道。 即使阅读了网页,我仍然不确定如何将元素之间的功能进行匹配。
您如何建立管道?
您如何搭配帽子?
如果您只想播放视频文件,则可以执行以下操作:
gst-launch-1.0 playbin uri = file:/// path / to / your / video
如果您需要将其解码为原始视频格式并进行进一步处理,则可以:
gst-launch-1.0 uridecodebin uri=file:///path/to/your/video ! video/x-raw ! further_processing
音频也是如此,甚至可以命名uridecodebin来分隔音频和视频:
gst-launch-1.0 uridecodebin uri=file:///path/to/your/video name=d ! video/x-raw ! further_video_processing d. ! audio/x-raw ! further_audio_processing
如果要查看实际管道的外观,可以设置GST_DEBUG_DUMP_DOT_DIR环境变量以转储点表示形式:
GST_DEBUG_DUMP_DOT_DIR=$PWD gst-launch-1.0 playbin uri=file:///path/to/your/video
然后:
dot -Tsvg name_of_the_dot_file.dot -o mypipeline.svg
编辑:至于我为了弄清楚而阅读的文档,“应用程序开发手册”,gst-launch和gst-inspect的手册页以及此处的各种文档: http : //cgit.freedesktop.org/gstreamer/ gstreamer / tree / docs应该可以帮助您入门。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.