应用程序包含两个管道:
发送管道
filesrc ! decodebin ! encoder ! payloader ! udpsink
接收管道
udpsrc ! rtpbin ! depayloader ! decoder ! encoder ! filesink
想要的行为是发送管道播放文件,当完成后,播放另一个文件并开始录制。
实际行为各不相同。有些方法是录制从第一次播放开始的同一时间开始。我认为这是因为管道共享相同的GSocket,以使其完全可用。因此,必须缓冲进入套接字的数据 其他方法导致录制开始之前的几帧,然后在录制开始后跳转到,导致画面混乱(没有关键帧的i帧)。
我尝试了几种不同的方法来尝试让录音在合适的时间开始:
如果有任何帮助,我将非常感激!
答案 0 :(得分:0)
同时启动两个管道并让一个阀门元素丢弃所有内容,直到第二个文件开始播放
这实际上有效。我遇到的问题是没有发送图片快速更新,并且下一个关键帧需要一段时间才能自动到达。