流媒体协议--7:RTP、RTCP、RTSP之间关系

"本文转载自:[Kael_Zhang的安卓笔记]的 RTP、RTCP、RTSP详解一 概述"

1.概述

  流媒体协议中,RTP、RTCP这两个协议一般是成对出现,而他们与RTSP协同工作。RTP负责多媒体的传输,RTCP配合RTP做控制和流量统计, RTSP负责建立和控制会话,下图更直观的的描述了三者的关系:

image.png

2.RTP

  RTP全称:实时传输协议(Real-time Transport Protocol),是一个网络传输协议,RTP协议详细说明了在网络中传输音频和视频的标准数据包格式,可以简单理解为对原始音视频数据进行封包,然后通过网络发送出去,默认使用UDP发出(低延时),当然也可以使用TCP(不考虑延时的情况下)。一句话RTP用于传输实时流媒体数据,RTP大多是基于UDP协议传输的。

3.RTCP

  RTCP全称:实时传输控制协议(Real-time Transport Control Protocol),是一个网络控制协议,是实时传输协议(RTP)的一个姐妹协议,仅仅是控制部分的传输协议,并不传输实时流媒体数据,实时流媒体数据的传输大多使用RTP协议,和RTP配合使用,用于反馈实时流媒体传输过程中的质量(延时、丢包等情况),以便综合优化实时流媒体的传输播放体验(延时、丢包等错误率高时降低实时流媒体码率等),一句话RTCP用于控制实时流媒体的质量,RTCP大多是基于UDP协议传输的。

4.RTSP

  RTSP全称:实时流传输协议(Real time Streaming Protocol),是一个网络控制协议,用于实时网络流媒体传输时的控制部分(play、pause、stop 等),和RTCP一样 RTSP也仅仅是控制部分的传输协议,并不传输实时流媒体数据,实时流媒体数据的传输大多使用RTP协议,RTSP需要和RTP、RTCP配合使用。一句话RTSP用于控制实时流媒体的播放,RTSP是基于TCP协议传输的。

5.三者之间的关系

  • RTP和RTCP为姐妹协议,通常情况下RTP使用一个 偶数UDP port ,而RTCP则使用RTP的下一个port,也就是一个奇数port。

  • RTP用于传输实时流媒体数据。

  • RTCP用于控制实时流媒体的质量。

  • RTSP为控制RTP传输的协议(暂停发包、开始发包、结束发包等),即控制实时流媒体的播放。

  • RTP可以单独工作(它传输实际播放数据),也可以搭配RTCP、RTSP工作。

  • RTCP、RTSP不能单独工作(它俩不传输实际播放数据),RTSP需要和RTP、RTCP配合使用。

image.png

6.参考资料

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容