http://www.yanhuangzixun.com/。
RTP数据包允许为每个源(比如影片播放的音频流、视频流)分配一个独立的RTP分组流,但很多流行的编码技术在编码过程中,倾向于将音频和视频流捆绑在单个流中。这样,这一组音频流和视频流就只产生一个RTP流。
RTP数据包首部字段包括有效载荷类型、序号、时间戳和源标识符,中有效载荷字段长度为7bit,指示音频或视频流的编码类型,比如音频PCM、自适应增量调制等,视频MPEG1、MPEG2等。如果发送方在会话过程中决定改变编码方式,可以通过有效载荷类型字段把这种变化通知给接收方。表6-1给出了RTP支持的一些音视频有效载荷类型。
数据包序号字段长度为16bit,是指RTP分组的编号。每发送一个RTP分组则该序号增加1,而且接收方可以利用这个字段来检测丢包和恢复分组序列。比如接收方收到了序号为100和103的RTP分组,而没有收到序号为101和102的,就知道这两个分组在传输中丢失了,会设法隐藏或恢
复这两个丢失的分组,保证播放损失最小。
时间戳字段长度为32bit,它反映了RTP数据包分组中的第一个字节的采样时刻。这个时刻是该分组的时间基准点,接收方能够通过它来去除传输过程中产生的时延抖动,从而保证播放同步。
同步源标识符(SSRC)字段长度为32bit,用来标识RTP流的源。这个标识符不是IP地址或者CNAME,而是当流开始的时候随机分配的一个数。通常,一个RTP会话中的每个流都有一个不同的SSRC,而接收端可以通过这个标识符来鉴定数据是来自哪个源。