0

假设您有一个视频文件。
据我搜索,您首先需要知道它通过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

看到sinksrc。您现在找到了srcisvideo/x-raw所以您需要找到最终的接收器来输出显示的视频,例如xvimagesink.

我只是根据一个日文网页写这一切,我没有找到任何其他解释更多的网页(英文或日文)。

我想找到解释如何根据 mediainfo 等完成管道的页面。即使在阅读了网页之后,我仍然不确定如何将元素之间的功能匹配到元素。

你如何建立你的管道?
帽子怎么搭配?

4

1 回答 1

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 的手册页以及此处的各种文档:http: //cgit.freedesktop.org/gstreamer/ gstreamer/tree/docs应该可以帮助您入门。

于 2014-12-16T04:58:42.683 回答