一种高效的音视频文件解析方法及设备的制作方法

文档序号:6772030阅读:295来源:国知局
专利名称:一种高效的音视频文件解析方法及设备的制作方法
技术领域
本发明属于音视频领域,尤其涉及一种高效的音视频文件解析方法及设备。
背景技术
随着互联网的快速发展,网络视频播放得到越来越多的关注,特别是移动设备上的视频在线播放,更是关注的焦点。而在播放音视频文件之前需要解析该音视频文件。现有的音视频文件解析方法中,是在解析了一个音频码流后接着搜索并解析该音频码流对应的视频码流;或者在解析了一个视频码流之后接着搜索并解析该视频码流对应的音频码流。当相对应的音频码流和视频码流不在相邻位置时,该方法需要来回搜索以便解析相互对应的音频码流或者视频码流,因此导致解析音视频文件的速度较慢。

发明内容
本发明实施例提供了一种高效的音视频文件解析方法,旨在解决现有的音视频文件解析方法在解析音视频文件时存在的速度较慢的问题。本发明实施例是这样实现的,一种高效的音视频文件解析方法,所述方法包括下述步骤获取音视频文件;根据下述步骤解析所述音视频文件的音频码流和视频码流在音视频文件的当前码流为音频码流时,比较音频缓存区的剩余存储空间与预设的音频存储阈值的大小,并根据比较的结果选择是否解析所述音频码流;在音视频文件的当前码流为视频码流时,比较视频缓存区的剩余存储空间与预设的视频存储阈值的大小,并根据比较的结果选择是否解析所述视频码流。本发明实施例的另一目的在于提供一种高效的音视频文件解析设备,所述设备包括文件获取单元,用于获取音视频文件;音视频文件解析单元,用于根据下述步骤解析所述音视频文件的音频码流和视频码流在音视频文件的当前码流为音频码流时,比较音频缓存区的剩余存储空间与预设的音频存储阈值的大小,并根据比较的结果选择是否解析所述音频码流;在音视频文件的当前码流为视频码流时,比较视频缓存区的剩余存储空间与预设的视频存储阈值的大小,并根据比较的结果选择是否解析所述视频码流。本发明实施例在获取了一个音视频文件后,根据音频缓存区的剩余存储空间与预设的音频存储阈值的比较结果,或者根据视频缓存区的剩余存储空间与预设的视频存储阈值的比较结果选择是否解析音视频文件的当前码流。由于在解析音频码流及视频码流之前无需搜索该音频码流和视频码流,因此极大减少了文件的搜索次数,从而能够快速解析该音视频文件的音频码流和视频码流。


图I是本发明提供的高效的音视频文件解析方法的流程图;图2是本发明提供的第一种音频码流和视频码流在音视频文件的分布图;图3是本发明提供的第二种音频码流和视频码流在音视频文件的分布图;图4是本发明提供的第四种音频码流和视频码流在音视频文件的分布图;图5是本发明提供的高效的音视频文件解析设备的结构示意图。
具体实施例方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。本发明实施例在获取了一个音视频文件后,根据音频缓存区的剩余存储空间与预设的音频存储阈值的比较结果,或者根据视频缓存区的剩余存储空间与预设的视频存储阈值的比较结果选择是否解析音视频文件的当前码流。本发明实施例提供了一种高效的音视频文件解析方法及设备。所述方法包括获取音视频文件;根据下述步骤解析所述音视频文件的音频码流和视频码流在音视频文件的当前码流为音频码流时,比较音频缓存区的剩余存储空间与预设的音频存储阈值的大小,并根据比较的结果选择是否解析所述音频码流;在音视频文件的当前码流为视频码流时,比较视频缓存区的剩余存储空间与预设的视频存储阈值的大小,并根据比较的结果选择是否解析所述视频码流。所述装置包括文件获取单元,用于获取音视频文件;音视频文件解析单元,用于根据下述步骤解析所述音视频文件的音频码流和视频码流在音视频文件的当前码流为音频码流时,比较音频缓存区的剩余存储空间与预设的音频存储阈值的大小,并根据比较的结果选择是否解析所述音频码流;在音视频文件的当前码流为视频码流时,比较视频缓存区的剩余存储空间与预设的视频存储阈值的大小,并根据比较的结果选择是否解析所述视频码流。本发明实施例在获取了一个音视频文件后,根据音频缓存区的剩余存储空间与预设的音频存储阈值的比较结果,或者根据视频缓存区的剩余存储空间与预设的视频存储阈值的比较结果选择是否解析音视频文件的当前码流。由于在解析音频码流及视频码流之前无需搜索该音频码流和视频码流,因此极大减少了文件的搜索次数,从而能够快速解析该音视频文件的音频码流和视频码流。为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。实施例一:图I示出了本发明第一实施例提供的高效的音视频文件解析方法的流程图,在本实施例中,预设一个音频存储阈值和一个视频存储阈值,在获取音视频文件后,根据音频缓存区的剩余存储空间与预设的音频存储阈值的比较结果,或者根据视频缓存区的剩余存储空间与预设的视频存储阈值的比较结果选择是否解析音视频文件的当前码流,详述如下在步骤Sll中,获取音视频文件。在本实施例中,获取需要解析的音视频文件,在获取的音视频文件中,音频码流和视频码流的存放格式可能是交错存放的,如图2所示,也可能是连续存放了多个音频码流之后再存放视频码流,如图3所示,当然,也可能是连续存放了多个视频码流之后再存放音频码流,此处不作限定。在步骤S12中,根据下述步骤解析该音视频文件的音频码流和视频码流在音视频文件的当前码流为音频码流时,比较音频缓存区的剩余存储空间与预设的音频存储阈值的大小,并根据比较的结果选择是否解析该音频码流;在音视频文件的当前码流为视频码流时,比较视频缓存区的剩余存储空间与预设的视频存储阈值的大小,并根据比较的结果选择是否解析该视频码流。在本实施例中,预设一个音频存储阈值和一个视频存储阈值,预设的音频存储阈值大于O且小于等于音频缓存区的存储空间,预设的视频存储阈值大于O且小于等于视频缓存区的存储空间。对获取的音视频文件进行解析,首先根据码流特征字判断音视频文件指针指向的当前码流是音频码流还是视频码流,若是音频码流,则比较音频缓存区的剩余存储空间与预设的音频存储阈值大小,并根据音频缓存区的剩余存储空间与预设的音频存储阈值的比较结果选择是否解析该音频码流;若是视频码流,则比较视频缓存区的剩余存储空间与预设的视频存储阈值大小,并根据视频缓存区的剩余存储空间与预设的视频存储阈值的比较结果选择是否解析该视频码流。在解析音频码流和视频码流后,将解析的音频码流存入音频缓存区,将解析的视频码流存入视频缓存区。在本发明实施例中,根据音频缓存区的剩余存储空间与预设的音频存储阈值的比较结果,或者根据视频缓存区的剩余存储空间与预设的视频存储阈值的比较结果选择是否解析音视频文件的当前音频码流和当前视频码流,由于在解析音视频文件的音频码流或视频码流之前无需搜索该音频码流或无需搜索该视频码流,因此减少了搜索文件的次数,从而能够快速解析该音视频文件的音频码流和视频码流。进一步地,在音频缓存区的剩余存储空间大于或等于预设的音频存储阈值,且视频缓存区的剩余存储空间大于或等于预设的视频存储阈值时,根据音频码流和视频码流在音视频文件的先后存放顺序依次解析该音频码流和视频码流。以依次解析图3的音视频文件为例,在解析该音视频文件时,首先根据码流的特征字判断图3所表示的音视频文件的第一个码流是音频码流还是视频码流,在判断出图3所表示的音视频文件的第一个码流是音频码流I后,再比较音频缓存区的剩余存储空间与预设的音频存储阈值的大小,若音频缓存区的剩余存储空间小于预设的音频存储阈值,则解析该音频码流1,在音频码流I解析结束后,将该音频码流I存入音频缓存区;继续根据码流特征字判断音视频文件的第2个码流是音频码流还是视频码流,在判断出音视频文件的第2个码流是音频码流2且音频缓存区的剩余存储空间小于预设的音频存储阈值之后,解析该音频码流I后的音频码流2,并将解析后的音频码流2存入音频缓存区;解析音频码流3的步骤与解析音频码流I和音频码流2的相似;在解析音频码流3之后,判断音视频文件的第4个码流是音频码流还是视频码流,在判断出音视频文件的第4个码流为视频码流I之后,比较视频缓存区的剩余存储空间与预设的视频存储阈值的大小,在视频缓存区的剩余存储空间小于预设的视频存储阈值时,解析该视频码流1,并将解析后的视频码流I存入视频缓存区;根据上面的解析方法,顺序解析音视频文件的其他码流,并将解析后的音频码流存入音频缓存区,将解析后的视频码流存入视频缓存区。在本实施例中,根据音频码流和视频码流在音视频文件的存放位置顺序解析,因此能够有效较少音频码流或者视频码流的搜索次数,从而能够快速解析出该音视频文件。并且,将解析后的音频码流存放在预设的音频缓存区,以及将解析后的视频码 流存放在预设的视频缓存区,以便后续播放解析后的音频码流或者播放解析后的视频码流更为流畅。进一步地,在视频缓存区的剩余存储空间小于预设的视频存储阈值,且音频缓存区的剩余存储空间大于或等于预设的音频存储阈值时,主动搜索并顺序解析音视频文件的音频码流,并暂停解析音视频文件的视频码流。在本实施例中,在当前码流为视频码流时,比较视频缓存区的剩余存储空间与预设的视频存储阈值的大小,在视频缓存区的剩余存储空间小于预设的视频存储阈值时,比较音频缓存区的剩余存储空间与预设的音频存储阈值的大小,在音频缓存区的剩余存储空间大于或等于预设的音频存储阈值时,主动搜索并顺序解析音视频文件的音频码流,并暂停解析音视频文件的视频码流。由于一个视频码流所占用的内存通常大于一个音频流所占用的内存,因此若设定的视频缓存区不够大,则该视频缓存区很可能在音频缓存区未满之前就被解析出来的视频码流占满,以解析图4所示的音视频文件为例,假设视频缓存区大小为125KB,预设的视频存储阈值为26KB,视频码流I的大小为100KB,在解析音视频文件的第一个码流之前,即解析视频码流I之前,比较视频缓存区的剩余存储空间与预设的视频存储阈值大小,由于视频缓存区的剩余存储空间125KB大于视频存储阈值26KB,因此解析视频码流1,并将解析的视频码流I存入视频缓存区,此时,视频缓存区的剩余存储空间为25KB,由于视频缓存区的剩余存储空间已小于视频存储阈值,因此暂停解析视频码流I之后的视频码流2 ;在判断出音频缓存区的剩余存储空间大于或等于预设的音频存储阈值时,主动搜索音视频文件未解析的音频码流,解析视频码流2之后的第一个音频码流,即直接解析音频码流1,再将解析后的音频码流I存入音频缓存区。由于音频码流I的下一个码流为视频码流3,因此在解析了音频码流I之后,比较视频缓存区的剩余存储空间与视频存储阈值的大小,判断是直接解析视频码流3还是继续暂停解析该视频码流3。当然,若在解析音频码流I之前,音频缓存区的剩余存储空间已小于音频存储阈值,则不解析该音频码流I。进一步地,在音频缓存区的剩余存储空间小于预设的音频存储阈值,且视频缓存区的剩余存储空间大于或等于预设的视频存储阈值时,主动搜索并顺序解析音视频文件的视频码流,并暂停解析音视频文件的音频码流。以解析图3所示的音视频文件为例,假设设定的音频缓存区大小为18KB,预设的音频存储阈值为7KB,该音视频文件中前2个音频码流的大小都为6KB,在解析音频码流I之前,比较音频缓存区的剩余存储空间与预设的音频存储阈值大小,由于音频缓存区的剩余存储空间18KB大于预设的音频存储阈值7KB,因此获取并解析音频码流1,将解析后的音频码流I存入音频缓存区,此时,音频缓存区的剩余存储空间从18KB变为12KB。继续比较音频缓存区的剩余存储空间与预设的音频缓存阈值大小,由于音频缓存区的剩余存储空间12KB仍大于预设的音频存储阈值7KB,因此继续解析音频码流I后的音频码流2,并将解析后的音频码流2存入音频缓存区,此时,音频缓存区的剩余存储空间从12KB变为6KB,小于预设的音频存储阈值7KB,因此在解析了音频码流2之后,暂停解析音频码流3 ;比较视频缓存区的剩余存储空间与预设的视频存储阈值的大小,在视频缓存区的剩余存储空间大于或等于预设的视频存储阈值时,主动搜索并解析音频码流3之后的视频码流1,在解析了该视频码流I之后,比较音频缓存区的剩余存储空间与预设的音频存储阈值大小,判断音频缓存区的剩余存储空间是否仍小于预设的音频存储阈值,若音频缓存区的剩余存储空间不小于预设的音频存储阈值,即音频缓存区存储的部分音频码流已被读取出来后,则返回解析音频码流3,并在解析了音频码流3且视频缓存区的剩余存储空间仍大于或等于预设的视频存储阈值之后,跳过已解析的视频码流1,直接解析视频码流2 ;若音频缓存区的剩余存储空间仍小于预设的音频存储阈值,且视频缓存区的剩余存储空间仍大于或等于预设的视频存储阈值时,则解析视频码流I之后的视频码流2。进一步地,在音频缓存区的剩余存储空间小于预设的音频存储阈值,且视频缓存区的剩余存储空间小于预设的视频存储阈值时,暂停解析音视频文件的音频码流和视频码流。在本发明第一实施例中,在获取了一个音视频文件后,根据音频缓存区的剩余存储空间与预设的音频存储阈值的比较结果,或者根据视频缓存区的剩余存储空间与预设的视频存储阈值的比较结果选择是否解析音视频文件的当前码流。由于在解析音频码流及视频码流之前无需搜索该音频码流和视频码流,因此极大减少了文件的搜索次数,从而能够快速解析该音视频文件的音频码流和视频码流。进一步的,在视频缓存区的剩余存储空间小于预设的视频存储阈值,且音频缓存区的剩余存储空间大于或等于预设的音频存储阈值时,主动搜索并顺序解析音视频文件的音频码流,并暂停解析音视频文件的视频码流。在音频缓存区的剩余存储空间小于预设的音频存储阈值,且视频缓存区的剩余存储空间大于或等于预设的视频存储阈值时,主动搜索并顺序解析音视频文件的视频码流,并暂停解析音视频文件的音频码流。从而在内存有限的情况下,也能够保证音视频文件的顺利解析。实施例二 :图5示出了本发明第二实施例提供的高效的音视频文件解析设备的结构示意图,为了便于说明,仅示出了与本发明实施例相关的部分。该高效的音视频文件解析设备可以用于通过有线或者无线网络连接服务器的各种信息处理终端,例如移动电话、口袋计算机(Pocket Personal Computer, PPC)、掌上电脑、计算机、笔记本电脑、个人数字助理(Personal Digital Assistant, PDA)等,可以是运行于这些终端内的软件单元、硬件单元或者软硬件相结合的单元,也可以作为独立的挂件集成到这些终端中或者运行于这些终端的应用系统中,其中文件获取单元51,用于获取音视频文件。音视频文件解析单元52,用于根据下述步骤解析该音视频文件的音频码流和视频码流在音视频文件的当前码流为音频码流时,比较音频缓存区的剩余存储空间与预设的音频存储阈值的大小,并根据比较的结果选择是否解析该音频码流;在音视频文件的当前码流为视频码流时,比较视频缓存区的剩余存储空间与预设的视频存储阈值的大小,并根据比较的结果选择是否解析该视频码流。在本实施例中,预设一个音频存储阈值和一个视频存储阈值,并根据音频缓存区的剩余存储空间与预设的音频存储阈值的比较结果,或者根据视频缓存区的剩余存储空间与预设的视频存储阈值的比较结果解析获取的音视频文件。进一步地,该音视频文件解析单元52包括音视频码流顺序解析模块521、音频码流主动解析模块522以及视频码流主动解析模块523。音视频码流顺序解析模块521,用于在音频缓存区的剩余存储空间大于或等于预设的音频存储阈值,且视频缓存区的剩余存储空间大于或等于预设的视频存储阈值时,根据音频码流和视频码流在音视频文件的先后存放顺序依次解析该音频码流和视频码流。在本实施例中,当音频缓存区的剩余存储空间足够大,且视频缓存区的剩余存储空间足够大时,顺序解析音视频文件的音频码流和视频码流。音频码流主动解析模块522,用于在视频缓存区的剩余存储空间小于预设的视频存储阈值,且音频缓存区的剩余存储空间大于或等于预设的音频存储阈值时,主动搜索并顺序解析音视频文件的音频码流,并暂停解析音视频文件的视频码流。在本实施例中,当视频缓存区的剩余存储空间不大,且音频缓存区的剩余存储空间足够大时,暂停解析音视频文件的视频码流,主动搜索并顺序解析音视频文件的音频码流。视频码流主动解析模块523,用于在音频缓存区的剩余存储空间小于预设的音频存储阈值,且视频缓存区的剩余存储空间大于或等于预设的视频存储阈值时,主动搜索并顺序解析音视频文件的视频码流,并暂停解析音视频文件的音频码流。在本实施例中,当音频缓存区的剩余存储空间不大,且视频缓存区的剩余存储空间足够大时,暂停解析音视频文件的音频码流,主动搜索并顺序解析音视频文件的视频码流。进一步地,当音频缓存区的剩余存储空间和视频缓存区的剩余存储空间都不够大时,暂停解析音视频文件的音频码流和视频码流。在本发明第二实施例中,音视频文件解析单元52根据音频缓存区的剩余存储空间与预设的音频存储阈值的比较结果,或者根据视频缓存区的剩余存储空间与预设的视频存储阈值的比较结果解析文件获取单元51获取的音视频文件。由于在解析音频码流及视频码流之前无需搜索该音频码流和视频码流,因此极大减少了文件的搜索次数,从而能够快速解析该音视频文件的音频码流和视频码流。本发明在获取了一个音视频文件后,根据音频缓存区的剩余存储空间与预设的音频存储阈值的比较结果,或者根据视频缓存区的剩余存储空间与预设的视频存储阈值的比较结果选择是否解析音视频文件的当前码流。由于在解析音频码流及视频码流之前无需搜索该音频码流和视频码流,因此极大减少了文件的搜索次数,从而能够快速解析该音视频文件的音频码流和视频码流。进一步的,在视频缓存区的剩余存储空间小于预设的视频存储阈值,且音频缓存区的剩余存储空间大于或等于预设的音频存储阈值时,主动搜索并顺序解析音视频文件的音频码流,并暂停解析音视频文件的视频码流。在音频缓存区的剩余存储空间小于预设的音频存储阈值,且视频缓存区的剩余存储空间大于或等于预设的视频存储阈值时,主动搜索并顺序解析音视频文件的视频码流,并暂停解析音视频文件的音频码流。从而在内存有限的情况下,也能够保证音视频文件的顺利解析。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种高效的音视频文件解析方法,其特征在于,所述方法包括下述步骤获取首视频文件;根据下述步骤解析所述音视频文件的音频码流和视频码流在音视频文件的当前码流为音频码流时,比较音频缓存区的剩余存储空间与预设的音频存储阈值的大小,并根据比较的结果选择是否解析所述音频码流;在音视频文件的当前码流为视频码流时,比较视频缓存区的剩余存储空间与预设的视频存储阈值的大小,并根据比较的结果选择是否解析所述视频码流。
2.如权利要求I所述的方法,其特征在于,在音频缓存区的剩余存储空间大于或等于预设的音频存储阈值,且视频缓存区的剩余存储空间大于或等于预设的视频存储阈值时,根据音频码流和视频码流在音视频文件的先后存放顺序依次解析所述音频码流和视频码流。
3.如权利要求I所述的方法,其特征在于,在视频缓存区的剩余存储空间小于预设的视频存储阈值,且音频缓存区的剩余存储空间大于或等于预设的音频存储阈值时,主动搜索并顺序解析音视频文件的音频码流,并暂停解析音视频文件的视频码流。
4.如权利要求I所述的方法,其特征在于,在音频缓存区的剩余存储空间小于预设的音频存储阈值,且视频缓存区的剩余存储空间大于或等于预设的视频存储阈值时,主动搜索并顺序解析音视频文件的视频码流,并暂停解析音视频文件的音频码流。
5.一种高效的音视频文件解析设备,其特征在于,所述设备包括文件获取单元,用于获取音视频文件;音视频文件解析单元,用于根据下述步骤解析所述音视频文件的音频码流和视频码流在音视频文件的当前码流为音频码流时,比较音频缓存区的剩余存储空间与预设的音频存储阈值的大小,并根据比较的结果选择是否解析所述音频码流;在音视频文件的当前码流为视频码流时,比较视频缓存区的剩余存储空间与预设的视频存储阈值的大小,并根据比较的结果选择是否解析所述视频码流。
6.如权利要求5所述的设备,其特征在于,所述音视频文件解析单元包括音视频码流顺序解析模块,用于在音频缓存区的剩余存储空间大于或等于预设的音频存储阈值,且视频缓存区的剩余存储空间大于或等于预设的视频存储阈值时,根据音频码流和视频码流在音视频文件的先后存放顺序依次解析所述音频码流和视频码流。
7.如权利要求5所述的设备,其特征在于,所述音视频文件解析单元包括音频码流主动解析模块,用于在视频缓存区的剩余存储空间小于预设的视频存储阈值,且音频缓存区的剩余存储空间大于或等于预设的音频存储阈值时,主动搜索并顺序解析音视频文件的音频码流,并暂停解析音视频文件的视频码流。
8.如权利要求5所述的设备,其特征在于,所述音视频文件解析单元包括视频码流主动解析模块,用于在音频缓存区的剩余存储空间小于预设的音频存储阈值,且视频缓存区的剩余存储空间大于或等于预设的视频存储阈值时,主动搜索并顺序解析音视频文件的视频码流,并暂停解析音视频文件的音频码流。
全文摘要
本发明适用于音视频领域,提供了一种高效的音视频文件解析方法及设备。所述方法包括下述步骤获取音视频文件;根据下述步骤解析所述音视频文件的音频码流和视频码流在音视频文件的当前码流为音频码流时,比较音频缓存区的剩余存储空间与预设的音频存储阈值的大小,并根据比较的结果选择是否解析所述音频码流;在音视频文件的当前码流为视频码流时,比较视频缓存区的剩余存储空间与预设的视频存储阈值的大小,并根据比较的结果选择是否解析所述视频码流。本发明由于在解析音视频文件的音频码流和解析视频码流之前无需搜索该音频码流和该视频码流,因此减少了搜索文件的次数,从而能够快速解析该音视频文件的音频码流和视频码流。
文档编号G11B20/12GK102956250SQ201110236510
公开日2013年3月6日 申请日期2011年8月17日 优先权日2011年8月17日
发明者胡静, 苏丹, 张舜华, 陈杰, 胡胜发 申请人:安凯(广州)微电子技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1