MP4视频点播的数据流传输方法、客户端及点播系统技术方案

技术编号:11530842 阅读:131 留言:0更新日期:2015-05-31 20:15
本申请公开了一种MP4视频点播的数据流传输方法、客户端及点播系统,数据流传输方法包括步骤:S1:客户端根据视频播放请求向索引服务器请求下载索引数据,所述索引数据为存储于所述索引服务器中的视频文件的文件头信息的解析数据;S2:索引服务器检获被请求下载的所述索引数据后,向客户端分段推送索引数据;S3:客户端根据分段获取的索引数据分段向视频服务器请求下载音视频内容数据;S4:视频服务器分段向客户端推送被请求下载的所述音视频内容数据。在请求播放视频文件时,从索引服务器下载一个分段的索引数据后,即可以启动视频播放,提高了视频点播的反应速度。

【技术实现步骤摘要】
MP4视频点播的数据流传输方法、客户端及点播系统
本申请涉及视频点播
,具体涉及一种MP4视频点播的数据流传输方法、客户端及点播系统。
技术介绍
现有的视频网站普遍使用flash播放器插件,MP4视频文件的播放都是需要先下载完视频文件的文件头信息,解析文件头信息得到视频播放所需要的文件信息和音视频帧相关信息后,才能实现播放。一般MP4视频文件的文件头信息都比较大,主流编码的300M左右大小的文件,文件头信息长度差不多占到1.5-2M,在下载速度为200kb/s的环境下,需要下载7-10S的时间,才能显示画面实现视频播放。所以普通下载方式对于MP4视频的播放启动,速度较慢,用户体验不佳。
技术实现思路
为了减少缓冲等待时间,优化用户体验,本申请提出一种MP4视频点播的数据流传输方法、客户端及点播系统,使得用户在使用flash播放器播放MP4视频文件时,能够更快得到响应,并获得更流畅的播放体验。本申请提供一种MP4视频点播的数据流传输方法,包括如下步骤:S1:客户端根据视频播放请求向索引服务器请求下载索引数据,所述索引数据为存储于所述索引服务器中的视频文件的文件头信息的解析数据;S2:索引服务器检获被请求下载的所述索引数据后,向客户端分段推送索引数据;S3:客户端根据分段获取的索引数据分段向视频服务器请求下载视频文件的音视频内容数据;S4:视频服务器分段向客户端推送被请求下载的所述音视频内容数据。本申请还提供一种视频客户端,包括:下载模块和编码模块;所述下载模块向索引服务器请求下载索引数据,根据从所述索引服务器分段获取的索引数据分段向视频服务器请求下载并接收音视频内容数据;所述索引数据为存储于所述索引服务器中的视频文件的文件头信息的解析数据;所述编码模块对接收的音视频内容数据进行编码后推送至播放器播放。本申请还提供一种视频点播系统,包括:客户端和视频服务器,所述视频服务器用于提供视频文件,所述视频文件包括文件头信息和音视频内容数据,所述视频点播系统还包括:索引服务器,所述索引服务器根据所述客户端的下载请求推送索引数据,所述索引数据为存储于所述索引服务器中的文件头信息的解析数据;所述客户端根据视频播放请求向索引服务器请求下载索引数据,根据分段获取的索引数据分段向视频服务器请求下载音视频内容数据;所述视频服务器分段向客户端推送被请求下载的所述音视频内容数据。本申请中的技术方案,在请求播放视频文件时,从索引服务器下载一个分段的索引数据后,即可以启动视频播放,提高了视频点播的反应速度。其中的一个优选实施方式中,视频地址中的视频文件被首次请求播放时,首次请求的客户端将该视频文件中的文件头信息进行解析生成索引数据,并将索引数据上传存储在索引服务器上。同一地址的视频文件被再次请求播放时,从索引服务器下载一个分段的索引数据后,即可以启动视频播放,提高了视频点播的反应速度。附图说明图1为本申请中实施例一的流程图;图2为本申请中实施例二的原理框图;图3为本申请中实施例三的原理框图。具体实施方式下面通过具体实施方式结合附图对本专利技术作进一步详细说明。在MP4视频文件中,数据都封装在box中(也叫atom),MP4视频文件包括filetypebox(文件类型包)、moviebox(影片包)、freespacebox和mediadatabox(媒体数据包)。filetypebox主要描述文件类型,moviebox中包括一个视频文件的全部关键信息,mediadatabox中包含音视频内容数据。moviebox包括四个子box,分别为:movieheaderbox(影片头包),定义了整个文件的总体信息,如时长、宽高、创建时间等;两个轨迹包,一个audiotrackbox(音频轨迹包),一个videotrackbox(视频轨迹包),两个轨迹包中包含了整个视频文件解码所需的音视频帧的偏移量和长度信息;userdatabox(用户数据包),用于存储一些用户数据。本申请实施例中,文件头信息指的是moviebox中的数据,音视频内容数据指的是mediadatabox中的数据,包括音频内容数据和视频内容数据。实施例一请参考图1,本例中的MP4视频点播的数据流传输方法,包括步骤:S1:客户端根据视频播放请求向索引服务器请求下载索引数据。具体包括步骤:S11:客户端收到视频播放请求。客户端,是指与服务器相对应,为用户提供本地服务的程序。一般安装在普通的客户机上,本例中,客户端指flash播放器插件。S12:客户端根据视频播放请求向索引服务器请求下载索引数据。索引服务器用于根据客户端的下载请求推送索引数据,索引数据存储在索引服务器中,索引数据为视频文件的文件头信息的解析数据,主要包括音视频帧的偏移量、大小(通过解析audio/videotrackbox得到,使用数组来保存)和基本播放信息(通过解析movieheaderbox得到)。S2:索引服务器检获被请求下载的索引数据后,向客户端分段推送索引数据。具体包括步骤:S21:索引服务器收到客户端的下载请求后,查询是否存储有该下载请求的索引数据。若是,执行步骤S22:索引服务器向客户端分段推送索引数据。再执行步骤S3、S4。本例中,客户端向索引服务器请求下载索引数据的起始依据是时间点,单位是秒,即视频播放请求是从该请求所在的时间点开始请求播放,索引服务器根据该时间点,检获索引数据。分段推送索引数据,即将索引数据从请求的时间点开始按时间分段推送。例如,客户端向索引服务器请求时间点为0s的索引数据。索引服务器检获时间点为0s索引数据,如音频帧偏移量数组,包含了100000个值,如{10,1000,2000,3000…},就是说第一帧音频数据在视频文件的10个字节的位置,第二帧音频数据在视频文件的第1000个字节位置;如音频帧大小数组,比如{600,700,800,900…};综合起来就是第一帧音频数据是在视频文件第10个字节开始后面的600个字节大小的数据。本例中,客户端向索引服务器请求时间点为0s的索引数据时,索引服务器计算出该时间点的索引数据的开始位置以及从该时间点之后需要多少索引数据可以从该时间点开始持续播放一个时间段,如一个时间段设为30s时,则大概有20K的索引数据,索引服务器则将该时间点之后的20K索引数据推送给客户端,再间隔推送该时间点之后剩余的索引数据。索引服务器根据视频播放请求推送第一段索引数据时,该第一段索引数据中还包括基本播放信息。S3:客户端根据分段获取的索引数据分段向视频服务器请求下载视频文件的音视频内容数据。S4:视频服务器分段向客户端推送被请求下载的音视频内容数据。若否,执行步骤S2′:客户端直接从视频服务器请求下载视频文件,获取视频文件中的文件头信息,解析文件头信息生成索引数据,将索引数据上传至索引服务器保存。本例中,客户端获取文件头信息的过程,具体包括:客户端采用分块下载的方式向视频服务器请求下载视频文件,根据下载的分块数据判断该分块数据中是否包含文件头信息;若是,则从该分块数据中解析出文件头信息的长度,获取完整的文件头信息;若否,则包含音视频内容数据的媒体数据包在文件头信息之前(这是因为不同的网站可能有不同的编码规则,视频文件中各个box的封装顺序也不尽相同),本文档来自技高网...
MP4视频点播的数据流传输方法、客户端及点播系统

【技术保护点】
一种MP4视频点播的数据流传输方法,其特征在于,包括如下步骤:S1:客户端根据视频播放请求向索引服务器请求下载索引数据,所述索引数据为存储于所述索引服务器中的视频文件的文件头信息的解析数据; S2:索引服务器检获被请求下载的所述索引数据后,向客户端分段推送索引数据;S3:客户端根据分段获取的索引数据分段向视频服务器请求下载视频文件的音视频内容数据;S4:视频服务器分段向客户端推送被请求下载的所述音视频内容数据。

【技术特征摘要】
1.一种MP4视频点播的数据流传输方法,其特征在于,包括如下步骤:S1:客户端根据视频播放请求向索引服务器请求下载索引数据,所述索引数据为存储于所述索引服务器中的视频文件的文件头信息的解析数据;S2:若索引服务器未检获该下载请求的索引数据,则客户端直接从视频服务器下载视频文件;客户端获取视频文件的文件头信息,解析文件头信息生成索引数据,将索引数据上传至索引服务器保存;若索引服务器检获被请求下载的所述索引数据,则向客户端分段推送索引数据;S3:客户端根据分段获取的索引数据分段向视频服务器请求下载视频文件的音视频内容数据;S4:视频服务器分段向客户端推送被请求下载的所述音视频内容数据。2.如权利要求1所述的数据流传输方法,其特征在于,所述客户端获取文件头信息的过程,具体包括:客户端根据采用分块下载的方式从视频服务器下载的分块数据判断该分块数据中是否包含文件头信息;若是,则从该分块数据中解析出文件头信息的长度,获取完整的文件头信息;若否,则包含音视频内容数据的媒体数据包在文件头信息之前,解析媒体数据包的长度,根据媒体数据包的长度计算文件头信息的开始位置,向该开始位置请求获取完整的文件头信息。3.如权利要求1或2所述的数据流传输方法,其特征在于,索引数据以文件形式存储在索引服务器中,文件名为视频播放请求的视频地址的hash值;客户端向索引服务器请求下载索引数据时根据视频播放请求的视频地址的hash值向索引服务器请求索引数据。4.一种视频客户端,其特征在于,包括:下载模块、编码模块、解析模块和上载模块;所述下载模块向索引服务器请...

【专利技术属性】
技术研发人员:王羲桀蒋飞龙江少明
申请(专利权)人:深圳市云帆世纪科技有限公司
类型:发明
国别省市:广东;44

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

1