我试图了解rtp中的时间戳以及一些时间同步协议(如ntp )如何能够同步媒体流。根据我的理解,我画了这幅画。如果我错了,请纠正我。
在这里,这些设备中的时钟是同步的,rtp数据包是用时间戳10创建的。但是由于网络传输延迟,数据包达到11,但时间戳仍然是10。如何在rtp中处理这种情况以实现适当的同步,还是由应用程序来处理这种情况?
发布于 2018-04-25 06:18:37
在处理传入(UDP) RTP流时,接收到的RTP数据包在被处理之前将被缓冲。这是为了允许抖动等等。根据所使用的网络拓扑,此缓冲周期通常在50到300毫秒之间。
如果缓冲时间在运行时是可调的,则可以使用此缓冲周期通过ear同步这两个流。当两个流不同步时,调整其中一个流的缓冲时间(延迟),直到它们处于同步状态。
如果不希望或不能通过ear调整缓冲周期,则应该使用RTCP (RFC 3550)来同步这两个流。不能只使用RTP数据包中的时间戳值。
我认为在RTP上使用常见问题的本网站可能会有所帮助。
https://stackoverflow.com/questions/49978957
相似问题