在任何流传输期间,为了在客户端处正确回放流,时间戳是必需的。我还见过某些协议在其报头中包含32位时间戳字段。但在此之前,必须同步交互客户端的时钟,否则其中一个时钟将滞后/超前于另一个,并且在数据包中发送的时间戳可能没有任何意义。时间同步通常使用时间服务器来完成,并且两个客户端都从该服务器提取时间并相应地设置它们的时钟。在视频聊天期间,例如通过Skype或Google聊天,客户端时钟实际上是同步的,还是使用不同的方法进行同步?因为,如果客户端使用时间服务器进行同步,则每次我与某人聊天时,系统时钟都必须更改。
发布于 2014-05-09 21:19:16
在任何流传输过程中,为了在客户端正确回放流,时间戳是必需的。
这是不准确的。为什么你会认为时间戳是必要的?只需在数据到达时播放数据即可。
发布于 2014-05-09 22:13:18
您需要为lipsync和jitter buffer添加时间戳,通常是相对于会话开始的时间戳。
将会话的开始保存为时间零。开始接收媒体数据包,并放入抖动缓冲区,屏幕上显示加载标志。当抖动缓冲区超过一定时间时,开始根据媒体包的时间戳播放媒体包。将有关抖动缓冲区状态的报告发送回服务器,因此,如果您的网络没有提供所需的速度,服务器可以跳过短时间的会话或减少数据量。
在RTP protocols中对此进行了详细描述
https://stackoverflow.com/questions/23536410
复制相似问题