直播协议:RTSP、RTP、RTCP、RTMP、HLS

流媒体传输通常使用UDP协议的RTP/RTCP进行实时数据传输,因为UDP注重速度而TCP注重可靠性。RTSP用于控制流媒体,结合UDP或TCP。RTMP基于TCP,适合低延迟应用。HLS是基于HTTP的点播协议,适用于直播和点播,能适应不同带宽条件,但延迟较高。
摘要由CSDN通过智能技术生成

流媒体传输一般采用HTTP/TCP(RTCP)协议来传输控制信息,而用UDP(RTP)协议来传输实时媒体数据(TCP开销相对较大,所以不太适合传输实时数据)。

流媒体传输一般都是采用建立在UDP协议上的RTP/RTSP等实时传输协议。为何要在UDP而不在TCP上进行实时数据的传输呢?因为两者在数据传输的速度和可靠性方面有很大的区别。TCP协议中包含了专门的数据传送校验机制,当数据接收方收到数据后,会自动向发送方发出确认信息,发送方在接收到该确认信息后,才会继续传送数据,否则将一直处于等待状态;而UDP协议则不同,UDP协议本身并不做任何数据传输校验。由此可以看出:TCP协议注重传输质量,而UDP协议则注重传输速度。因此,对于那些对传输质量要求不是很高,而对传输速度有很高要求的流媒体文件来说,采用UDP协议传输更为合适。


RTSP:发起/终结流媒体,RTSP传输一般使用UDP,信令交互采用TCP,协议基于TCP;RTSP可以对流媒体提供诸如播放、暂停、快进等操作,它负责定义具体的控制消息、操作方法、状态码等,此外还描述了与RTP间的交互操作(RFC2326)。
RTP:基于UDP传输流媒体数据;当应用程序开始一个RTP会话时,将开启两个端口:一个给RTP,一个给RTCP。
RTCP:基于UDP对RTP传输数据提供流量控制和拥塞控制服务。(丢包、延迟、拥塞、流量)为RTP所提供的服务质量(Quality of Service)提供反馈。
RTMP:基于TCP的一个协议族,用来进行实时数据通信的网络协议,解决多媒体数据传输流的多路复用(Multiplexing)和分包(packetizing)的问题,优势在于低延迟,稳定性高

HLS:HTTP Live Streaming是基于HTTP的流媒体传输协议,可实现流媒体的直播和点播,HLS点播,就是常见的分段HTTP点播,不同在于,它的分段非常小。相对于常见的流媒体直播协议,例如RTMP协议、RTSP协议、MMS协议等,HLS直播最大的不同在于,直播客户端获取到的,并不是一个完整的数据流。HLS协议在服务器端将直播数据流存储为连续的、很短时长的媒体文件(MPEG-TS格式),而客户端则不断的下载并播放这些小文件,因为服务器端总是会将最新的直播数据生成新的小文件,这样客户端只要不停的按顺序播放从服务器获取到的文件,就实现了直播。由此可见,基本上可以认为,HLS是以点播的技术方式来实现直播。由于数据通过HTTP协议传输,所以完全不用考虑防火墙或者代理的问题,而且分段文件的时长很短,客户端可以很快的选择和切换码率,以适应不同带宽条件下的播放。不过HLS的这种技术特点,决定了它的延迟一般总是会高于普通的流媒体直播协议。

 RTSP、RTP、RTCP、RTMP区别_rtp和rtsp_道系 青年的博客-CSDN博客
 流媒体协议介绍(rtp/rtcp/rtsp/rtmp/mms/hls)_流媒体传输协议有哪些_雪影的博客-CSDN博客

在这里插入图片描述

承载RTSP的协议为TCP,其主要交互过程如下图所示:

流媒体协议之RTSP详解_rtsp推流_^一二三^的博客-CSDN博客

rtsp tcp

rtp/avp

 rtp/avp/tcp

 

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值