FFmpeg入门详解之110:RTSP协议讲解
发布网友
发布时间:2024-10-03 12:05
我来回答
共1个回答
热心网友
时间:2024-10-20 07:13
RTSP(实时流传输协议),RFC2326,是一种TCP/IP协议体系中的应用层协议,由哥伦比亚大学、网景和RealNetworks公司共同提交的IETF RFC标准。它定义了一对多应用程序如何通过IP网络有效传输多媒体数据。
RTSP在体系结构上位于RTP和RTCP之上,使用TCP或UDP进行数据传输。与HTTP相比,HTTP请求由客户端发出,服务器响应;而RTSP允许客户端和服务器双向发出请求。
RTSP主要用于控制声音或影像的多媒体串流,支持同时控制多个串流需求。它并不特别强调时间同步,因此更能容忍网络延迟。RTSP的语法和运作与HTTP 1.1类似,但更注重网络延迟的容忍和多方视频会议的支持。
RTSP与HTTP1.1类似,代理服务器的缓存功能也适用于RTSP。RTSP具有重新定向功能,可根据实际负载情况转换提供服务的服务器,避免负载集中于同一服务器而造成延迟。
RTSP协议支持实时流媒体会话,如SDP(会话描述协议)和RTP(实时传输协议)。音视频流使用RTP和RTCP协议,一般使用UDP作为传输层。RTSP适合IPTV场景,数据源包括现场数据和存储在文件中的数据。
RTSP的目的在于控制多个数据发送连接,为选择发送通道(如UDP、多播UDP和TCP)提供途径,并为选择基于RTP的发送机制提供方法。RTSP建立并控制一个或多个时间同步的连续流媒体,充当多媒体服务器的网络远程控制。
RTSP连接没有绑定到传输层连接,如TCP。在RTSP连接期间,RTSP用户可以打开或关闭多个对服务器的可传输连接以发出RTSP请求。此外,可以使用无连接传输协议,如UDP。
RTSP流控制的流可能用到RTP,但RTSP操作并不依赖用于携带连续媒体的传输机制。RTSP支持的操作包括从媒体服务器上检索媒体、邀请媒体服务器进入会议、将媒体添加到现有讲座中等。
RTSP是一个基于文本的协议,采用ISO10646字符集,使用UTF-8编码方案。每个语句行由CRLF结束。RTSP的消息包括请求和应答两种,是对称的协议,客户机和服务器都可以发送和回应请求。
RTSP的请求和应答消息格式包括请求行、标题行中的各种标题域和主体实体。请求消息包括OPTIONS、DESCRIBE、SETUP、PLAY、PAUSE、TEARDOWN等方法。
RTSP消息交互过程包括查询服务器可用方法、得到媒体描述信息、建立RTSP会话、请求开始传输数据、数据传送播放中和关闭会话退出等步骤。