视频点播原理
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
- 点赞
- 收藏
- 关注作者
评论(0)