一种网络视频预览系统和方法

文档序号:7866078阅读:171来源:国知局
专利名称:一种网络视频预览系统和方法
技术领域
本发明属于互 联网视频技术领域,尤其涉及一种网络视频预览系统和方法。
背景技术
现有技术中,用户对于视频网站上所提供的视频内容,通常希望能够快速预览以确定是否感兴趣;也有一些用户在观看视频的时候,希望能拖拽进度条以快速浏览整个视频内容。为了满足用户的这种需求,很多视频网站都提供了视频预览技术,以方便用户预览视频内容,现有网络视频预览的实现策略是当用户把鼠标停在进度条上时,用户的播放器向服务器发送预览请求,获得一段2-3秒的视频,然后播放。这种预览方式对于用户来说,如果网络传输速度不能满足要求,那么就会有明显延时,使得用户有等待感,并且也无法满足用户能够快速预览整个视频内容的需求。

发明内容
鉴于现有技术中存在的问题,本发明的目的在于提供一种网络视频预览系统,其包括索引服务器,用于存储包括视频文件地址的视频元数据信息并根据视频标识检索视频元数据信息;内容服务器,用于根据所述视频元数据信息获取存储的相对应的视频内容并分发给播放器;预览图服务器,用于分析所述内容服务器存储的视频内容,提取与每一视频内容相对应的由不同时间点关键帧图像,组合构成预览图进行存储;播放器,其响应用户的视频播放请求,通过视频标识向索引服务器请求下载视频内容,同时通过视频标识从预览图服务器下载与所下载视频内容相对应的预览图,用于在用户发起预览请求时,根据请求时间点通过所下载的预览图快速定位展示距请求时间点最近的关键帧图像。进一步,所述播放器包括预览服务组件用于用户发起视频播放请求时,从预览图服务器下载与视频对应的预览图,并获得构成所下载的预览图的各关键帧图像的时间点信息,在用户发起预览请求时,根据请求时间点通过所下载的预览图以及构成该预览图的各关键帧图像的时间点信息快速定位展示距请求时间点最近的关键帧图像;数据内容服务单元,用于通过视频标识所载的参数向内容服务器请求视频内容,并下载缓存所请求的视频内容;视频编解码组件,读取视频内容数据,并进行编解码,进而展示给用户。进一步,所述数据内容服务单元包括=Socket下载组件,用于向内容服务器请求视频内容下栽;缓存组件,用于存储并管理下载到的视频内容。进一步,所述预览图服务器中针对每一个视频内容存储了由M张关键帧图像组成的预览图,其中,M从O开始计数,预览图可以分为η列将关键帧图像拼接。进一步,假设关键帧图像的尺寸设定为宽为W,高为h,假设距离请求点最近的关键帧是第m帧,按照以下算法截取展示给用户的矩形区域该矩形左上角的坐标为X= (m%n) Xw, y=(m/n) Xh,矩形的尺寸宽为w高为h,其中以第O巾贞左上角为原点坐标。本发明还提供了一种网络视频预览方法,其包括以下步骤步骤(I)用于分析内容服务器存储的视频内容,提取与每一视频内容相对应的由不同时间点关键帧图像,组合构成预览图进行存储在预览图服务器上;步骤(2)响应用户的视频播放请求,通过视频标识向索引服务器请求下载视频内容;同时通过视频标识从预览图服务器下载与所下载视频内容相对应的预览图;步骤(3)索引服务器根据视频标识检索包括视频文件地址的视频元数据信息;步骤(4)内容服务器用于根据所述视频元数据信息获取存储的相对应的视频内容并分发给播放器;步骤(5)响应用户的预览请求,根据请求时间点通过所下载的预览图快速定位展示距请求时间点最近的关键帧图像。进一步,从预览图服务器下载与视频对应的预览图时,同时获得构成所下载的预览图的各关键帧图像的时间点信息。进一步,视频编解码组件读取下载在缓存组件中的视频内容数据,并进行编解码,进而展示给用户。进一步,所述预览图服务器中针对每一个视频内容存储了由M张关键帧图像组成的预览图,其中,M从O开始计数,预览图可以分为η列将关键帧图像拼接。 进一步,假设关键帧图像的尺寸设定为宽为W,高为h,假设距离请求点最近的关键帧是第m帧,按照以下算法截取展示给用户的矩形区域该矩形左上角的坐标为X= (m%n) Xw, y=(m/n) Xh,矩形的尺寸宽为w高为h,其中以第O巾贞左上角为原点坐标。


图I是根据本发明的预览系统的结构图。图2是根据本发明的预览方法的流程图。
具体实施例方式为使本发明的上述目的、特征和优点更加明显易懂,下面结合附图和具体实施方式
对本发明作进一步详细的说明。如图I所示,预览服务器在后台分析并存储了视频的整张预览图,当用户发出视频播放请求时,播放器的预览服务组件在后台自动下载视频对应的预览图;这样,当用户发起预览请求时,预览服务组件能根据请求时间点快速定位展示给用户的预览小图(即关键帧图像),达到极短延时的预览效果,大幅提升用户预览体验。索引及内容服务器索引服务器存储有视频元数据信息并根据视频标识来检索视频元数据信息,视频元数据信息包括视频时长,字节数,视频文件的地址,内容服务器根据检索的视频文件地址获取视频内容并分发给数据内容服务单元的缓存组件;预览服务器在后台的具体分析存储如下分析内容服务器中的视频内容,提取出视频对应的预览图;分析提取如下借用开源软件库mplayer提供的功能生成视频文件的关键帧图像,然后再利用开源软件库imagemagick将这一组关键帧图形拼接成一张最多有5列的图形,这样就得到了最终的预览图形。使用如下命令即可以在当前目录生成所有的关键帧图像mplayer-sstep l_ao null_vopng〈v 标识 eo_file>针对视频文件库中的每个视频,可以在后台持续运行该程序,生成视频对应的所有关键巾贞图像,之后再用imagemagick convert命令拼接成最终的预览图。具体转换命令如下(convert-size 102x28xc:Scfcfcf-draw^image Over 0,0 51,28,D:\testv 标识 eo\frames\00000001. png, " -draw^image Over 51, 0 51,28,D:\testv 标识 eo\frames\00000001. png," D:\testv 标识 eo\out\out. jpg)如果在用户请求视频时,预览图还没有生成,那么就即时生成该图像,返回给预览服务组件,同时存储在预览服务器。这样,后续用户请求时,就不用再生成了。预览服务组件预览服务组件会根据请求的视频时间点,找出距离该时间点最近的预览小图(关键帧图形)的位置,将该部分图形展示给用户;由于事先已经从预览图服务器取到整张图形,该步骤中节省了播放器向内容服务器的网络请求过程,从而做到了极小的延时。请求的视频时间点通过如下方式来计算当用户将鼠标放在播放器进度条上某点时,会自动触发M0USE_0VER事件,被内部的事件监听函数捕获,取到该点对应的坐标值,再根据坐标值,播放器进度条的总长度,以及视频总时间,等比例计算出该点对应的视频时间,再向预览服务组件发出预览请求;预览服务组件会根据请求时间点,将整张预览图的特定部分展不给用户。以ActionScript的实现为例,监听flash, events. MouseEvent. MOUSE_OVER事件就能计算出对应的时间点;利用flash, display. Loader和flash, display. Shape即可以展示图形的特定区域。Socket下载组件通过视频标识向索引服务器请求视频文件下载;缓存组件存储并管理下载到的视频文件;视频编解码组件从缓存组件中读取视频数据文件,并进行编解码,从而展示给用户。该组件一般都是利用大公司的成熟SDK组件,例如Adobe Flash的视频编解码组件。如图I所示,对标记的说明如下I表示预览服务组件向预览图服务器请求视频的预览图,主要参数..N标识e0_#识。2表示预览图服务器向预览服务组件返回视频的整张预览图,该图是将很多小图拼成一张大图,同时,还返回了每张小图对应的时间点。本发明中,预览图指整张由小图拼接成的大图;预览小图指单个小图。3表示socket下载组件向索引和内容服务器发送视频标识,获取视频的具体地址和相应内容。4表示获取来自内容服务器的数据存入缓存组件中。5表示视频编解码组件取到数据,进行编解码,播放视频。当用户发起预览请求时,播放器可以得到对应的请求时间点,然后找到距离该点最近的关键帧,之后就可以在预览图中定位该关键帧图像了。由于我们设定了关键帧图像的尺寸,以及预览图最多有5列的约束,那么只要知道是第几幅关键帧,就可以从预览图中截取得到对应的图像了。假设预览图最多有5列,关键帧图像的尺寸设定为〈w,h>,假设距离请求点最近的关键帧是第m帧(m从O开始算),那么在预览图上,我们需要展示给用户的矩形区域就是矩形左上角的坐标(以第O巾贞左上角为原点坐标)x=(m%5)*w;y=(m/5)*h矩形的尺寸w标识th=w;height=h其中%为取余数,例如当1%5时,商为O,余数为1,6% 5时,商为I,余数与I。以ActionScript实现方式为例,只需要利用flash, display. Loader类来本地加载整张预览图,并且利用flash, display. Shape类根据上面的算法生成一个矩形的mask区域,就可以实现展示部分小图的目标。示意代码如下
var rect:Shape = new Shape O ;
rect. graphics. beginFill(OxFFFFFF);
rect. graphics. drawRect(100, 100, 100, 100);
rect. graphics. endFill ();
var Idr: Loader = new LoaderO ;//加载本地图片bp. jpgvar req:URLRequest = newURLRequest (〃D: \\setup\\PHPnow-l· 5. 6\\htdocs\\bp. jpj,);
I dr. mask = rect; //只展示rect限定的部分I dr. load(req);addChild(ldr);如图2所示,示出了根据本发明方法的流程图,首先分析内容服务器存储的视频内容,提取与每一视频内容相对应的由不同时间点关键帧图像,组合构成预览图进行存储在预览图服务器上;响应用户的视频播放请求,通过视频标识向索引服务器请求下载视频内容;同时通过视频标识从预览图服务器下载与所下载视频内容相对应的预览图;索引服务器根据视频标识检索包括视频文件地址的视频元数据信息;内容服务器用于根据所述视频元数据信息获取存储的相对应的视频内容并分发给播放器;响应用户的预览请求,根据请求时间点通过所下载的预览图快速定位展示距请求时间点最近的关键帧图像。在从预览图服务器下载与视频对应的预览图时,同时获得构成所下载的预览图的各关键帧图像的时间点信息。所述预览图服务器中针对每一个视频内容存储了由M张关键帧图像组成的预览图,m从O开始计数,预览图可以分为η列将关键帧图像拼接,优选为5列。本发明的技术效果是一旦开始观看视频,就会自动下载整张预览图;当预览图下载完成以后,后续就能实现超低延时的预览体验。也就是说,直接从服务器获取整张预览图(视频一启动,就会从服务器取这个数据),后续用户把鼠标停在进度条上时,就直接显示附近的一张小图给用户。这样的话,是在本地取得预览小图,没有延时,消除等待感。以上是对本发明的优选实施例进行的详细描述,但本领域的普通技术人员应该意识到,在本发明的范围内和精神指导下,各种改进、添加和替换都是可能的,例如调整接口调用顺序、改变消息格式和内容、使用不同的编程语言(如C、C++、Java等)实现等。这些都在本发明的权利要求所限定的保护范围内。
权利要求
1.一种网络视频预览系统,其特征在于包括 索引服务器,用于存储包括视频文件地址的视频元数据信息,并根据视频标识检索视频元数据信息; 内容服务器,用于根据所述视频元数据信息获取存储的相对应的视频内容并分发给播放器; 预览图服务器,用于分析所述内容服务器存储的视频内容,提取与每一视频内容相对应的由不同时间点关键帧图像,组合构成预览图进行存储; 播放器,其响应用户的视频播放请求,通过视频标识向索引服务器请求下载视频内容,同时通过视频标识从预览图服务器下载与所下载视频内容相对应的预览图,用于在用户发起预览请求时,根据请求时间点通过所下载的预览图快速定位展示距请求时间点最近的关键帧图像。
2.根据权利要求I所述的网络视频预览系统,其特征在于所述播放器包括 预览服务组件用于用户发起视频播放请求时,从预览图服务器下载与视频对应的预览图,并获得构成所下载的预览图的各关键帧图像的时间点信息,在用户发起预览请求时,根据请求时间点通过所下载的预览图以及构成该预览图的各关键帧图像的时间点信息快速定位展示距请求时间点最近的关键帧图像; 数据内容服务单元,用于通过视频标识所载的参数向内容服务器请求视频内容,并下载缓存所请求的视频内容; 视频编解码组件,读取视频内容数据,并进行编解码,进而展示给用户。
3.根据权利要求2所述的网络视频预览系统,其特征在于所述数据内容服务单元包括 Socket下载组件,用于向内容服务器请求视频内容下栽; 缓存组件,用于存储并管理下载到的视频内容。
4.根据权利要求I所述的网络视频预览系统,其特征在于所述预览图服务器中针对每一个视频内容存储了由M张关键帧图像组成的预览图,其中,M从O开始计数,预览图可以分为η列将关键帧图像拼接。
5.根据权利要求I所述的网络视频预览系统,其特征在于假设关键帧图像的尺寸设定为宽为《,高为h,假设距离请求点最近的关键帧是第m帧,按照以下算法截取展示给用户的矩形区域该矩形左上角的坐标为X=(m%n)Xw,y=(m/n)Xh,矩形的尺寸宽为w高为h,其中以第O帧左上角为原点坐标。
6.一种网络视频预览方法,其特征在于包括以下步骤 步骤(I)用于分析内容服务器存储的视频内容,提取与每一视频内容相对应的由不同时间点关键帧图像,组合构成预览图进行存储在预览图服务器上; 步骤(2)响应用户的视频播放请求,通过视频标识向索引服务器请求下载视频内容;同时通过视频标识从预览图服务器下载与所下载视频内容相对应的预览图; 步骤(3)索引服务器根据视频标识检索包括视频文件地址的视频元数据信息; 步骤(4)内容服务器用于根据所述视频元数据信息获取存储的相对应的视频内容并分发给播放器; 步骤(5)响应用户的预览请求,根据请求时间点通过所下载的预览图快速定位展示距请求时间点最近的关键帧图像。
7.根据权利要求6所述的网络视频预览方法,其特征在于 从预览图服务器下载与视频对应的预览图时,同时获得构成所下载的预览图的各关键帧图像的时间点信息。
8.根据权利要求6所述的网络视频预览方法,其特征在于 视频编解码组件读取下载在缓存组件中的视频内容数据,并进行编解码,进而展示给用户。
9.根据权利要求6所述的网络视频预览方法,其特征在于所述预览图服务器中针对每一个视频内容存储了由M张关键帧图像组成的预览图,其中,M从O开始计数,预览图可以分为η列将关键帧图像拼接。
10.根据权利要求6所述的网络视频预览方法,其特征在于假设关键帧图像的尺寸设定为宽为《,高为h,假设距离请求点最近的关键帧是第m帧,按照以下算法截取展示给用户的矩形区域该矩形左上角的坐标为x=(m%n) Xw, y=(m/n) Xh,矩形的尺寸宽为w高为h,其中以第O帧左上角为原点坐标。
全文摘要
本发明公开了一种网络视频预览系统及方法,该系统包括存储视频元数据信息并检索视频元数据信息的索引服务器、根据所述视频元数据信息获取相对应视频内容的内容服务器、分析视频内容并提取不同时间点关键帧图像以组合成预览图的预览图服务器、在用户发起预览请求时快速定位展示距请求时间点最近的关键帧图像的播放器。该方法包括以下步骤分析存储的视频内容,提取不同时间点关键帧图像,组合构成预览图进行存储;响应视频播放请求,下载相对应的预览图;检索视频元数据信息并根据所述视频元数据信息获取相对应的视频内容并分发给播放器;响应用户的预览请求,根据请求时间点通过所下载的预览图快速定位展示距请求时间点最近的关键帧图像。
文档编号H04N21/439GK102932679SQ20121047531
公开日2013年2月13日 申请日期2012年11月21日 优先权日2012年11月21日
发明者白鹏, 吴昊宇, 姚健, 潘柏宇, 卢述奇 申请人:合一网络技术(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1