大家好我想知道如何在不改变状态的情况下在管道中的不同来源之间切换,例如,如果我有:
filesrc location=file1 ! decodebin ! autovideosink
filesrc location=file2 ! decodebin ! autovideosink
filesrc location=file3 ! decodebin ! autovideosink
我想完成像电视频道切换这样的事情。是否可以动态更改位置属性?我一遍又一遍地搜索并没有发现任何具体内容。如果你能指出一些代码示例C
或python
,我将不胜感激。
答案 0 :(得分:1)
你不能动态更改filesrc位置,或者你可以改变你的逻辑,而不是filesrc使用fdsrc并编写一个单独的应用程序,从file1读取数据并泵到fdsrc的fd。所以当你想从file1切换到file2 / file3时,你只需要告诉你的应用程序开始从file2 / file3中抽取数据。
希望有所帮助!
答案 1 :(得分:1)
IMO你最好的选择就是杀死旧流程并启动一个新流程。
在多种文件集的长期运行场景中,您可以依靠各种各样的GStreamer元素来可靠地清理自己。