RTSP实时流协议与RTMP协议的定义及区别

发布时间 2023-10-30 09:56:22作者: 美2960

RTSP(Real Time Streaming Protocol)和RTMP(Real-Time Message Protocol)都是用于直播的协议,但它们在定义和功能上有一些区别。

RTSP是一种实时流协议,它位于RTP和RTCP之上,使用TCP或UDP完成数据传输。RTSP的主要作用是控制声音或影像的多媒体串流协议,并允许同时多个串流需求控制,但并不特别强调时间同步,因此比较能容忍网络延迟。RTSP可以控制多个数据发送连接,为选择发送通道,如UDP、组播UDP与TCP,提供途径,并为选择基于RTP上发送机制提供方法。RTSP建立并控制一个或几个时间同步的连续流媒体。

 

 

RTMP协议则是由Adobe公司提出的一种应用层的协议,用于解决多媒体数据传输流的多路复用(Multiplexing)和分包(packetizing)的问题。RTMP协议一般传输的是flv,f4v格式流,RTMP在一个通道上传输命令和数据。 RTMP协议是应用层协议,是要靠底层可靠的传输层协议(通常是TCP)来保证信息传输的可靠性的。

在功能上,RTMP主要用来控制具有实时特性的数据的发送,但其本身并不用于传送流媒体数据,而必须依赖下层传输协议(如RTP/RTCP)所提供的服务来完成流媒体数据的传送。RTMP负责定义具体的控制信息、操作方法、状态码,以及描述与RTP之间的交互操作。RTMP媒体服务协议框架如下:image.png   RTSP传输的一般是TS、MP4格式的流,其传输一般需要2~3个通道,命令和数据通道分离。使用RTSP协议传输流媒体数据需要有专门的媒体播放器和媒体服务器,也就是需要支持RTSP协议的客户端和服务器。

RTMP的另一个重要特点是它是在一个通道上同时传输音频和视频数据以及其他通信协议。这使得RTMP可以更有效地管理多路复用和分包传输,从而提高了数据传输的效率和可靠性。

总之,RTSP和RTMP都是直播中常用的协议,它们在定义、功能和实现方式上有所不同。RTSP是一种实时流协议,主要用于控制多媒体数据的实时传输;而RTMP是一种应用层协议,主要用来控制具有实时特性的数据的发送,并可同时传输音频和视频数据。

畅联平台同时支持这两种视频流协议,如何从畅联平台【http://meichang.cc/】获取这两种视频流协议地址我会专门写一篇文章讲述。