gstreamer输入选择器无法为rtspsrc元素流式传输无间隙视频。

gstreamer输入选择器无法为rtspsrc元素流式传输无间隙视频。,gstreamer,Gstreamer,我有5个ip摄像机(都是rtspsrc元件)和一个音频src(rtspsrc) 所有5个ip摄像机均与输入选择器元件连接,并从一个摄像机切换到另一个摄像机 我的代码运行得非常好[1]: 但流媒体有一个缺陷。每当输入选择器在摄像机之间切换时,我会看到暂停1秒 查看我的流媒体视频url上的时间戳1min 12sec,该url使用的是从代码[1]生成的二进制文件: [2] 您将看到在该url上的1:12之后每隔5秒切换一次摄像头[2],但是,在切换摄像头时会暂停1秒 我尝试更改队列延迟/将队列替换为队

我有5个ip摄像机(都是rtspsrc元件)和一个音频src(rtspsrc)

所有5个ip摄像机均与输入选择器元件连接,并从一个摄像机切换到另一个摄像机

我的代码运行得非常好[1]:

但流媒体有一个缺陷。每当输入选择器在摄像机之间切换时,我会看到暂停1秒

查看我的流媒体视频url上的时间戳1min 12sec,该url使用的是从代码[1]生成的二进制文件:

[2]

您将看到在该url上的1:12之后每隔5秒切换一次摄像头[2],但是,在切换摄像头时会暂停1秒

我尝试更改队列延迟/将队列替换为队列2/使rtspsec延迟=0

但什么都帮不了我。我有点卡住了

有人能帮我吗


提前感谢。

代码中的移位元素是什么?也不要使用queue2,但输入选择器上的queue和sync mode=1可能会有所帮助。但总的来说,如果问题是输入选择器没有正确同步,并且已经转发了比此时的“当前”多1秒的数据,则必须检查1秒暂停的确切来源。或者,如果问题是缺少关键帧(请尝试在输入选择器之前解码以防止出现这种情况,或者尝试“缓存缓冲区”属性),或者…Shift[1]元素正在将ip摄像头视频缓冲区移动+550ms。它仅用于音频和视频之间的唇形同步。它不会产生任何额外延迟。Shift[1]元素将ip摄像头视频缓冲区移动+550ms。它仅用于音频和视频之间的唇形同步。它不会产生任何额外的延迟。我尝试使用queue2和sync mode=1,但没有帮助,我仍然看到1秒的暂停。我还尝试了输入选择器的缓存缓冲区属性,但仍然看到相同的问题。[1] 我的猜测是,输入选择器需要等待来自rtsp源的关键帧,并且它应该在该特定点更改rtspsrc,而它并没有这样做。如果我错了,请纠正我。这可能是input Selector中的一个错误,或者该错误是在