rtp中的媒体如何同步?

how media in rtp is synchronized?

我试图了解 rtp 中的时间戳以及一些时间同步协议(如 ntp)如何同步媒体流。根据我的理解,我画了这个。如有不妥请指正

这些设备中的时钟是同步的,并且创建的 rtp 数据包的时间戳为 10。但由于网络传输延迟,数据包到达 11,但时间戳仍为 10。如何在 rtp 中正确处理这种情况同步还是正在处理这种情况的应用程序?

处理传入 (UDP) RTP 流时,接收到的 RTP 数据包将在处理之前进行缓冲。这是为了允许抖动等。此缓冲期通常在 50 到 300 毫秒之间,具体取决于所使用的网络拓扑。

如果缓冲时间在运行时可调,您可以使用这个缓冲时间来同步两个流。当两个流不同步时,调整其中一个流的缓冲时间(延迟),直到它们出现同步。

如果您不想或不能通过耳朵调整缓冲时间,您应该使用 RTCP (RFC 3550) 来同步两个流。您不能只使用 RTP 数据包中的时间戳值。

我认为 this website 关于 RTP 的常见问题解答会有所帮助。