如何在 Gstreamer 中以文本格式获取由 playbin 创建的管道?

rub*_*uza 4 mpeg gstreamer mpeg2-ts playbin2

我正在使用以下管道播放传输流文件 (*.ts):

gst-launch-0.10 playbin2 uri=file:///c:/bbb.ts
Run Code Online (Sandbox Code Playgroud)

但我需要自己将其转换为管道。我不确定如何实现这一目标。

到目前为止,我已经尝试过:(工作正常)

gst-launch-0.10 -v filesrc location=c:/bbb.ts ! tsdemux ! audio/x-ac3 ! fakesink
Run Code Online (Sandbox Code Playgroud)

但是,如果我用 autoaudiosink 替换 fakesink,它会因未链接错误而失败。

甚至 fakesink 也不适用于视频:

gst-launch-0.10 -v filesrc location=c:/bbb.ts ! tsdemux ! video/x-mpeg2 ! fakesink
Run Code Online (Sandbox Code Playgroud)

所以我有两个问题:

  1. 如何找出由 playbin 元素创建的管道。
  2. 如何使用 gstreamer 管道播放 mpeg2-ts 文件。

use*_*142 5

回答问题 1 -

有一种方法可以获取在basic tutorial-11 的文档中提到的创建的管道图。

页面简介

获取管道图

对于那些管道开始变得太大并且您无法跟踪什么与什么相关联的情况,GStreamer 具有输出图形文件的能力。这些是 .dot 文件,可以使用GraphViz等免费程序读取,这些文件描述了管道的拓扑结构,以及每个链接中协商的上限。

这在使用playbin2uridecodebin等多合一元素时也非常方便,它们在其中实例化了几个元素

我希望这能解决你想要的