CN103165157A - 定位无索引avi 文件播放位置的方法、装置及播放器 - Google Patents

定位无索引avi 文件播放位置的方法、装置及播放器 Download PDF

Info

Publication number
CN103165157A
CN103165157A CN2011104243742A CN201110424374A CN103165157A CN 103165157 A CN103165157 A CN 103165157A CN 2011104243742 A CN2011104243742 A CN 2011104243742A CN 201110424374 A CN201110424374 A CN 201110424374A CN 103165157 A CN103165157 A CN 103165157A
Authority
CN
China
Prior art keywords
data
interval
data block
file
avi
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2011104243742A
Other languages
English (en)
Other versions
CN103165157B (zh
Inventor
梁健国
刘大卫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
HAIMEN HUANGHAI PIONEER PARK SERVICES Co.,Ltd.
Original Assignee
Shenzhen QVOD Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen QVOD Technology Co Ltd filed Critical Shenzhen QVOD Technology Co Ltd
Priority to CN201110424374.2A priority Critical patent/CN103165157B/zh
Publication of CN103165157A publication Critical patent/CN103165157A/zh
Application granted granted Critical
Publication of CN103165157B publication Critical patent/CN103165157B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开了一种可以定位无索引AVI文件的播放位置的方法及装置,包括:对获取的包含连续数据块的视音频数据流按预定数目划分区间,每个区间包括预定数目个连续的数据块,找出每个区间内具有最大数据量的数据块,将该具有最大数据量的数据块作为其对应区间的关键帧起始数据块;根据所有区间的关键帧起始数据块重建索引;根据外部定位控制数据并结合重建后的索引定位AVI文件的播放位置,输出定位到的播放位置。本发明通过划分区间并找出该区间的数据量最大的数据块,该数据量最大的数据块一般即为关键帧的起始数据块,这样识别出来的关键帧的起始数据块的准确度较高,从而可以很大程度上解决播放过程中存在的画面异常或反应慢的问题。

Description

定位无索引AVI 文件播放位置的方法、装置及播放器
技术领域
本发明涉及音视频播放的技术领域,尤其涉及一种定位无索引AVI文件的播放位置的方法及装置,以及一种用于播放无索引AVI文件的播放器。 
背景技术
AVI(Audio Video Interleaved,音频视频交错格式)格式的视音频文件(简称AVI文件)是经过编码的视音频数据流,分为多个数据块(chunk),每个数据块均包含相应的标识信息,该标识信息包括数据块内容(音频、视频或其它信息)、块大小、是否压缩数据等信息。通过分析上述标识信息为每一数据块建立对应的索引,用来指示数据块的位置、大小及是否关键帧等信息,以帮助定位。也就是说,AVI文件含三部分:文件头、数据块和索引块,其中,文件头包括前述的标识信息,数据块是实际的视音频数据,索引块包括指示数据块在文件中的位置等信息。 
AVI文件的索引块是可选的,索引的作用在于帮助文件播放时进行定位,因此使得用户不必搜索与分析整个文件即可存取文件中的特定部分。对于无索引的AVI文件,目前采用的方法是通过分析AVI文件的视频和音频数据块来重建音频和视频索引进而实现播放定位。对无索引的AVI文件重建索引时,由于无法获知任意一个数据块是否关键帧的起始数据块,当前的做法是把每个数据块都当作关键帧的起始数据块。这种做法虽然可以实现对无索引AVI文件的播放定位,然而,由于将每个数据块都视为关键帧的起始数据块,在将任意一数据块作为关键帧起始数据块送到解码器进行解码后发现其实际并非关键帧的起始数据块,此时只能将解码的帧显示给用户或者等待下一个关键帧I帧的出现,这将导致播放定位后的几秒内画面出现异常(播放异常的具体表现取决于不同的视频编解码器)或响应慢,给用户带来不佳的观赏体验。 
发明内容
本发明要解决的主要技术问题是,提供一种可以定位无索引AVI文件的播放位置的方法及装置。 
根据本发明的一个方面,提供一种定位无索引AVI文件的播放位置的方法,包括:分析步骤,对获取的包含连续数据块的视音频数据流按预定数目划分区 间,每个区间包括预定数目个连续的数据块,找出每个区间内具有最大数据量的数据块,将该具有最大数据量的数据块作为其对应区间的关键帧起始数据块;索引步骤,根据所有区间的关键帧起始数据块重建索引;定位步骤,根据外部定位控制数据并结合重建后的索引定位AVI文件的播放位置,输出定位到的播放位置。 
所述找出每个区间内具有最大数据量的数据块的过程包括:将该区间内的第一个数据块的数据量作为最大值变量;遍历该区间内的所有数据块,将所述第一个数据块之后的每一个数据块的数据量和所述最大值变量进行比较,如果某个数据块的数据量比所述最大值变量还大,则将该某个数据块的数据量作为最大值变量;遍历结束后得到的最大值变量为最大数据量,与该最大数据量对应的数据块为具有最大数据量的数据块。 
所述外部定位控制数据包括从用户界面输入的信息。 
所述AVI文件包括AVI 1.0格式的视音频文件、AVI 2.0格式的视音频文件。 
根据本发明的另一个方面,提供一种定位无索引AVI文件的播放位置的装置,包括:分析单元,用于对获取的包含连续数据块的视音频数据流按预定数目划分区间,每个区间包括预定数目个连续的数据块,找出每个区间内具有最大数据量的数据块,将该具有最大数据量的数据块作为其对应区间的关键帧起始数据块;索引单元,用于根据所述分析单元输出的所有区间的关键帧起始数据块重建索引;定位单元,用于根据外部定位控制数据并结合所述索引单元重建后的索引定位AVI文件的播放位置,输出定位到的播放位置。 
所述AVI文件包括AVI 1.0格式的视音频文件、AVI 2.0格式的视音频文件。 
根据本发明的又一个方面,提供一种用于播放无索引AVI文件的播放器,包括用于获取AVI文件的文件读取模块、用于将AVI文件分离为视频数据和音频数据的分离模块、用于对视频数据和音频数据解码的解码模块,所述分离模块包括:分析单元,用于对获取的包含连续数据块的视音频数据流按预定数目划分区间,每个区间包括预定数目个连续的数据块,找出每个区间内具有最大数据量的数据块,将该具有最大数据量的数据块作为其对应区间的关键帧起始数据块;索引单元,用于根据所述分析单元输出的所有区间的关键帧起始数据块重建索引;定位单元,用于根据外部定位控制数据并结合所述索引单元重建后的索引定位AVI文件的播放位置;分离单元,用于从所述定位单元定位到的播放位置将AVI文件分离为视频数据和音频数据并输出到所述解码模块。 
所述AVI文件包括AVI 1.0格式的视音频文件、AVI 2.0格式的视音频文件。 
本发明的有益效果是:通过划分区间并找出该区间的数据量最大的数据块,该数据量最大的数据块一般即为关键帧的起始数据块,这样识别出来的关键帧的起始数据块的准确度较高,从而可以很大程度上解决播放过程中存在的画面异常或反应慢的问题。 
附图说明
图1是本发明实施例的用于播放无索引AVI文件的播放器的结构示意图; 
图2是本发明实施例的播放器的另一种结构示意图; 
图3是本发明实施例的定位无索引AVI文件的播放位置的方法的流程示意图。 
具体实施方式
下面通过具体实施方式结合附图对本发明作进一步详细说明。 
本发明实施例的设计思想是:根据实验分析统计得知视频文件的关键帧的起始数据块的数据量通常比其他数据块大得多,因此,对于无索引AVI文件,本发明实施例不必像现有技术那样把每个数据块都当作关键帧的起始数据块,而是通过划分区间并找出该区间的数据量最大的数据块,该数据量最大的数据块一般即为关键帧的起始数据块,这样识别出来的关键帧的起始数据块的准确度相比于现有方法的较高,从而可以很大程度上解决现有技术的不足引起的如画面出现异常或响应比较慢的播放问题。 
如图1所示为本发明实施例提供的用于播放无索引AVI文件的播放器,包括:文件读取模块120、分离模块140、解码模块160。文件读取模块120用于读取数据通讯接口获取的视音频文件,即获取AVI文件;分离模块140用于将视音频文件分离为音频数据和视频数据;解码模块160用于对音频数据和视频数据进行解码。应理解,播放器中还包括对解码后的音频数据和视频数据进行播放的播放模块以及如对音频或视频进行渲染处理的模块。一种实施例中,如图2所示,文件读取模块读取数据通讯接口获取视音频文件,分离模块将视音频文件分离为音频文件和视频数据;音频数据经过音频解码模块、音频渲染模块后由音频播放装置进行播放,而视频数据经过视频解码模块、视频渲染模块后通过播放接口进行播放;播放过程中可受播放控制器控制播放的进度等。 
图1所示的播放器中,分离模块140包括:分析单元141、索引单元143、定位单元145和分离单元147。分析单元141用于对获取的包含连续数据块的视音频 数据流按预定数目划分区间,每个区间包括预定数目个连续的数据块,找出每个区间内具有最大数据量的数据块,将该具有最大数据量的数据块作为其对应区间的关键帧起始数据块;索引单元143用于根据分析单元141输出的所有区间的关键帧起始数据块重建索引;定位单元145用于根据外部定位控制数据并结合索引单元143重建后的索引定位AVI文件的播放位置;分离单元147用于从定位单元145定位到的播放位置将AVI文件分离为视频数据和音频数据并输出。可以理解,实施例中,当用户有定位需求时,分离模块负责定位功能,由分析单元从文件读取模块获取到视音频文件的全部数据,并对其进行分析以重建索引。 
基于上述播放器,本发明实施例提供了一种定位无索引AVI文件的播放位置的方法,如图3所示,包括: 
分析步骤S310,对获取的包含连续数据块的视音频数据流按预定数目划分区间,每个区间包括预定数目个连续的数据块,找出每个区间内具有最大数据量的数据块,将该具有最大数据量的数据块作为其对应区间的关键帧起始数据块; 
这里,找出每个区间内具有最大数据量的数据块的算法可以采用如下算法实现:首先,将该区间内的第一个数据块的数据量作为最大值变量;然后,遍历该区间内的所有数据块,将第一个数据块之后的每一个数据块的数据量和最大值变量进行比较,如果某个数据块的数据量比最大值变量还大,则将该某个数据块的数据量作为最大值变量;最后,遍历结束后得到的最大值变量为最大数据量,与该最大数据量对应的数据块为具有最大数据量的数据块。 
索引步骤S330,根据所有区间的关键帧的起始数据块重建索引; 
这里,重建索引可采用本领域关于重建索引的现有方法实现,例如,根据得到关键帧的起始数据块,记录各个数据块的内容(如音频、视频)、块的大小及位置等,将这些信息作为索引。 
定位步骤S350,根据外部定位控制数据并结合重建后的索引定位AVI文件的播放位置,输出定位到的播放位置。 
这里,外部定位控制数据包括从用户界面输入的信息,例如用户拖动播放进度条时传入播放器的对应的时间点等。定位的过程可以采用本领域关于定位的现有方法,例如,已知视频的帧率为每秒25帧,若外部输入的信息为10秒,结合重建后的索引可以很精确地定位到相应的位置。可以理解,这样精确定位后再进行音视频数据解码播放,可以很大程度上避免画面异常及反应迟缓情况的出现,提升了用户观赏体验。 
基于上述定位无索引AVI文件的播放位置的方法,本发明实施例还提供了一种定位无索引AVI文件的播放位置的装置,包括:分析单元、索引单元、定位单元;其中各单元的功能与前述播放器中分离模块中涉及的各单元相对应,此处不在重赘。 
可见,本发明实施例可识别无索引AVI文件视频帧中的大部分关键帧的起始数据块,这样,在为无索引AVI文件重建索引时,即可不必将所有数据块都视为关键帧的起始块。由于识别出来的关键帧的起始数据块的准确度较高,从而可以很大程度上解决现有技术的不足引起的播放问题。 
在本发明实施例的定位过程中,分析单元选择对预定数量(例如200个,但不限于此)的连续个数据块做区间分析,找出该区间内的关键帧(I帧)的起始数据块。实验分析得知视频文件的关键帧起始数据块的数据量通常比其他非关键帧大得多,因此找出区间内最大的数据块一般即为关键帧的起始数据块,关键帧起始数据块的识别可以通过设置比较的算法来实现(具体如前述)。 
找到关键帧的起始数据块之后即在其索引中表现出来。因此定位单元可以从索引单元重建的索引中更为准确地识别出关键帧的起始数据块,并根据从用户界面输入的外部定位控制数据更加准确高效地进行播放定位,很大程度避免了画面异常及反应迟缓情况的出现,提升了用户观赏体验。 
准确定位之后,分离单元从定位到的播放位置开始进行音视频分离提供给后续的解码模块处理进而播放文件。 
本发明实施例的播放器、以及定位无索引AVI文件的播放位置的方法及装置适用于AVI 1.0及AVI 2.0格式的视频文件。 
本发明实施例的方法可较为准确地识别关键帧的起始数据块,从而准确定位,很大程度避免了无索引AVI文件播放定位后可能出现的画面异常或响应缓慢的情形。 
上述实施例只是本发明的举例,尽管为说明目的公开了本发明的最佳实施例和附图,但是本领域的技术人员可以理解:在不脱离本发明及所附的权利要求的精神和范围内,各种替换、变化和修改都是可能的。因此,本发明不应局限于最佳实施例和附图所公开的内容。 

Claims (8)

1.一种定位无索引AVI文件的播放位置的方法,其特征在于,包括:
分析步骤,对获取的包含连续数据块的视音频数据流按预定数目划分区间,每个区间包括预定数目个连续的数据块,找出每个区间内具有最大数据量的数据块,将该具有最大数据量的数据块作为其对应区间的关键帧起始数据块;
索引步骤,根据所有区间的关键帧起始数据块重建索引;
定位步骤,根据外部定位控制数据并结合重建后的索引定位AVI文件的播放位置,输出定位到的播放位置。
2.根据权利要求1所述的定位无索引AVI文件的播放位置的方法,其特征在于,所述找出每个区间内具有最大数据量的数据块的过程包括:
将该区间内的第一个数据块的数据量作为最大值变量;
遍历该区间内的所有数据块,将所述第一个数据块之后的每一个数据块的数据量和所述最大值变量进行比较,如果某个数据块的数据量比所述最大值变量还大,则将该某个数据块的数据量作为最大值变量;
遍历结束后得到的最大值变量为最大数据量,与该最大数据量对应的数据块为具有最大数据量的数据块。
3.根据权利要求1所述的定位无索引AVI文件的播放位置的方法,其特征在于,所述外部定位控制数据包括从用户界面输入的信息。
4.根据权利要求1至3任一项所述的定位无索引AVI文件的播放位置的方法,其特征在于,所述AVI文件包括AVI 1.0格式的视音频文件、AVI 2.0格式的视音频文件。
5.一种定位无索引AVI文件的播放位置的装置,其特征在于,包括:
分析单元,用于对获取的包含连续数据块的视音频数据流按预定数目划分区间,每个区间包括预定数目个连续的数据块,找出每个区间内具有最大数据量的数据块,将该具有最大数据量的数据块作为其对应区间的关键帧起始数据块;
索引单元,用于根据所述分析单元输出的所有区间的关键帧起始数据块重建索引;
定位单元,用于根据外部定位控制数据并结合所述索引单元重建后的索引定位AVI文件的播放位置,输出定位到的播放位置。
6.根据权利要求5所述的定位无索引AVI文件的播放位置的装置,其特征在于,所述AVI文件包括AVI 1.0格式的视音频文件、AVI 2.0格式的视音频文件。
7.一种用于播放无索引AVI文件的播放器,包括用于获取AVI文件的文件读取模块、用于将AVI文件分离为视频数据和音频数据的分离模块、用于对视频数据和音频数据解码的解码模块,其特征在于,所述分离模块包括:
分析单元,用于对获取的包含连续数据块的视音频数据流按预定数目划分区间,每个区间包括预定数目个连续的数据块,找出每个区间内具有最大数据量的数据块,将该具有最大数据量的数据块作为其对应区间的关键帧起始数据块;
索引单元,用于根据所述分析单元输出的所有区间的关键帧起始数据块重建索引;
定位单元,用于根据外部定位控制数据并结合所述索引单元重建后的索引定位AVI文件的播放位置;
分离单元,用于从所述定位单元定位到的播放位置将AVI文件分离为视频数据和音频数据并输出到所述解码模块。
8.根据权利要求7所述的用于播放无索引AVI文件的播放器,其特征在于,所述AVI文件包括AVI 1.0格式的视音频文件、AVI 2.0格式的视音频文件。
CN201110424374.2A 2011-12-16 2011-12-16 定位无索引avi文件播放位置的方法、装置及播放器 Active CN103165157B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110424374.2A CN103165157B (zh) 2011-12-16 2011-12-16 定位无索引avi文件播放位置的方法、装置及播放器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110424374.2A CN103165157B (zh) 2011-12-16 2011-12-16 定位无索引avi文件播放位置的方法、装置及播放器

Publications (2)

Publication Number Publication Date
CN103165157A true CN103165157A (zh) 2013-06-19
CN103165157B CN103165157B (zh) 2015-12-16

Family

ID=48588177

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110424374.2A Active CN103165157B (zh) 2011-12-16 2011-12-16 定位无索引avi文件播放位置的方法、装置及播放器

Country Status (1)

Country Link
CN (1) CN103165157B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103942122A (zh) * 2014-04-22 2014-07-23 南京邮电大学 一种识别AVI类型block的方法
CN105760494A (zh) * 2016-02-18 2016-07-13 珠海市杰理科技有限公司 音频文件存储方法和系统及音频文件快进快退方法和系统
CN110636368A (zh) * 2018-06-25 2019-12-31 杭州海康威视数字技术股份有限公司 媒体播放方法及装置
CN116634209A (zh) * 2023-07-24 2023-08-22 武汉能钠智能装备技术股份有限公司 一种基于热插拔的断点视频恢复系统及方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101980533A (zh) * 2010-11-12 2011-02-23 中国华录集团有限公司 一种基于索引文件实现传输流文件特技模式功能的方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101980533A (zh) * 2010-11-12 2011-02-23 中国华录集团有限公司 一种基于索引文件实现传输流文件特技模式功能的方法

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103942122A (zh) * 2014-04-22 2014-07-23 南京邮电大学 一种识别AVI类型block的方法
CN103942122B (zh) * 2014-04-22 2017-09-29 南京邮电大学 一种识别AVI类型block的方法
CN105760494A (zh) * 2016-02-18 2016-07-13 珠海市杰理科技有限公司 音频文件存储方法和系统及音频文件快进快退方法和系统
CN105760494B (zh) * 2016-02-18 2019-03-26 珠海市杰理科技股份有限公司 音频文件存储方法和系统及音频文件快进快退方法和系统
CN110636368A (zh) * 2018-06-25 2019-12-31 杭州海康威视数字技术股份有限公司 媒体播放方法及装置
CN110636368B (zh) * 2018-06-25 2021-12-24 杭州海康威视数字技术股份有限公司 媒体播放方法、系统、装置及存储介质
CN116634209A (zh) * 2023-07-24 2023-08-22 武汉能钠智能装备技术股份有限公司 一种基于热插拔的断点视频恢复系统及方法
CN116634209B (zh) * 2023-07-24 2023-11-17 武汉能钠智能装备技术股份有限公司 一种基于热插拔的断点视频恢复系统及方法

Also Published As

Publication number Publication date
CN103165157B (zh) 2015-12-16

Similar Documents

Publication Publication Date Title
US6920181B1 (en) Method for synchronizing audio and video streams
US7139470B2 (en) Navigation for MPEG streams
US8799781B2 (en) Information processing apparatus reproducing moving image and displaying thumbnails, and information processing method thereof
CN1965577B (zh) 数据记录设备、方法和数据再现设备、方法
US7912297B2 (en) Method of indexing image hierarchically and apparatus therefor
CN103747317B (zh) 一种播放库在不稳定网络下的流畅播放控制方法
TWI571116B (zh) 數位視訊串流中的特技播放
WO2017092340A1 (zh) 一种视频压缩、播放方法以及装置
WO2017092344A1 (zh) 一种视频的播放方法和装置
CN105657524A (zh) 一种视频间无缝切换的方法
CN103024603B (zh) 一种用于解决播放网络视频时短时停顿的装置及方法
CN103165151B (zh) 多媒体文件播放方法和装置
CN106686445A (zh) 对多媒体文件进行按需跳转的方法
US10021433B1 (en) Video-production system with social-media features
CN105187896A (zh) 多分段的媒体文件播放方法和系统
CN102123281A (zh) 视频播放时快进快退处理方法、装置以及移动终端
CN103165157A (zh) 定位无索引avi 文件播放位置的方法、装置及播放器
CN103491430A (zh) 流媒体数据处理方法和电子设备
CN104184980A (zh) 一种数据处理方法及电子设备
CN106385525A (zh) 一种视频播放方法及装置
US9729919B2 (en) Remultiplexing bitstreams of encoded video for video playback
CN102811380A (zh) 多媒体文件中音视频数据的解复用方法及装置
CN105847994A (zh) 一种多媒体文件的播放方法和装置
RU2383941C2 (ru) Способ и устройство для кодирования и декодирования аудиосигналов
CN100459686C (zh) 视频再现设备和视频再现方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20200611

Address after: No.266 Chuangyan Road, Qilin science and Technology Innovation Park, Jiangning District, Nanjing City, Jiangsu Province

Patentee after: Nanjing Qianying Technology Development Co., Ltd

Address before: 518000 Guangdong city of Shenzhen province Nanshan District Gao Xin Road No. 009 Chinese Technology Development Institute Technology Park building three, 22 floor

Patentee before: SHENZHEN QVOD TECHNOLOGY Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20201027

Address after: 226156 Nantong Binhai New Area, Haimen City, Hong Kong West Road, No. 999, No.

Patentee after: HAIMEN HUANGHAI PIONEER PARK SERVICES Co.,Ltd.

Address before: No.266 Chuangyan Road, Qilin science and Technology Innovation Park, Jiangning District, Nanjing City, Jiangsu Province

Patentee before: Nanjing Qianying Technology Development Co., Ltd