小白入门音视频第九天

1.RTSP协议

1.1 RTSP(Real Time Streaming Protocol)

        RTSPReal Time Streaming Protocol),RFC2326,实时流传输协议,是 TCP/IP 协议体系中的一个应用层协议,由哥伦比亚大学、网景和 RealNetworks 公司提交的 IETF RFC 标准。该协议定义了一对多应用程序如何有效地通过 IP 网络传送多媒体数据。

        RTSP 是用来控制声音或影像的多媒体串流协议,并允许同时多个串流需求控制,传输时所用的网络通讯协定并不在其定义的范围内,服务器端可以自行选择使用 TCP 或 UDP 来传送串流内容,它的语法和运作跟 HTTP 1.1 类似,但并不特别强调时间同步,所以比较能容忍网络延迟。而前面提到的允许同时多个串流需求控制(Multicast),除了可以降低服务器端的网络用量,更进而支持多方视讯会议(Video Conference)。RTSP 是用来控制声音或影像的多媒体串流协议,并允许同时多个串流需求控制,传输时所用的网络通讯协定并不在其定义的范围内,服务器端可以自行选择使用 TCP 或 UDP 来传送串流内容,它的语法和运作跟 HTTP 1.1 类似,但并不特别强调时间同步,所以比较能容忍网络延迟。而前面提到的允许同时多个串流需求控制(Multicast),除了可以降低服务器端的网络用量,更进而支持多方视讯会议(Video Conference)。

1.2 实时流媒体会话协议

  1. SDP(会话描述协议)Session Description Protoco;
  2. RTP(实时传输协议)Realtime Transfer Protocol;

媒体数据使用 RTP,RTSP协议。一般使用UDP作为传输层。

1.3 协议简介

        RTSP 是基于文本的协议,采用 ISO10646 字符集,使用 UTF-8 编码方案。RTSP 在体系结构上位于 RTP 和 RTCP 之上,它使用 TCP 或 UDP 完成数据传输。HTTP 与 RTSP 相比,HTTP 传送 HTML,而 RTSP 传送的是多媒体数据

        

        行以 CRLF 中断(即\r\n 也可表示为0X0A 0X0D),包括消息类型消息头消息体和消息长。但接收者本身可将 CR 和 LF 解释成行终止符。基于文本的协议使其以自描述方式增加可选参数更容易,接口中采用 SDP 作为描述语言。

        RTSP 是应用级协议,控制实时数据的发送。

        RTSP 提供了一个可扩展框架,使实时数据,如音频与视频的受控点播成为可能。数据源包括现场数据与存储在剪辑中数据。该协议目的在于控制多个数据发送连接,为选择发送通道,如 UDP、组播 UDP 与 TCP,提供途径,并为选择基于 RTP 上发送机制提供方法。

        RTSP 建立并控制一个或几个时间同步的连续流媒体与控制流交换是可能的,通常它本身并不发送连续流。换言之,RTSP充当多媒体服务器的网络远程控制 

        RTSP 连接没有绑定到传输层连接,如 TCP。在 RTSP 连接期间,RTSP 用户可打开或关闭多个对服务器的可传输连接以发出 RTSP 请求。此外,可使用无连接传输协议,如 UDP。

        RTSP 流控制的流可能用到 RTP,但 RTSP 操作并不依赖用于携带连续媒体的传输机制。

1.4 支持的操作

  1. 从媒体服务器上检索媒体:用户可通过 HTTP 或其它方法提交一个演示描述。如演示是组播,演示式就包含用于连续媒体的组播地址和端口。如演示仅通过单播发送给用户,用户为了安全应提供目的地址。
  2. 媒体服务器邀请进入会议:媒体服务器可被邀请参加正进行的会议,或回放媒体,或记录其中一部分,或全部。这种模式在分布式教育应用上很有用,会议中几方可轮流按远程控制按钮。 
  3. 将媒体加到现成讲座中:如服务器告诉用户可获得附加媒体内容,对现场讲座显得尤其有用。如 HTTP/1.1 中类似,RTSP 请求可由代理、通道与缓存处理

1.5 交互流程

        一般的交互流程如下图:

  

详细交互流程如下图:

  

1.6 实体

        作为请求或者回应的有效负荷传输的信息。由以实体标题域[头,head](entity-header field)形式存在的元信息和以实体主体[身体, body](entity body)形式存在的内容组成。

1.7 集合控制

      对多个流的同时控制。对音频/视频来讲,客户端仅需发送一条播放或者暂停消息就可同时控制音频流和视频流。  

1.8 RTSP会话    

        RTSP 交互的全过程(session)。

        对一个电影的观看过程,会话(session)包括由客户端建立媒体流传输机制(SETUP),使用播放(PLAY)或录制(RECORD)开始传送流,用停止(TEARDOWN)关闭流。

1.9 协议特点 

  1. 可扩展性:新方法和参数很容易加入 RTSP。

  2. 易解析:RTSP 可由标准 HTTP 或 MIME 解析器解析。    

  3. 安全:RTSP 使用网页安全机制。

  4. 独立于传输:RTSP 可使用不可靠数据报协议(EDP)、可靠数据报协议(RDP);如要实现应用级可靠,可使用可靠流协议。

  5. 多服务器支持:每个流可放在不同服务器上,用户端自动与不同服务器建立几个并发控制连接,媒体同步在传输层执行。

  6. 记录设备控制:协议可控制记录和回放设备。

  7. 流控与会议开始分离:仅要求会议初始化协议提供,或可用来创建唯一会议标识号。特殊情况下,可用 SIP 或 H.323 来邀请服务器入会。

  8. 适合专业应用:通过 SMPTE 时标,RTSP 支持帧级精度,允许远程数字编辑。

  9. 演示描述中立:协议没强加特殊演示或元文件,可传送所用格式类型;然而,演示描述至少必须包括一个 RTSP URL。

  10. 代理与防火墙友好:协议可由应用和传输层防火墙处理。防火墙需要理解 SETUP 方法,为

    UDP 媒体流打开一个“缺口”。

  11. 对HTTP 友好:此处,RTSP 明智地采用 HTTP 观念,使现在结构都可重用。结构包括 Internet 内容选择平台(PICS)。由于在大多数情况下控制连续媒体需要服务器状态,RTSP 不仅仅向HTFP 添加方法。

  12. 适当的服务器控制:如用户启动一个流,必须也可以停止一个流。

  13. 传输协调:实际处理连续媒体流前,用户可协调传输方法。

  14. 性能协调:如基本特征无效,必须有一些清理机制让用户决定哪种方法没生效。这允许用户提出适合的用户界面。

 1.10 协议格式

        RTSP 中所有的操作都是通过服务器和客户端的消息应答机制完成的,其中消息包括请求和应答两种,RTSP 是对称的协议,客户机和服务器都可以发送和回应请求。

        RTSP 是一个基于文本的协议,它使用 UTF -8 编码(RFC2279)和 ISO10646 字符序列,采用 RFC882 定义的通用消息格式,每个语句行由 CRLF 结束(\r\n)

RTSP 的消息包括请求和应答两类。

1.请求消息:请求消息由请求行、标题行中的各种标题域主体实体组成。请求行和标题行由 ASCⅡ字符组成。请求消息格式如下图所示:

  

        其中方法包括 OPTIONS、DESCRIBE、SETUP、PLAY、PAUSE、TEARDOWN 等。

        URL 是接接收方的地址,例如:rtsp://192.168.0.1/video.264。

        RTSP 版本一般都是 RTSP/1.0。

        每行后面的 CRLF 表示回车换行,需要接收端有相应的解析,最后一个消息头需要有两个 CRLF。

        消息体是可选的,有的请求消息并不带消息体

2.应答消息:

应答消息格式如下图所示:

  

1.11 常用命令

1.OPTION:

        目的是得到服务器提供的可用方法。

2.DESCRIBE:

        C向S发起DESCRIBE请求,为了得到会话描述信息(SDP)。

3.SETUP:

        客户端提醒服务器建立会话,并确定传输模式。

        SETUP 请求的作用是指明媒体流该以什么方式传输;每个流 PLAY 之前必须执行 SETUP 操作;发送 SETUP 请求时,客户端会指定两个端口,一个端口用于接收 RTP 数据;另一个端口接收 RTCP 数据偶数端口用来接收 RTP 数据相邻的奇数端口用于接收 RTCP 数据

4.PLAY:

        客户端发送播放请求。

5.TEARDOWN:

        客户端发起关闭请求。   

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

深蔚蓝i

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值