【发布时间】:2021-01-25 15:44:12
【问题描述】:
谁能指出我可以同步实时视频和音频流的正确方向?
我知道这听起来很简单,但这是我的问题:
- 我们有 2 台计算机通过多个网络(最远可达数百英里)向一台计算机流式传输。
- 所有三台计算机的系统时钟都使用 NTP 同步
- 视频计算机收集视频并将 UDP 流式传输到显示计算机
- 音频计算机收集音频并流式传输到显示计算机
有一个接受音频流的应用程序。这个应用程序做了两件事(通过扬声器播放音频并将网络延迟信息发送到我的应用程序)。我对他们流式传输音频的方法没有特权。
我的应用程序显示视频和其他两个任务(我还没有弄清楚如何去做)。 - 我需要能够确定视频流上的网络延迟(理想情况下,最好在来自视频计算机的视频流上有一个与该系统时钟相关的时间戳,这样我就可以将该时间戳与我自己的时间戳进行比较系统时钟)。 - 我还需要延迟视频显示以使其与音频同步。
我发现的所有内容都假设音频和视频是从同一台计算机流式传输的,或者音频流是由 gstreamer 完成的,因此我可以使用一些同步功能。我对实际的音频流没有特权。我只知道音频延迟到达那里的时间(网络延迟)。
所以间歇性地,我得到一个数字作为音频的网络延迟(例如:250 毫秒)。我需要能够确定我自己的视频网络延迟(我还不知道该怎么做)。然后我需要比较一下,看看音频延迟是否大于视频网络延迟。假设视频是 100 毫秒……那么我需要将视频显示延迟 150 毫秒(我也不知道该怎么做)。
任何帮助表示赞赏。我试图在这个设计中找到其他人留下的地方,所以我很难弄清楚这一点并继续前进。也在 Python 中完成......这进一步限制了我能够找到的信息。谢谢。
斯科特
【问题讨论】:
标签: python video udp gstreamer ntp