1,RTP
RTP全称是Real-time Transport Protocol(实时传输协议),它是IETF提出的一个标准,对应的RFC文档为RFC3550。一般用其承载实时性要求很高的数据形成RTP包,在语音通信中,把PCM数据编码后得到的码流作为RTP的payload。下图是其包头结构。
2,RTCP
RTCP全称是Real-time Control Protocol(实时控制协议),它也是IETF提出的一个标准,对应的RFC文档为RFC3551,它的主要功能是:服务质量的监视与反馈、媒体间的同步。在RTP会话期间,各参与者周期性地(一般是5秒,应用层可以配)传送RTCP包,RTCP包中含有已发送的数据包的数量、丢失的数据包的数量、数据包到达的平均时间间隔等统计信息。
如下样例为SR包格式:
RTP(Real-time Transport Protocol)和RTCP(Real-time Transport Control Protocol)是用于实时传输音频和视频数据的协议。它们都有与时间相关的字段,但它们在用途和单位上有所不同。
-
NTP(Network Time Protocol)时间戳:NTP 时间戳用于在 RTCP 报文中表示发送者报告(Sender Report)和接收者报告(Receiver Report)中的时钟参考时间。NTP 时间戳使用 64 位的无符号整数来表示,其中前 32 位是秒部分,后 32 位是小数部分(精确到毫微秒级别),它基于协调世界时(Coordinated Universal Time,UTC)。
-
RTP 时间戳:RTP 时间戳用于在 RTP 报文中表示媒体数据的时间戳。RTP 时间戳使用 32 位的无符号整数来表示,它应该是一个递增的值,以对应于媒体数据流的时间序列。RTP 时间戳通常是以每秒的采样数为单位进行计算,并随着时间的推移递增。
RTP 时间戳的作用是在接收端根据时间戳来恢复媒体数据的时序关系,使音频和视频能够正确地进行播放。而 RTCP 报文中的 NTP 时间戳则用于帮助计算网络延迟、同步和抖动等统计信息。
总结起来,NTP 时间戳用于报告参考时间和计算统计信息,而 RTP 时间戳用于媒体数据的时序控制和同步。