2012-08-22 72 views

回答

2

取决于您的同步意味着什么,您的来源是什么以及您的管道是什么。如果两者都从不同来源获取数据,除非源以某种形式同步,那么通过同步两条管道就意味着什么没有意义。

如果您只想要彼此锁定一步,而不考虑他们的偏移量是什么,只要你有一个基于时钟的流水线,他们仍然如此。 [说你从两个USB相机捕捉]。只要系统足够快以实时运行2条管道,它们将保持实时。

如果您只是想将两个并排显示而不考虑它们之间的初始偏移量,请使用视频混合器并将它们并排放置。它会自动确保两者同步,因为视频会彼此锁定一步移动

如果您希望它们在时间戳的基础上同步,那么您必须使用RTSP。将来自两个管道的输出发送到gstrtpbin,并从单个gstrtpbin发送同步流。这是微不足道的。

+0

好的。我有2个不同的视频源。 –

+0

我不能使用视频混合器,因为我想单独控制两个视频,也就是说,如果我暂停一个视频,其他视频仍应运行。我在这里同步的意思是1)两个视频的开始时间应该相同2)还需要检查两个视频的播放速率应始终保持相同。对不起在我的问题 –

+0

没有通知这些,所以你的第二段似乎回答了我的问题。但是,我怎么能同时开始播放视频。在目前的情况下,有一个小的延迟,我需要摆脱它。目前我的代码是这样self.pipeline.set_state(gst.STATE_PLAYING); self.pipeline1.set_state(gst.STATE_PLAYING)。 我如何确保视频的播放速率始终如一?我应该使用线程吗? –