如何在Gstreamer中获得playbin创建的管道?

如何在Gstreamer中获得playbin创建的管道?,gstreamer,pipeline,gst-launch,Gstreamer,Pipeline,Gst Launch,我正在创建一个使用playbin2创建管道的播放器。 在我的代码中,我使用以下行创建管道 pipeline=gst\u parse\u启动(“playbin2”&错误) 所以管道将被创建,玩家正在工作。现在我希望更改创建的管道。Gstreamer中是否有api帮助查看和编辑使用playbin2创建的管道 我还希望打印使用gst\u parse\u launch创建的管道。如何使用从gst\u parse\u launch返回的GstElement打印管道?我认为不可能更改playbin创建的管道

我正在创建一个使用playbin2创建管道的播放器。 在我的代码中,我使用以下行创建管道

pipeline=gst\u parse\u启动(“playbin2”&错误)

所以管道将被创建,玩家正在工作。现在我希望更改创建的管道。Gstreamer中是否有api帮助查看和编辑使用playbin2创建的管道


我还希望打印使用
gst\u parse\u launch
创建的管道。如何使用从
gst\u parse\u launch
返回的
GstElement
打印管道?

我认为不可能更改playbin创建的管道,它有内部代码自动管理此管道,手动修改将导致意外结果。不过,您可以使用给定的属性和信号来更新它

您可以使用
gst\u bin\u iterate\u elements
gst\u bin\u iterate\u recurse
迭代管道中的元素以打印它们。也可以使用创建.dot文件。点文件是管道的图形表示,可以使用点应用程序将其转换为图像。通过这种方式,您可以将整个管道绘制成易于理解的图像

很难给你进一步的建议,因为我不知道你试图通过改变playbin2的管道来做什么,你可以尝试查看较低级别的元素,如uridecodebin或decodebin2,并查看自动拖拽信号来控制这些元素自动添加的内容。IIRC这也可以从playbin2的级别完成

似乎您仍在使用gstreamer 0.10,它已不再开发。如果您没有理由坚持使用0.10,请继续使用1.0