基于关键帧的视频流索引播放系统的制作方法

文档序号:7646855阅读:687来源:国知局
专利名称:基于关键帧的视频流索引播放系统的制作方法
技术领域
本发明涉及一种基于关键帧的视频流索引播放方法,尤指一种在视频播放器中加入一个预览播放窗口,实现根据预览播放窗口的内容选择主播放的内容的方法。
目前存在的预览方法,一般是在媒体播放器中提供快进方式,即采用固定的大于正常播放速度的帧率播放视频,这样虽然也可以达到对视频内容的预览,但不能实现对某些特定帧的播放,例如基于镜头分割、场景分割或内容分析得到的关键帧,它们之间的时间间隔一般并不固定,采用固定时间间隔的播放方式显然无法播放这些关键帧。
为实现上述目的,基于关键帧的视频流索引播放方法包括步骤在视频播放器中加入预览播放窗口;在视频文件中的每个视频流中建立一个索引轨道;视频播放器根据预览播放窗口的内容选择主播放的内容。
图2为本发明的播放器界面示意图。
图3为本发明视频文件索引预览轨道生成方法流程示意图。
图4为本发明的视频播放器根据预览播放窗口的索引预览内容选择主播放窗口的内容的方法流程示意图。
如图2所示,在视频播放器中加入一个预览播放窗口,视频文件中针对需要索引浏览的视频轨道,建立一个新的索引预览轨道,视频播放器可以根据索引预览轨道中记录索引关键帧的时间戳信息计算出此索引帧所对应的正常播放时间,从而实现根据预览播放窗口的内容选择主播放的内容的方法。
本发明的视频播放器播放方式,视频播放器包括主播放窗口和一个预览播放窗口,主播放窗口中进行正常的视频播放;预览窗口中依次按固定帧率播放多幅索引关键帧。
如图3所示,本发明的视频文件索引预览轨道生成方法,在视频文件中针对需要索引浏览的视频轨道,建立一个新的索引预览轨道。它的建立方法为在新的索引预览轨道中记录索引关键帧的时间戳信息。
上述的索引预览轨道生成方法包括如下步骤1.用关键帧选择算法从视频流中选出关键帧,这一步既可以在生成过程中在压缩域同步进行,也可以预先在原始视频流中对关键帧进行标注;2.生成trak.meda.minf.stbl.stsd对象,在其中设定预览索引轨道的timescale(时标)为视频流的正常索引轨道中的timescale;3.生成预览索引轨道中的timesstamp(时间戳)信息时,相邻帧之间时间戳的差值应该为常数Idifference。设视频流的正常播放帧率为NframeRate,希望的预览索引流的播放帧率为IframeRate,在制作节目时确定,正常播放的视频流相邻帧之间的时间戳差为Ndifference,则预览索引轨道流的相邻时间戳差Idifference由下式确定Idifference=Ndifference*Iframerate/NframeRate4.在生成预览索引轨道的样本数据时,记录下此样本数据对应的在视频流正常播放时的时间戳信息,例如,如果正在生成预览索引轨道的第5帧,它所对应的时间戳信息为(5-1)*Idifference,这一帧对应于视频流正常播放时的第100帧,它的时间戳信息为(100-1)*Ndifference,我们可以在索引轨道样本数据RTP成包信息中记录值AddDifference,它由下式得到AddDifference=(5-1)*Idifference-(100-1)*Ndifference;5.设置索引轨道样本数据头信息‘X’位为1。
6.在实际生成并进行发送时,根据头信息中的‘X’=1而采用扩展头,在扩展头中存放AddDifference。格式如下0 10 20 30+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+profile | length+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| AddDifference|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+其中设置profile=999,length=1。
如图4所示本发明的视频播放器根据预览播放窗口的索引预览内容选择主播放窗口的内容的方法,视频播放器可以根据索引预览轨道中记录索引关键帧的时间戳信息计算出此索引帧所对应的正常播放时间,从而实现根据预览播放窗口的内容选择主播放的内容。
上述的根据预览播放窗口的索引预览内容选择主播放窗口的内容的方法包括如下步骤1.在有预览索引信息的情况下,播放界面做调整,增加预览播放窗口;2.在有预览索引信息的情况下,进行各个媒体流同步时,应该排除预览索引流;3.对预览索引流,需要记录下包头中的扩展信息;4.当用户点击某一索引帧时,可以根据扩展头中记录的信息计算出此索引帧所对应的正常播放时间,计算方法如下假设条件和上面预览索引轨道生成中的例子相同,即用户点击了正在播放的预览视频流的第5帧,而此帧对应于正常视频流中的第100帧,此时对应的正常播放时间为NormalTime,则NormalTime=(100-1)*Ndifference=AddDifference+(5-1)*Idifference;其中AddDiffernce为包扩展头中的数据,(5-1)*Idifference对应于包头中timestamp值;5.播放器应该能够根据前一步得到的NormalTime通过上行请求从新的播放时间开始播放。
权利要求
1.一种基于关键帧的视频流索引播放方法,其特征在于包括步骤在视频播放器中加入预览播放窗口;在视频文件中的每个视频流中建立一个索引轨道;视频播放器根据预览播放窗口的内容选择主播放的内容。
2.按权利要求1所述的方法,其特征在于视频播放器包括主播放窗口和预览播放窗口,主播放窗口中进行正常的视频播放,预览窗口中依次按固定帧率播放多幅索引关键帧。
3.按权利要求1所述的方法,其特征在于所述的在每个视频流中建立一个索引轨道包括步骤用关键帧选择算法从视频流中选出关键帧;生成trak.meda.minf.stbl.stsd对象,设定预览索引轨道的时标为视频流的正常索引轨道中的时标;生成预览索引轨道中的时间戳信息时,相邻帧之间时间戳的差值应该为常数;在生成预览索引轨道的样本数据时,记录下此样本数据对应的在视频流正常播放时的时间戳信息。
4.按权利要求3所述的方法,其特征在于所述的从视频流中选出关键帧在生成过程中在压缩域进行或预先在原始视频流中对关键帧进行标注。
全文摘要
一种基于关键帧的视频流索引播放方法,包括步骤在视频播放器中加入预览播放窗口;在视频文件中的每个视频流中建立一个索引轨道;视频播放器根据预览播放窗口的内容选择主播放的内容。本发明提供了一种基于关键帧的视频流索引播放方法,通过在视频播放器中加入一个预览播放窗口,同时在视频文件中针对需要索引浏览的视频轨道,建立一个新的索引预览轨道,视频播放器根据索引预览轨道中记录索引关键帧的时间戳信息计算出此索引帧所对应的正常播放时间,从而实现根据预览播放窗口的内容选择主播放的内容。
文档编号H04N7/00GK1444398SQ0210327
公开日2003年9月24日 申请日期2002年3月12日 优先权日2002年3月12日
发明者黄晁, 史宏周, 李锦涛, 林守勋 申请人:中国科学院计算技术研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1