rtsp、rtp tcp和udp链接方式区别

1、工作方式的差异

通常来说,RTSP提供UDP方式发送RTP流。当然,发送流媒体时,UDP往往是更好的选择。但是,在互联网上使用UDP方式发送流是不可能的。
 
下面是使用UDP时的一些问题:
1. UDP协议上的RTSP/RTP需要打开许多UDP端口(每一路流媒体都需要2个UDP端口,一个用于接收数据,一个用于接收控制信息);
2.当因特网上的路由器没有打开这些端口的时候,上述第一点将会存在问题;
3. 中间网络路由器很容易就过滤或者忽略掉UDP数据包;
4. UDP是不可靠传输协议,媒体包在因特网上传输时会面临着丢包。
 
但是我们如果在TCP传输协议上承载RTSP/RTP将解决这些问题。
1. RTSP/RTP的控制命令和数据都通过一个端口,即RTSP的端口(默认为554),进行交互。
2. TCP协议提供可靠的流传输。
3. TCP包更容易穿透中间网络路由器。
 
但是,使用TCP传输协议承载RTSP/RTP需要花更多的功夫。
 
1. 由于二元交织,会使得RTP包封包和解包的过程变得更加复杂。
2. TCP是可靠的传输协议,但正是因为如此,会导致在实时流媒体中的延时。

2、rtsp指令交互差异

与UDP rtsp指令集相比,TCP指令集在setup指令上存在差异:


SETUP rtsp://192.168.100.123:554/mpeg4cif/track1 RTSP/1.0
CSeq: 4
User-Agent: LibVLC/2.2.4 (LIVE555 Streaming Media v2016.02.22)
Transport: RTP/AVP/TCP;unicast;interleaved=0-1
#ps:指定是有tcp模式,使用偶数信道作为数据传输(rtp)信道,使用奇数信通道(rtcp)作为控制信道(数据信道 + 1)。所以,如果你设定数据信道为 0 ,那控制信道应该是 0 + 1 = 1。


RTSP/1.0 200 OK
CSeq: 4
Date: Mon, Mar 06 2017 02:56:22 GMT
Transport: RTP/AVP/TCP;unicast;destination=192.168.100.145;source=192.168.100.123;interleaved=0-1
Session: 425EC42F

3、rtp数据接收差异

使用udp 接收数据时不需要对数据做rtp包解包处理,使用tcp接收数据时,由于rtp,rtcp,rtsp都在同一端口上,用户需要做tcp解包处理。

RTP数据将通过用来发送RTSP命令的TCP Socket进行发送。RTP数据将以如下格式进行封装:

| 标识符 | 信道 |数据长度 | 数据 |

RTP数据标识符,"$" (0x24)
信道数字 - 1个字节,用来指示信道(0x00 一般代表rtp数据, 0x01 一般代表rtsp数据)
数据长度 - 2个字节,用来指示插入数据长度
数据 - 数据包,比如说RTP包,总长度与上面的数据长度相同

  • 5
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
RTSP(Real-Time Streaming Protocol)是一种用于控制实时流媒体传输的协议,而RTP(Real-time Transport Protocol)则是一种用于在IP网络上传输实时多媒体数据的协议。HDCP(High-bandwidth Digital Content Protection)是一种用于保护数字内容传输的加密协议。 RTSP通常使用UDP作为传输层协议,适用于IPTV场景,可以传输MP2T/TCP、MP2T/RTP/TCP单播流。而RTP则是建立在UDP协议上的,用于为IP网络上的实时多媒体数据提供端到端的实时传输服务。RTP为实时传输提供时间信息和流同步,但并不保证服务质量,服务质量由RTCP(Real-time Transport Control Protocol)来提供。 为什么要搭配这些协议呢?因为实时语音、视频数据经过模数转换和压缩编码处理后,需要通过RTP封装成RTP数据单元,再封装为UDP数据报,最后才能传输到IP网络中。RTSP作为控制协议,用于控制流媒体的播放、暂停、快进等操作。而HDCP则是用于保护数字内容传输的加密协议,确保内容在传输过程中不被非法拷贝或窃取。 综上所述,RTSPRTP和HDCP是在实时流媒体传输中起到不同作用的协议。RTSP用于控制流媒体的传输,RTP用于实时传输多媒体数据,而HDCP用于保护数字内容的传输安全。 #### 引用[.reference_title] - *1* [RTSPRTP、RTCP、RTMP区别](https://blog.csdn.net/johnWcheung/article/details/124674125)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [RTP/RTSP/RTCP 协议详解](https://blog.csdn.net/ShinichR/article/details/24111401)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值