首页 > 代码库 > 视频点播原理

视频点播原理

【摘要】视频点播是二十世纪90年代在国外发展起来的,英文称为“Video on Demand”,所以也称为“VOD”。

1 定义:

视频点播是二十世纪90年代在国外发展起来的,英文称为“Video on Demand”,所以也称为“VOD”。顾名思义,就是根据观众的要求播放节目的视频点播系统,把用户所点击或选择的视频内容,传输给所请求的用户。视频点播业务是近年来新兴的传媒方式,是计算机技术、网络通信技术、多媒体技术、电视技术和数字压缩技术等多领域融合的产物。

我们这里讲的点播原理是基于RTSP的点播的过程。

RTSP是实时流传输协议,该协议定义了一对多应用程序如何有效地通过IP网络传送多媒体数据。

2 点播过程:

客户端(一般是浏览器或者公共播放工具 如:vlc )发起视频点播请求,服务器做出响应,经过一系列的协商后,服务器建立起一个会话连接,然后服务器端准备视频数据,发送数据给客户端,客户端收到视频数据之后,进行解码的过程。

3 实现原理:

客户端发起一个 rtsp://10.67.208.104:554/11 请求,客户端与服务端经过以下过程的协商:

C表示客户端,S表示服务端

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

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

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

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

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

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

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

4.S->C:PLAY response //S回应该请求的信息    

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

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

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

   

其中 1 2 3 4 5 步是完成视频点播过程,第6步是视频断开的交互;

以上过程可以理解为:

客户端发送一个rtsp://10.67.208.104:554/11 请求后,服务器提供OPTION(即是服务端支持的可用方法:setup 建立连接  teardown 关闭连接  pause 暂停 play播放 SCALE 快放 等等);

客户端发送会话描述的请求,服务器提供媒体会话描述信息(主要是SDP);

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

客户端发送视频点播请求,服务器响应应该请求的信息

然后服务器端开始发送视频流

客户端接收到视频流后,对视频流进行解码,浏览视频流。

 

4 其他

如果有兴趣详细了解整个点播过程的童鞋可以在播放视频的时候用wireshark抓个报包来对照着去分析理解。

以上是对视频点播的一个狭义 的理解,欢迎补充。

转载请注明出处:华为企业云博客 https://portal.hwclouds.com/blogs

视频点播原理