专利名称:一种播放封装错位音视频文件的方法及终端的制作方法
技术领域:
本发明涉及一种计算机技术领域,特别涉及一种基于LINUX(—种操作系统)系统 播放封装错位音视频文件的方法及终端。
背景技术:
MKV是Matroska的一种媒体文件,Matroska是一种新的多媒体封装格式,它 可将多种不同编码的视频及16条以上不同格式的音频和不同语言的字幕流封装到一个 Matroska Media 文件当中。MKV不是一种压缩格式,MKV是一种新型多媒体封装格式,也称多媒体容器 (Multimedia Container)。它不同于DivX、XviD等视频编码格式,也不同于MP3、Ogg等音 频编码格式。MKV只是为这些音、视频提供外壳的“组合”和“封装”格式。换句话说,MKV 就是一种容器格式,常见的AVI、V0B、MPEG、RM等格式其实也都属于这种类型。但它们要么 结构陈旧,要么不够开放,这才促成了 MKV这类新型多媒体封装格式的诞生。Matroska媒体定义了三种类型的文件MKV是视频文件,它里面可能还包含有音 频和字幕;MKA是单一的音频文件,但可能有多条及多种类型的音轨;MKS是字幕文件。这三 种文件以MKV最为常见。MKV最大的特点就是能容纳多种不同类型编码的视频、音频及字幕流,甚至连非常 封闭的RealMedia(—种播放器)及QuickTime (—种播放器)这类流媒体也被它囊括进去, 可以说是对传统媒体格式的一次大颠覆,几乎变成了一个万能的媒体容器。由于目前存在大量的MKV封装打包软件,且各软件因编写公司、个人的技术水平 不相同,导致出现大量的封装错位MKV视频文件,这种文件其播放信息完整,但是在数据结 构上,没有按照MKV标准格式进行数据组合,如果按照MKV标准格式进行解析,不能获得正 确的信息,这样就使播放器无法正确解码播放。特别是基于Iinux操作系统环境下,音视频文件因数据中音视频信息封装错位, 经常会导致无法播放的情况出现。因此,现有技术还有待于改进和发展。
发明内容
鉴于上述现有技术的不足之处,本发明的目的在于提供一种播放封装错位音视频 文件的方法及终端,从而能正确解析封装错位音视频文件并获取播放信息,使播放器能够 播放这种类型的文件。为了达到上述目的,本发明采取了以下技术方案一种基于LINUX系统播放封装错位音视频文件的方法,其中,包括步骤将需播放的音视频文件与其相对应标准格式的信息特征点值进行逐一比对;在具有匹配的特征点值时进行信息解析,得到解析信息,并将所述解析信息存放 到临时数据库中;
当所述解析信息正确反映整个封装错位音视频文件的信息时,停止所述信息特征 点值的比对,把所述存放在临时数据库中的解析信息发送给播放器的解码模块进行播放。所述基于LINUX系统播放封装错位视频文件的方法,其中,进一步包括建立一个 相对应标准格式的音视频文件封装格式比对数据库,用于存储标准格式音视频文件的格式 特征标识及参数提取协议。所述基于LINUX系统播放封装错位音视频文件的方法,其中,与所述信息特征点 值的比对过程进一步还包括按照文件流的方式打开所述音视频文件,判断能否播放;在 不能播放时则从所述比对数据库中提取与所述音视频文件相对应标准格式,将所述音视频 文件与所提取标准格式中的对应信息特征点值进行逐一比对。所述基于LINUX系统播放封装错位音视频文件的方法,其中,所述判断能否播放 的过程进一步还包括使用对应的标准格式对所述音视频文件进行解析,判断能否播放所 述音视频文件;在不能播放时,通过标准格式解析器获取解析错误消息。所述基于LINUX系统播放封装错位音视频文件的方法,其中,所述音视频文件包 括MKV视频文件或TS流字符型标识文件。一种终端,其中,包括比对模块,用于将需播放的音视频文件与其相对应标准格式的信息特征点值进行 逐一比对;解析模块,用于根据所述比对模块的比对,在具有匹配的特征点值时进行信息解 析,得到解析信息,并将所述解析信息存放到临时数据库中;信息发送模块,用于当所述解析信息正确反映整个封装错位音视频文件的信息 时,停止所述音视频文件的对比,并把所述存放在临时数据库中的解析信息发送给播放器 的解码模块进行播放;比对数据库,用于存储文件格式的特征标识及参数提取协议。所述的终端,其中,还包括数据读取模块,用于获取封装错位音视频文件,以及,在不能播放所述音视频文件 时,从所述比对数据库中提取与所述音视频文件相对应标准格式。本发明提供了一种基于LINUX系统播放封装错位音视频文件的方法及终端,通过 将封装错位的音视频文件与其相对应标准格式的信息特征点值进行逐一比对,并在发现匹 配的特征点值时进行信息解析,得到解析信息,将所述解析信息存放到临时数据库中;然后 在解析信息能够足够反映封装错位的音视频文件时播放该解析信息。基于LINUX操作系统 环境下,能够正确播放封装错位的音视频文件,而且不会干扰标准格式解析器的工作。
图1是本发明实施例提供的基于LINUX系统播放封装错位音视频文件的方法流程 图;图2为本发明实施例提供的终端结构示意图;图3a,图北为本发明实施例提供的MKV视频文件的封装结构图。
具体实施例方式本发明提供一种基于LINUX系统播放封装错位音视频文件的方法及终端,用于在 计算机等终端中基于LINUX操作系统播放封装错位的音视频文件,具体为将封装错位的 音视频文件与其相对应标准格式的信息特征点值进行逐一比对;如果发现匹配的特征点 值,则进行信息解析,得到解析信息,将所述解析信息存放到临时数据库中;当所述解析信息 正确反映整个封装错位音视频文件的信息时,停止所述信息特征点值的比对,把所述存放在 临时数据库中的解析信息发送给播放器的解码模块进行播放。基于LINUX操作系统环境下, 能够正确播放封装错位音视频文件,而且不会干扰标准格式解析器的工作。为使本发明的目 的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。如图1所示,本发明实施例提供的基于LINUX系统播放封装错位音视频文件的方 法包括步骤100、建立一个相对应标准格式的音视频文件封装格式比对数据库,用于存储标准 格式音视频文件的格式特征标识及参数提取协议。101、按照文件流的方式打开所述音视频文件,判断是否能播放,即具体为使用与 所述音视频文件相对应的标准格式对所述音视频文件进行解析,判断是否能够播放所述音 视频文件,如果不能,则确定是封装错位音视频文件,标准格式解析器获取解析错误消息, 则进行步骤102。102、在不能播放时则从所述比对数据库中提取与所述音视频文件相对应标准格 式,将所述音视频文件与所提取标准格式中的对应信息特征点值进行逐一比对;该信息特征点为具有该封装错位音视频文件特征的信息元素或者点,并找出其相 同或者相匹配的信息元素或者点。103、如果发现匹配的特征点值,则进行信息解析,得到解析信息,将所述解析信息 存放到临时数据库中;解析该特征点值,得到解析的音视频文件信息。104、当所述解析信息正确反映整个封装错位音视频文件的信息时,停止所述信息 特征点值的比对,把所述存放在临时数据库中的解析信息发送给播放器的解码模块进行播 放。本发明实施例还提供一种终端,如图2所示,包括比对数据库200,用于储各式文件格式的特征标识及参数提取协议;比对模块201,用于将需播放的音视频文件与其相对应标准格式的信息特征点值 进行逐一比对;解析模块202,用于根据所述比对模块201的比对,如果发现匹配的特征点值,则 进行信息解析,得到解析信息,将所述解析信息存放到临时数据库中;信息发送模块203,当所述解析信息正确反映整个封装错位音视频文件的信息时, 停止所述信息特征点值的比对,把所述存放在临时数据库中的解析信息发送给播放器的解 码模块进行播放。进一步的实施例中,所述终端还包括数据读取模块204,用于获取封装错位音视频文件,以及,在不能播放所述音视频 文件时,从所述比对数据库中提取与所述音视频文件相对应标准格式。
其中,上述所述音视频文件包括MKV视频文件或其它TS流等字符型标识的文件均 可适用。下面通过一个具体的应用实施例对本发明进一步详细说明如图3a和图北所示,MKV标准格式的正常MKV视频文件301,正常MKV视频文件 301分为两部分数据文件开始位置为正常MKV视频文件头部分302、后面为正常MKV视频 文件数据部分303 ;而封装错位MKV视频文件304分为三部分封装错位MKV视频文件数据 部分一 305、封装错位MKV视频文件头306、封装错位MKV视频文件数据部分二 307。对于上述装错位MKV视频文件304,该封装错位MKV视频文件304播放过程包括 该MKV数据读取模块将MKV视频文件送入MKV标准格式解析模块,当MKV视频文件为正常 MKV视频文件301时,MKV标准格式解析模块能够正确识别该正常MKV视频文件301,并获 取相关音视频信息,传递音视频信息和数据到MKV数据解码播放模块进行文件播放。当MKV视频文件为封装错位MKV视频文件304时,MKV标准格式解析模块不能够 正确识别该文件,则启动所述比对模块201,从所述比对数据库中提取与该MKV视频文件相 对应标准格式,将所述封装错位MKV视频文件304与所提取标准格式预置的各种MKV信息 特征点值进行逐一比对。将所述封装错位MKV视频文件304进行信息解析,得到解析信息, 将所述解析信息存放到临时数据库中。当发现所述解析信息已经能够正确反映整个封装错位MKV视频文件的各种信息 时,停止所述MKV视频文件的对比,把所述存放在临时数据库中的解析信息发送给播放器 的解码模块进行播放。综上所述,本发明提供了一种基于LINUX系统播放封装错位音视频文件的方法及 终端,其将需播放的音视频文件与其相对应标准格式的信息特征点值进行逐一比对;在具 有匹配的特征点值时进行信息解析,得到解析信息,并将所述解析信息存放到临时数据库 中;当所述解析信息正确反映整个封装错位音视频文件的信息时,停止所述信息特征点值 的比对,把所述存放在临时数据库中的解析信息发送给播放器的解码模块进行播放。基于 LINUX操作系统环境下,能够正确播放封装错位的音视频文件,而且不会干扰标准格式解析 器的工作。应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换, 而所有这些改进和变换都应属于本发明所附权利要求的保护范围。
权利要求
1.一种基于LINUX系统播放封装错位音视频文件的方法,其特征在于,包括步骤将需播放的音视频文件与其相对应标准格式的信息特征点值进行逐一比对;在具有匹配的特征点值时进行信息解析,得到解析信息,并将所述解析信息存放到临 时数据库中;当所述解析信息正确反映整个封装错位音视频文件的信息时,停止所述信息特征点值 的比对,把所述存放在临时数据库中的解析信息发送给播放器的解码模块进行播放。
2.如权利要求1所述基于LINUX系统播放封装错位视频文件的方法,其特征在于,进一 步包括建立一个相对应标准格式的音视频文件封装格式比对数据库,用于存储标准格式 音视频文件的格式特征标识及参数提取协议。
3.如权利要求2所述基于LINUX系统播放封装错位音视频文件的方法,其特征在于, 与所述信息特征点值的比对过程进一步还包括按照文件流的方式打开所述音视频文件, 判断能否播放;在不能播放时则从所述比对数据库中提取与所述音视频文件相对应标准格 式,将所述音视频文件与所提取标准格式中的对应信息特征点值进行逐一比对。
4.如权利要求3所述基于LINUX系统播放封装错位音视频文件的方法,其特征在于,所 述判断能否播放的过程进一步还包括使用对应的标准格式对所述音视频文件进行解析, 判断能否播放所述音视频文件;在不能播放时,通过标准格式解析器获取解析错误消息。
5.如权利要求1至4任一所述基于LINUX系统播放封装错位音视频文件的方法,其特 征在于,所述音视频文件包括MKV视频文件或TS流字符型标识文件。
6.一种终端,其特征在于,包括比对模块,用于将需播放的音视频文件与其相对应标准格式的信息特征点值进行逐一 比对;解析模块,用于根据所述比对模块的比对,在具有匹配的特征点值时进行信息解析,得 到解析信息,并将所述解析信息存放到临时数据库中;信息发送模块,用于当所述解析信息正确反映整个封装错位音视频文件的信息时,停 止所述音视频文件的对比,并把所述存放在临时数据库中的解析信息发送给播放器的解码 模块进行播放;比对数据库,用于存储文件格式的特征标识及参数提取协议。
7.如权利要求6所述的终端,其特征在于,还包括数据读取模块,用于获取封装错位音视频文件,以及,在不能播放所述音视频文件时, 从所述比对数据库中提取与所述音视频文件相对应标准格式。
全文摘要
本发明提供一种播放封装错位音视频文件的方法及终端,将需播放的音视频文件与其相对应标准格式的信息特征点值进行逐一比对;在具有匹配的特征点值时进行信息解析,得到解析信息,并将所述解析信息存放到临时数据库中;当所述解析信息正确反映整个封装错位音视频文件的信息时,停止所述信息特征点值的比对,把所述存放在临时数据库中的解析信息发送给播放器的解码模块进行播放。基于LINUX操作系统环境下,能够正确播放封装错位的音视频文件,而且不会干扰标准格式解析器的工作。
文档编号G06F17/30GK102117271SQ20091011369
公开日2011年7月6日 申请日期2009年12月31日 优先权日2009年12月31日
发明者刘纹高 申请人:Tcl集团股份有限公司