概述
RTP、RTCP、RTSP 是学习、开发实时流媒体无法绕过的技术点,即便是选择使用RTMP,依然是基于RTP传输实时音视频流的基础上的,所以如果你想了解、学习、开发实时流媒体相关的内容,它们是必需搞懂的知识点,很庆幸的是本文将详细介绍它们,带你很快了解它们,本文详细介绍了它们是什么以及它们之间的关系,本文无示例代码
什么是RTP?
RTP全称:实时传输协议(Real-time Transport Protocol),是一个网络传输协议,RTP协议详细说明了在网络中传输音频和视频的标准数据包格式,可以简单理解为对原始音视频数据进行封包,然后通过网络发送出去,默认使用UDP发出(低延时),当然也可以使用TCP(不考虑延时的情况下)。一句话RTP用于传输实时流媒体数据,RTP大多是基于UDP协议传输的
什么是RTCP?
RTCP全称:实时传输控制协议(Real-time Transport Control Protocol),是一个网络控制协议,是实时传输协议(RTP)的一个姐妹协议,仅仅是控制部分的传输协议,并不传输实时流媒体数据,实时流媒体数据的传输大多使用RTP协议,和RTP配合使用,用于反馈实时流媒体传输过程中的质量(延时、丢包等情况),以便综合优化实时流媒体的传输播放体验(延时、丢包等错误率高时降低实时流媒体码率等),一句话RTCP用于控制实时流媒体的质量,RTCP大多是基于UDP协议传输的
什么是RTSP?
RTSP全称:实时流传输协议(Real time Streaming Protocol),是一个网络控制协议,用于实时网络流媒体传输时的控制部分(play、pause、stop 等),和RTCP一样 RTSP也仅仅是控制部分的传输协议,并不传输实时流媒体数据,实时流媒体数据的传输大多使用RTP协议,RTSP需要和RTP、RTCP配合使用。一句话RTSP用于控制实时流媒体的播放,RTSP是基于TCP协议传输的
它们仨什么关系?
- RTP和RTCP为姐妹协议,通常情况下RTP使用一个 偶数
UDP port
,而RTCP则使用RTP的下一个port,也就是一个奇数port - RTP用于传输实时流媒体数据
- RTCP用于控制实时流媒体的质量,
- RTSP为控制RTP传输的协议(暂停发包、开始发包、结束发包等),即控制实时流媒体的播放
- RTP可以单独工作(它传输实际播放数据),也可以搭配RTCP、RTSP工作
- RTCP、RTSP不能单独工作(它俩不传输实际播放数据),RTSP需要和RTP、RTCP配合使用
网友评论