流媒体协议学习

主要流媒体协议一览

主要流媒体协议一览

名称

推出机构

传输层协议

客户端

目前使用领域

RTSP+RTP

IETF

TCP+UDP

VLC, WMP

IPTV

RTMP

Adobe Inc.

TCP

Flash

互联网直播

RTMFP

Adobe Inc.

UDP

Flash

互联网直播

MMS

Microsoft Inc.

TCP/UDP

WMP

互联网直播+点播

HTTP

WWW+IETF

TCP

Flash

互联网点播

RTSP+RTP经常用于IPTV领域。因为其采用UDP传输视音频,支持组播,效率较高。但其缺点是网络不好的情况下可能会丢包,影响视频观看质量。因而围绕IPTV的视频质量的研究还是挺多的。

因为互联网网络环境的不稳定性,RTSP+RTP较少用于互联网视音频传输。互联网视频服务通常采用TCP作为其流媒体的传输层协议,因而像RTMP,MMS,HTTP这类的协议广泛用于互联网视音频服务之中。这类协议不会发生丢包,因而保证了视频的质量,但是传输的效率会相对低一些。

下面我们来学习哈RTSP协议:

RTSP协议概述

RTSP(Real-TimeStream Protocol )是一种基于文本的应用层协议,在语法及一些消息参数等方面,RTSP协议与HTTP协议类似。

RTSP被用于建立的控制媒体流的传输,它为多媒体服务扮演“网络远程控制”的角色。尽管有时可以把RTSP控制信息和媒体数据流交织在一起传送,但一般情况RTSP本身并不用于转送媒体流数据。媒体数据的传送可通过RTP/RTCP等协议来完成。

一次基本的RTSP操作过程是:首先,客户端连接到流服务器并发送一个RTSP描述命令(DESCRIBE)。

                                    接着,流服务器通过一个SDP描述来进行反馈,反馈信息包括流数量、媒体类型等信息。

                                    然后,客户端再分析该SDP描述,并为会话中的每一个流发送一个RTSP建立命令(SETUP),RTSP建立命令告诉服务器客户端用于接收媒体数据的端          口                         

                                    流媒体连接建立完成后,客户端发送一个播放命令(PLAY),服务器就开始在UDP上传送媒体流(RTP包)到客户端。

                                   在播放过程中客户端还可以向服务器发送命令来控制快进、快退和暂停等。

                                   最后,客户端可发送一个终止命令(TERADOWN)来结束流媒体会话

RTSP协议与HTTP协议区别

1.  RTSP引入了几种新的方法,比如DESCRIBE、PLAY、SETUP 等,并且有不同的协议标识符,RTSP为rtsp 1.0,HTTP为http 1.1;

2.  HTTP是无状态的协议,而RTSP为每个会话保持状态;

3.  RTSP协议的客户端和服务器端都可以发送Request请求,而在HTTP协议中,只有客户端能发送Request请求。

4.  在RTSP协议中,载荷数据一般是通过带外方式来传送的(除了交织的情况),及通过RTP协议在不同的通道中来传送载荷数据。而HTTP协议的载荷数据都是通过带内方式传送的,比如请求的网页数据是在回应的消息体中携带的。

5.  使用ISO10646(UTF-8) 而不是ISO 8859-1,以配合当前HTML的国际化;

6.  RTSP使用URI请求时包含绝对URI。而由于历史原因造成的向后兼容性问题,HTTP/1.1只在请求中包含绝对路径,把主机名放入单独的标题域中;

RTSP重要术

1 集合控制

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

2 实体

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

3 容器文件

可以容纳多个媒体流的文件。RTSP服务器可以为这些容器文件提供集合控制。

4 RTSP会话

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

RTSP请求消息

 消息格式:

方法 URI RTSP版本       CR LF

       消息头 CRLF          CRLF         

       消息体 CR LF

其中方法包括OPIONS、DESCRIBE、SETUP、PLAY、TEARDOWN等,URI是接受方的地址,例如:rtsp://192.168.0.1/video1.3gp。

RTSP版本一般都是 RTSP/1.0。每行后面的CR LF表示回车换行,需要接受端有相应的解析,最后一个消息头需要有两个CR LF

消息体是可选的,有的Request消息并不带消息体。

RTSP回应消息

消息格式:

      RTSP版本状态码解释      CR LF

       消息头 CR LF          CR LF

       消息体 CR LF

其中RTSP版本一般都是RTSP/1.0,状态码是一个数值,用于表示Request消息的执行结果,比如200表示成功,

RTSP 重要方法








评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值