一种无客户端的跨平台视频播放实现方法技术

技术编号:16283819 阅读:35 留言:0更新日期:2017-09-23 03:19
本发明专利技术公开了一种无客户端的跨平台视频播放实现方法,步骤包括:1)客户端向流媒体服务器发起视频请求;2)流媒体服务器对Web客户端请求进行解析处理;3)Web客户端向流媒体服务器发起HTTP请求;4)流媒体服务器通过HTTP协议传递特定视频分片至Web客户端;5)Web客户端解析视频分片内容并播放。本发明专利技术的方法,服务端只需将原始视频流按照MPEG‑DASH规范打包处理,客户端无需单独实现解码;用户仅借助浏览器,无需安装特定客户端或第三方插件,即可在Windows、Linux、Android、iOS等不同平台下完成视频的调阅,安装部署简单,用户体验度高。

Method for realizing cross platform video playing without client

The invention discloses a client without cross platform video playback method, comprising the following steps: 1) the client to initiate a video streaming media server request; 2) streaming media server to parse the Web client request; 3) Web client to the streaming media server initiates the HTTP request; 4) through the HTTP protocol to transfer specific video to Web client streaming media server; 5) Web client video content playback and analysis. The method of the invention, the server only needs to be dealt with in accordance with the original video stream packaged MPEG DASH specification, the client does not need separate decoding; only the user through the browser without installing a particular client or third party plug-ins can be different in Windows, Linux, Android, iOS and other platforms to complete video access, simple installation and deployment the high degree of user experience.

【技术实现步骤摘要】
一种无客户端的跨平台视频播放实现方法
本专利技术属于互联网流媒体
,涉及一种无客户端的跨平台视频播放实现方法。
技术介绍
随着互联网的高速发展,视频监控类应用的物联网设备的增多,人们通过PC端Web浏览器或手机客户端观看视频的需求逐步增多,传统的实时传输协议(RTP)、实时流传输协议(RTSP)等流媒体协议已逐渐显示其中的缺点,服务端实现、部署复杂度高,需要开放单独的网络端口,容易被网络防火前拦截等。而传统的基于HTTP协议的流媒体服务器,虽然部署简单,不需单独的网络端口,但其对实时视频流的支持较差,且需要安装Flash插件来支持视频播放,难以做到跨平台来满足大众的需求。因此,研究一种跨平台性能好、无需专用播放器或插件支持的物联网设备视频播放方法,具有巨大的实际应用价值。
技术实现思路
本专利技术的目的是提供一种无客户端的跨平台视频播放实现方法,解决了现有技术中视频播放跨平台性差,需要专用的客户端或浏览器插件支持,服务端安装部署麻烦的问题。本专利技术采用的技术方案是,一种无客户端的跨平台视频播放实现方法,按照以下步骤实施:步骤1、客户端向流媒体服务器发起视频请求1.1)启动流媒体服务器,解析配置文件,创建RPC线程并绑定至特定端口,监听客户端连接的到来;1.2)Web客户端读取数据库中保存的摄像机列表显示至Web界面供用户选择;1.3)根据用户所选的具体摄像机编号、通道号向流媒体服务器RPC接口发起视频请求;步骤2、流媒体服务器对Web客户端请求进行解析处理;步骤3、Web客户端向流媒体服务器发起HTTP请求;步骤4、流媒体服务器通过HTTP协议传递特定视频分片至Web客户端;步骤5、Web客户端解析视频分片内容并播放。本专利技术的有益效果是,结合DASH协议和视频监控的特点,通过对DASH协议的实时性增强和优化等改进,实现了实时和历史视频播放。服务端按照DASH视频流支持的格式对原始视频进行处理,生成MPD索引文件和视频分片文件,客户端采用HTML5+MSE技术完成视频流的播放,用户无需单独安装Flash插件或特定播放器软件,即可自适应不同视频流中分辨率、帧率的改变,借助浏览器能够很好的在Android、iOS、Windows、Linux等不同平台阅览视频,支持实时视频和历史视频的调阅,增强用户体验。附图说明图1为本专利技术方法的整体框架图;图2为本专利技术方法RPC模块交互流程图;图3为本专利技术视频播放过程中HTTP交互图。具体实施方式以下本文中的流媒体服务器是指装有服务端程序的PC机,Web客户端是指支持HTML5和MSE扩展的Web浏览器。本专利技术采用HTML5+MSE(MediaSourceExtensions)技术,从工程角度实现MPEG-DASH协议,实现了无客户端的视频播放方法。如图1所示,流媒体服务器由RPC模块、DASH视频流处理模块、HTTP服务模块三部分构成,其中RPC模块负责和客户端进行通信并处理客户端视频请求;DASH视频流处理模块负责将原始视频流数据打包成MPEG-DASH支持的格式,产生视频分片文件和MPD索引文件存储在服务器端;HTTP服务模块负责视频分片文件的传输。本专利技术方法,基于上述的流媒体服务器架构,按照以下步骤实施:步骤1、客户端向流媒体服务器发起视频请求1.1)启动流媒体服务器,解析配置文件,创建RPC线程并绑定至特定端口(默认为8090,用于和Web客户端进行RPC通讯),监听客户端连接的到来;1.2)Web客户端读取数据库中保存的摄像机列表显示至Web界面供用户选择;1.3)根据用户所选的具体摄像机编号、通道号向流媒体服务器RPC接口发起视频请求;步骤2、流媒体服务器对Web客户端请求进行解析处理2.1)解析客户端请求命令;2.2)创建视频处理线程,将原始H.264格式的视频流数据打包处理成MPEG-DASH所需的格式,生成MPD索引文件和视频分片并存储于服务器端;2.3)采用统一命名规范对视频分片进行命名处理;2.4)通过RPC接口返回MPD文件所在的虚拟URL至Web客户端;步骤3、Web客户端向流媒体服务器发起HTTP请求3.1)根据RPC接口返回的URL向流媒体服务器发起HTTPGET请求,下载MPD文件;3.2)解析MPD索引文件,获得媒体持续时间、比特率、分片URL等媒体特征信息;3.3)根据视频分片1的URL向流媒体服务器发起HTTP请求;步骤4、流媒体服务器通过HTTP协议传递特定视频分片至Web客户端4.1)解析Web客户端的HTTP请求;4.2)根据Web客户端的请求URL,流媒体服务器查找该URL对应的视频分片文件;4.3)调用ReadFile()函数读取视频分片文件,通过HttpSendHttpResponse()方法返回视频分片数据至Web客户端;步骤5、Web客户端解析视频分片内容并播放5.1)Web客户端解析视频分片内容并进行播放;5.2)开启自适应机制,通过一定的策略估算网络带宽,调整下一次请求视频分片的比特率,继续向流媒体服务器请求下一个视频分片,直至视频播放完成。实施例步骤1、客户端向流媒体服务器发起视频请求1.1)启动流媒体服务器,解析配置文件,创建RPC线程并绑定至特定端口(默认为8090,用于和Web客户端进行RPC通讯),监听客户端连接的到来;1.2)Web客户端读取数据库中保存的摄像机列表显示至Web界面供用户选择;1.3)根据用户所选的具体摄像机编号、通道号向流媒体服务器RPC接口发起视频请求;步骤2、流媒体服务器对Web客户端请求进行解析处理2.1)解析客户端请求命令;2.2)创建视频处理线程,将原始H.264格式的视频流数据打包处理成MPEG-DASH所需的格式,生成MPD索引文件和视频分片并存储于服务器端,MPD索引文件以XML格式存在,主要由MPD、Period、AdaptationSet、Representation、SegmentTemplate标签构成。其中MPD标签中的type属性代表视频属性是实时视频或历史视频,minBufferTime属性代表视频的最小缓存时间,mediaPresentationDuration属性代表节目的总播放时间;AdaptationSet标签中的contentType属性代表媒体的呈现方式,包括视频、音频或字幕;Representaiton标签中codecs属性代表视频编解码器类型,miniType属性代表视频格式,width、height、frameRate属性分别代表该视频分片的宽度、高度、帧率信息。SegmentTemplate标签中timescale属性表示切片的时间轴,其生成的视频切片名用$Number$标识,表示该部分由具体的数字来表示;2.3)采用统一命名规范对视频分片进行命名处理,切片文件名由视频文件名称和切片序号两部分组成,所有的视频片段都以“live-video-sd-”开头,按固定顺序连接视频片段的序号“1”,“2”……;2.4)通过RPC接口返回MPD文件所在的虚拟URL至Web客户端,RPC模块通信的完整流程如图2所示,首先创建RPC线程,监听Web客户端连接,在收到客户端视频请求后对其进行解析,然后调用视频处理线程对原始视频流进行处理,等待视频分本文档来自技高网...
一种无客户端的跨平台视频播放实现方法

【技术保护点】
一种无客户端的跨平台视频播放实现方法,其特征在于,按照以下步骤实施:步骤1、客户端向流媒体服务器发起视频请求1.1)启动流媒体服务器,解析配置文件,创建RPC线程并绑定至特定端口,监听客户端连接的到来;1.2)Web客户端读取数据库中保存的摄像机列表显示至Web界面供用户选择;1.3)根据用户所选的具体摄像机编号、通道号向流媒体服务器RPC接口发起视频请求;步骤2、流媒体服务器对Web客户端请求进行解析处理;步骤3、Web客户端向流媒体服务器发起HTTP请求;步骤4、流媒体服务器通过HTTP协议传递特定视频分片至Web客户端;步骤5、Web客户端解析视频分片内容并播放。

【技术特征摘要】
1.一种无客户端的跨平台视频播放实现方法,其特征在于,按照以下步骤实施:步骤1、客户端向流媒体服务器发起视频请求1.1)启动流媒体服务器,解析配置文件,创建RPC线程并绑定至特定端口,监听客户端连接的到来;1.2)Web客户端读取数据库中保存的摄像机列表显示至Web界面供用户选择;1.3)根据用户所选的具体摄像机编号、通道号向流媒体服务器RPC接口发起视频请求;步骤2、流媒体服务器对Web客户端请求进行解析处理;步骤3、Web客户端向流媒体服务器发起HTTP请求;步骤4、流媒体服务器通过HTTP协议传递特定视频分片至Web客户端;步骤5、Web客户端解析视频分片内容并播放。2.根据权利要求1所述的无客户端的跨平台视频播放实现方法,其特征在于,所述的步骤2中,具体过程是,2.1)解析客户端请求命令;2.2)创建视频处理线程,将原始H.264格式的视频流数据打包处理成MPEG-DASH所需的格式,生成MPD索引文件和视频分片并存储于服务器端;2.3)采用统一命名规范对视频分片进行命名处理;2.4)通过RPC接口返回MPD文件所在的虚拟URL至Web客户端。3....

【专利技术属性】
技术研发人员:孙钦东蔡亚妮张景鹏段惊园黄新波
申请(专利权)人:西安理工大学
类型:发明
国别省市:陕西,61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1