RTSP协议和应用

本文详细介绍了RTSP(实时流协议)的工作原理、会话管理、消息格式以及RTSP与HTTP的区别。通过示例展示了RTSP在媒体流传输中的交互过程,包括DESCRIBE、SETUP、PLAY、PAUSE和TEARDOWN等方法。此外,还对比了基于TS和ISMA的RTSP传输方式,探讨了各自的特点和应用场景。
摘要由CSDN通过智能技术生成

近日研究沃看交通app中的实时播放交通监控中的视频,对RTSP不了解,看了点RTSP资料,整理在此 

RTSP协议

RTSPReal Time Streaming Protocol),实时流协议,该协议定义了一对多应用程序如何有效地通过IP网络传送多媒体数据。RTSP提供了一个可扩展框架,使受控、按需传输实时数据(如音频与视频)成为可能。

RTSP在体系结构上位于RTPRTCP之上,它使用TCPUDPRTP完成数据传输。

HTTPRTSP相比,HTTP传送HTML,而RTSP传送的是多媒体数据。HTTP请求由客户机发出,服务器作出响应;使用RTSP时,客户机和服务器都可以发出请求,即RTSP可以是双向的。

RTSP会话

RTSP通过与HTTP相似的方式来定义URLRTSP完整的URL定义如下:
      rtsp URL rtsp:” rtspu:” rtsps:” )
      //” host :” port abs path ]
      rtsp  使用可靠的底层传输协议,例如TCP
      rtspu 使用不可靠的底层传输协议,例如UDP
      rtsps 使用可靠加密传输协议,例如TCP TLS
      host  服务器的IP地址或主机名
      port  服务器的端口,该字段在忽略的情况下默认与服务器的554端口进行连接
      abs path 所申请实时流的地址
一个简单的示例如下:rtsp://172.16.12.40:554/vod/1234

RTSP通过以会话(Session)的方式描述一个连接的生命周期。

会话包括一次RTSP"事务"transaction)的全过程。比如,一个电影的观看过程。会话一般包括由客户端为连续媒体建立传输机制(SETUP),使用播放(PLAY)或录制(RECORD)开始传送流,用停止(TEARDOWN)关闭流。

RTSP消息格式

RTSP的消息有两大类,一是请求消息(request),一是回应消息(response)

请求消息:

方法 URI RTSP版本       CR LF

消息头 CR LF          CR LF          

消息体 CR LF

其中方法包括OPTION回应中所有的命令,URI是接受方的地址。

消息头包含一个或多个头部域,消息体为可选。

RTSP版本一般都是 RTSP/1.0.每行后面的CR LF表示回车换行,需要接受端有相应的解析,最后一个消息头需要有两个CR LF,其中一个CRLF(空行)用来表示表示头部域结束 

回应消息:

RTSP版本 状态码 解释      CR LF

消息头 CR LF          CR LF

消息体 CR LF

其中RTSP版本一般都是RTSP/1.0,状态码是一个数值,200表示成功,解释是与状态码对应的文本解释.

简单的RTSP交互过程

① C->S: OPTION request  //询问S有哪些方法可用

    S->C: OPTION response  //S回应信息中包括提供的所有可用方法

 

② C->S: DESCRIBE request //要求得到S提供的媒体初始化描述信息

    S->C: DESCRIBE response //S回应媒体初始化描述信息,主要是sdp

 

③ C->S: SETUP request //设置会话属性,以及传输模式,提醒S建立会话

    S->C: SETUP response  //S建立会话,返回会话标识符及会话相关信息

 

④ C->S: PLAY request  //C请求播放

    S->C: PLAY response  //S回应请求信息

    S->C: 发送流媒体数据

 

⑤ C->S: TEARDOWN request //C请求关闭会话

    S->C: TEARDOWN response  //S回应请求

上述的过程是标准的、友好的rtsp流程,但实际的需求中并不一定按部就班来。   其中第34步是必需的。第1步,只要服务器客户端约定好,有哪些方法可用,则option请求可以不要。第2步,如果我们有其他途径得到媒体初始化描述信息(比如http请求等等),则我们也不需要通过rtsp中的describe请求来完成。第5步,可以根据系统需求的设计来决定是否需要。

基于TSRTSP传输方式

TS是“Transport Stream”的缩写。在TS流里可以填入很多类型的数据,如视频、音频、自定义信息等。MPEG2-TS主要应用于实时传送的节目,比如实时广播的电视节目。MPEG2-TS格式的特点就是要求从视频流的任一片段开始都是可以独立解码的。 

RTSP协议中并没有定义传输实时流的方式。它通过与其它的传输机制配合,例如RTP,进行实时流传输。在RTSP中,我们可以在SETUP方法中设置一些参数,以选择是用TCP还是用UDP作为RTP的底层传输协议。 

方式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值