繁体   English   中英

您如何建立gstreamer的gst启动管道?

[英]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

看到sinksrc 现在,您发现srcvideo/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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM