流式传输期间客户端同步

时间:2014-05-08 08:20:29

标签: synchronization streaming video-streaming audio-streaming rtp

在任何流式传输期间,为了在客户端正确播放流,需要时间戳。我还看到了某些协议,包括标头中的32位时间戳字段。但在此之前,交互客户端的时钟必须同步,否则其中一个时钟将滞后/引导另一个时钟,并且数据包中发送的时间戳可能根本没有任何意义。时间同步通常使用时间服务器完成,并且两个客户端都从该服务器抽取时间并相应地设置它们的时钟。在视频聊天期间,例如通过Skype或Google聊天,客户端时钟实际上是同步还是使用不同的方法同步?因为,如果使用时间服务器同步客户端,则每次与某人聊天时系统时钟都必须更改。

2 个答案:

答案 0 :(得分:0)

  

在任何流媒体播放过程中,为了在客户端正确播放流,需要一个时间戳。

这不准确。为什么你认为时间戳是必要的?只需在数据到达时回放数据。

答案 1 :(得分:0)

您需要为lipsync和jitter缓冲区设置时间戳,通常是相对于会话开始的时间戳。

将会话的开始时间保存为零。开始接收媒体数据包并放入抖动缓冲区,在屏幕上显示加载标志。当抖动缓冲区覆盖某个时间跨度时,根据其时间戳开始播放媒体数据包。将报告发送回服务器有关您的抖动缓冲区状态,因此如果您的网络未提供所需的速度,则服务器可以跳过会话的短期或减少数据量。

RTP protocols

中有详细描述