发明内容
本发明所要解决的技术问题在于,提供一种能够使用户在播放流媒体文件时显示出该流媒体文件中各音频或字幕的语言信息的流媒体语言匹配装置及方法。
为了解决上述技术问题,一方面,本发明的实施例提供了一种流媒体语言匹配装置,所述流媒体包含视频数据流、至少一条音频数据流和PMT,该装置包括:语言信息获取单元,用于在播放所述流媒体之前获取该流媒体中各音频数据流的语言信息;语言信息合成单元,用于在所述PMT中为每一条音频数据流添加一个音频语言标识符,各所述音频语言标识符记载有与其一一对应的各音频数据流的语言信息;语言信息解码单元,用于在播放所述流媒体时解码所述PMT中的各音频语言标识符以获得各音频数据流的语言信息,并输出解码出的所述语言信息。
所述流媒体还包含至少一条字幕数据流,所述语言信息获取单元还用于在播放所述流媒体之前获取流媒体中各字幕数据流的语言信息;所述语言信息合成单元还用于在所述PMT中为每一条字幕数据流添加一个字幕语言标识符,各所述字幕语言标识符记载有与其一一对应的各字幕数据流的语言信息;所述语言信息解码单元还用于在播放所述流媒体时解码所述PMT中的各字幕语言标识符以获得各字幕数据流的语言信息,并输出解码出的所述语言信息。
所述流媒体为DVD或BD中导出的媒体文件,所述语言信息获取单元通过DVD或BD中的导航信息文件提取出所述媒体文件中音频数据流或字幕数据流的语言信息。
所述音频语言标识符和/或字幕语言标识符包括用于识别标识符种类的语言标识符ID和用于存放语言信息的语言编码。
所述语言编码采用ISO639编码标准。
所述语言编码定义为4个字节的编码长度。
另一方面,本发明的实施例提供了一种流媒体语言信息匹配方法,所述流媒体包含视频数据流、至少一条音频数据流和PMT,所述方法包括:S201:在播放所述流媒体之前获取流媒体中各音频数据流的语言信息;S202:在所述PMT中为每一条音频数据流添加一个音频语言标识符,各所述音频语言标识符记载有与其一一对应的各音频数据流的语言信息;S203:在播放所述流媒体时解码所述PMT中的各音频语言标识符以获得各音频数据流的语言信息,并输出解码出的所述语言信息。
所述流媒体还包含至少一条字幕数据流,在所述步骤S201中,进一步获取流媒体中各字幕数据流的语言信息;在所述步骤S202中,进一步在所述PMT中为每一条字幕数据流添加一个字幕语言标识符,各所述字幕语言标识符记载有与其一一对应的各字幕数据流的语言信息;在所述步骤S203中,进一步解码所述PMT中的各字幕语言标识符以获得各字幕数据流的语言信息,并输出解码出的所述语言信息。
所述流媒体为DVD或BD中导出的媒体文件,在所述步骤S202中,通过DVD或BD中的导航信息文件将所述媒体文件中音频数据流或字幕数据流的语言信息提取出来。
所述音频语言标识符和/或字幕语言标识符包括用于存放语言信息的语言编码和用于识别标识符种类的语言标识符ID。
采用本发明提供的一种流媒体语言信息匹配装置及方法的技术方案,由于语言信息合成单元在流媒体文件的PMT中为每一条音频数据流添加了一条音频语言标识符,且各条音频语言标识符记载有与其一一对应的各音频数据流的语言信息,因此在播放流媒体文件时,当需要在不同音频之间进行选择的时候,语言信息解码单元可将PMT中包含语言信息的各音频语言标识符解码并显示出来供用户选择。本发明通过在播放流媒体文件之前改变其PMT的内容用以对流媒体文件进行修正,以及在播放时通过对修正后的流媒体文件解码输出以获得语言信息,克服了现有技术中流媒体文件在播放时不能显示各条音频数据流的语言信息的技术问题,达到了为流媒体文件的播放提供更详细、人性化选择的技术效果。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面参考附图对本发明的实施例进行描述。应当说明的是,本文中提到的语言信息均指的是用于表明某条音频或字幕对应的是哪个国家的语言的信息。参见图1,为本发明中一种流媒体语言信息匹配装置一种实施例的结构示意图。其中,流媒体包含视频数据流、至少一条音频数据流和PMT。本实施方式下,该装置包括:用于在播放流媒体之前获取流媒体中各音频数据流的语言信息的语言信息获取单元1,用于在上述PMT中为每一条音频数据流添加一个音频语言标识符的语言信息合成单元2,以及用于在播放上述流媒体时解码所述PMT中的各音频语言标识符以获得各音频数据流的语言信息,并输出解码出的语言信息的语言信息解码单元3。其中,上述各音频语言标识符记载有与其一一对应的各音频数据流的语言信息。
进一步的,本发明中所提到的流媒体还可包含至少一条字幕数据流,因此,在本发明提供的一种流媒体语言信息匹配装置的另一种实施方式下,语言信息获取单元1还用于在播放流媒体之前获取该流媒体中各字幕数据流的语言信息,语言信息合成单元2还用于在PMT中为每一条字幕数据流添加一个包含有各上述字幕数据流语言信息的字幕语言标识符,语言信息解码单元3还用于在播放流媒体时解码上述PMT中的各字幕语言标识符以获得各字幕数据流的语言信息,并输出解码出的语言信息。其中,上述各字幕语言标识符记载有与其一一对应的各字幕数据流的语言信息。
根据标准ISO13818的第一部分,流媒体中的PMT用来登记流媒体文件中各个流的信息,比如视频的分辨率,帧率,流ID等参数。这些参数都是以标识符的形式存放的,所以本发明提供的一种流媒体语言信息匹配装置通过为每一条音频数据流或字幕数据流增加一个语言标识符,用以存放该条流对应的语言信息。
本发明提供的一种流媒体语言信息匹配装置,流媒体可以为DVD或BD中导出的媒体文件,也可以为非DVD或BD中导出的普通流媒体文件。本实施方式下,流媒体指DVD或BD中导出的媒体文件,语言信息获取单元1通过DVD或BD中的导航信息文件将单个媒体文件的语言信息提取出来,并通过语言信息合成单元2将获得的语言信息添加至PMT中。在本发明的另一种实施方式下,当流媒体指的是非DVD或BD中导出的媒体文件时,由于缺少包含媒体文件信息的导航信息文件,因此语言信息获取单元1也可以通过对MPEG文件直接进行播放查看获取语言信息,即用户对MPEG文件直接进行播放时,选中某条音频数据流和/或某条字幕数据流,来查看该语言信息是属于什么语种,从而获取到语言信息,然后通过语言信息合成单元2来添加对应的音频语言标识符和/或字幕语言标识符。
本实施方式下,上述音频语言标识符和/或字幕语言标识符包括用于存放语言信息的语言编码和用于识别标识符种类的语言标识符ID。为了符合语言标识的标准化,我们可以用ISO639的编码方式来表示流所对应的语言信息。为了编程操做方便,我们定义4个字节来存放ISO639编码信息,这样编程的时候就可以使用一个长整形来存放语言编码信息。比如一条英语音频,ISO639的编码为 “eng”, 使用4字节的标识符来描述就是0x67,0x6E,0x65,0x00。其它语言的标识符与此类此。需要说明的是,由于ISO13818第一部分已经对各标识符的ID分配作出了规定,所以我们自己添加的关于语言的描述符ID只能从64到255之间选一个,以免和目前常用的其它描述符ID冲突。
图2为本发明中一种流媒体语言信息匹配方法一种实施例的流程图。流媒体包含视频数据流、至少一条音频数据流和PMT,该方法包括:
S201:在播放流媒体之前获取流媒体中各音频数据流的语言信息;
S202:在PMT中为每一条音频数据流添加一个音频语言标识符,上述各音频语言标识符记载有与其一一对应的各音频数据流的语言信息;
S203:在播放上述流媒体时解码所述PMT中的各音频语言标识符以获得各音频数据流的语言信息,并输出解码出的所述语言信息。
进一步的,上述流媒体还可包含至少一条字幕数据流,因此,在本发明提供的一种流媒体语言信息匹配方法的另一种实施方式下,在步骤S201中,进一步获取流媒体中各字幕数据流的语言信息,在步骤S202中,进一步在PMT中添加包含有各字幕数据流语言信息的字幕语言标识符,各字幕语言标识符记载有与其一一对应的各字幕数据流的语言信息;在步骤S203中,解码上述PMT中的各字幕语言标识符以进一步获得各字幕数据流的语言信息,并输出解码出的语言信息。
根据标准ISO13818的第一部分,流媒体中的PMT用来登记流媒体文件中各个流的信息。比如视频的分辨率,帧率,流ID等参数。这些参数都是以标识符的形式存放的。所以我们可以通过为每一条音频流、字幕流增加一个语言标识符,用以存放该条流对应的语言信息。
本发明提供的一种流媒体语言信息匹配方法,流媒体可以为DVD或BD中导出的媒体文件,也可以为非DVD或BD中导出的普通流媒体文件。本实施方式下,所述流媒体指DVD或BD中导出的媒体文件,在步骤S202中,通过DVD或BD中的导航信息文件将媒体文件中各音频数据流或各字幕数据流的语言信息提取出来。在本发明的另一种实施方式下,当流媒体指的是非DVD或BD中导出的媒体文件时,由于缺少包含媒体文件信息的导航信息文件,因此也可以通过对MPEG文件直接进行播放查看获取语言信息,即用户对MPEG文件直接进行播放时,选中某条音频数据流和/或某条字幕数据流,来查看该语言信息是属于什么语种,从而获取到语言信息,然后在PMT中添加对应的音频语言标识符和/或字幕语言标识符。
本实施方式下,上述音频语言标识符和/或字幕语言标识符包括用于存放语言信息的语言编码和用于识别标识符种类的语言标识符ID。为了符合语言标识的标准化,我们可以用ISO639的编码方式来表示流所对应的语言信息。为了编程操做方便,我们定义4个字节来存放ISO639编码信息,这样编程的时候就可以使用一个长整形来存放语言编码信息。比如一条英语音频,ISO639的编码为 “eng”, 使用4字节的标识符来描述就是0x67,0x6E,0x65,0x00。其它语言的标识符与此类此。需要说明的是,由于ISO13818第一部分已经对各标识符的ID分配作出了规定,所以我们自己添加的关于语言的描述符ID只能从64到255之间选一个,以免和目前常用的其它描述符ID冲突。
根据本发明提供的一种流媒体语言信息匹配装置及方法的一种实施方式,由于语言信息合成单元2在流媒体文件的PMT中为每一条音频数据流添加了包含有各音频数据流语言信息的音频语言标识符,因此在播放流媒体文件时,当需要在不同音频之间进行选择的时候,语言信息解码单元3可将PMT中包含语言信息的各音频语言标识符解码并显示出来供用户选择。本发明实施例具有如下优点或有益效果:通过在播放流媒体文件之前改变其PMT的内容用以对流媒体文件进行修正,以及在播放时通过对修正后的流媒体文件解码输出以获得语言信息,克服了现有技术中流媒体文件在播放时不能显示各条音频数据流的语言信息的技术问题。同时本发明所提供的另一实施例还进一步解决了不能显示各条字幕数据流的语言信息的技术问题,达到了为流媒体文件的播放提供更详细、人性化选择的技术效果。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
以上所述的实施方式,并不构成对该技术方案保护范围的限定。任何在上述实施方式的精神和原则之内所作的修改、等同替换和改进等,均应包含在该技术方案的保护范围之内。