假设您有一个视频文件
就我搜索而言,您首先需要通过mediainfo
命令知道它使用的容器。
$ mediainfo your_path_to_a_video.file
然后你需要找到容器的分离器,所以你做
$ gst-inspect-1.0 | grep your_container_name_such_as_ogg
现在你有一个合适的解复用器,例如oggdemux
,你可以分割视频和音频。如果要显示视频,首先需要知道编解码器名称,然后需要将其解码才能输出到屏幕。
回到mediainfo
输出,你会看到视频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
。
我只是根据web page in Japanese来写这一切,我没有找到任何其他解释超过此的页面(英文或日文)。
我想找到解释如何基于mediainfo等完成管道的页面。即使在我阅读网页后,我仍然不确定如何匹配元素与元素之间的功能。
如何构建管道?
你怎么匹配帽子?
答案 0 :(得分:1)
如果您只想播放视频文件,则可以执行以下操作:
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的手册页以及各种文档:{{3}应该让你开始。