frkang

博客园 首页 联系 订阅 管理

RTP:realtime transport protocol          实时传输协议      -   负责传输视频流数据;  

RTCP:realtime transport control protocol        实时传输控制协议  -  rtp的控制部分,用来保证服务质量;

RTSP:realtime transport streaming protocol           实时流传输协议   -  提供对流的远程控制,比如暂停,重新定位等; 

RTP 由 IETF(http://www.ietf.org/)定义在 RFC 3550和3551中,RTSP定义在RFC2326中。

RTP被定义为传输音频、视频、模拟数据等实时数据的传输协议,与传统的注重的高可靠的数据传输的运输层协议相比,它更加侧重的数据传输的实时性,此协议提供的服务包括数据顺序号、时间标记、传输控制等。RTP通常与辅助控制协议RTCP一起工作,RTP只负责实时数据的传输,RTCP负责对RTP的通信和会话进行带外管理(如流量控制、拥塞控制、会话源管理等)。  

RTP位于传输层(通常是UDP)之上,应用程序之下,实时语音、视频数据经过模数转换和压缩编码处理后,先送给RTP封装成为RTP数据单元,RTP数据单元被封装为UDP数据报,然后再向下递交给IP封装为IP数据包。RTP分组只包含RTP数据,而控制是由另一个配套协议RTCP提供。RTP在端口号1025到65535之间选择一个未使用的偶数UDP端口号,而在同一次会话中的RTCP则使用下一个奇数UDP端口号。RTP通常和RTCP一起工作,在RTP会话期间,各参与者周期的发送RTCP消息。RTCP消息含有已发送数据的丢包统计和网络拥塞等信息,服务器可以利用这些信息动态的改变传输速率,甚至改变净荷的类型。RTCP消息也被封装为UDP数据报进行传输。

RTP数据协议负责对流媒体数据进行封包并实现媒体流的实时传输,每一个RTP数据报都由头部(Header)和负载(Payload)两个部分组成,其中头部前12个字节的含义是固定的,而负载则可以是音频或者视频数据。   

V:2bits - 版本号,固定值为2;

P:1bit   - 填充位,在包尾是否包含一个8bits的填充字;

X:1bit   - 固定头部后面有一个扩展头部;扩展头部是在固定头部之后的4个字节,如下图所示,length用于指示后面还有多少个4字节的扩展数据,可以位0;profile是用户自定义标识。

   0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |      defined by profile       |           length              |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                        header extension                       |
   |                             ....                              |

CC:4bits - CSRC的个数

M: 1bit  - 标识

PT: 7bits - 编码类型。G711,H264等等。

sequence number:16bits - 每个RTP包都增加1,初始值随机。

timestamp:32bits  -    随机产生一个初始值,在初始值的基础上,每次递增固定的值(每秒25帧,那么每次递增的值应该是90000/25);

   NOTE:如果一个数据包需要分片传输时,可以通过设置相同的timestamp和每次递增的sequence number来区分,客户端可以重组相应的数据包;

SSRC: - 源  一个随机值,但相同源这个值不变;

 

     

 参考资料:

1、http://www.cppblog.com/czanyou/archive/2009/12/25/67940.html

2、http://www.chinavideo.org/forum.php?mod=viewthread&tid=7575&extra=&page=1

posted on 2013-09-30 09:54  frkang  阅读(447)  评论(0编辑  收藏  举报