多媒体文件制作方法、播放方法及系统的制作方法

文档序号:8261325阅读:383来源:国知局
多媒体文件制作方法、播放方法及系统的制作方法
【技术领域】
[0001] 本发明涉及多媒体数据处理领域,更具体地说,涉及一种多媒体文件制作方法、播 放方法及系统。
【背景技术】
[0002] 为了适应存储多媒体的需要,人们设定了不同的多媒体文件格式。基于这些多媒 体文件格式,可制作包括视频、音频、字幕等数据的多媒体文件,以实现播放时能够同时播 放视频、音频、字幕等。
[0003] 目前,常见的多媒体文件大多是采用avi、wmv、asf、asx、rm、rmvb等格式制作的。 虽然,利用这些多媒体文件格式都可以实现将视频、音频、字幕等数据存储在一个文件中, 实现多媒体文件的制作,但制作出的多媒体文件不能适应不同的应用环境。例如,asf是微 软为windows98所开发的串流多媒体文件格式,只有在windows系统上能够得到支持。且采 用现有技术制作的多媒体文件大多仅有一个视频轨道、一个音频轨道,不能适应多路视频、 音频的需要。
[0004] 另一方面,现有技术的多媒体文件,在播放时不能提供控制功能(例如,提前预览 等),不能满足用户的多种需求。
[0005]因此,采用现有的多媒体文件格式制作多媒体文件,局限性大,不能满足用户的需 求。

【发明内容】

[0006]本发明要解决的技术问题在于,针对现有技术的上述采用现有的多媒体文件制作 方式不能适应多路视频、音频的需要,局限性大,不能满足用户附加需求的缺陷,提供一种 多媒体文件制作方法、播放方法及系统。
[0007]本发明解决其技术问题所采用的技术方案是:构造一种多媒体文件制作方法,所 述方法包括:
[0008] 设置头容器、索引容器、轨道容器和集群容器;所述头容器、索引容器、轨道容器和 集群容器均包括ID字段、尺寸字段和数据字段;
[0009] 获取多媒体数据、索引数据和头文件数据;其中,所述多媒体数据包括:一路或多 路视频流数据、音频流数据和字幕流数据;所述头文件数据包括文件类型和文件版本号识 别息;
[0010] 分别建立所述一路或多路视频流数据、音频流数据、字幕流数据与一条或多条视 频轨、音频轨、字幕轨的一一映射表;
[0011] 将所述头文件数据、索引数据、映射表和多媒体数据分别存储到所述多媒体文件 的头容器、索引容器、轨道容器和集群容器,以生成所述多媒体文件。
[0012] 优选的,所述方法还包括:设置预览视频帧容器,所述预览视频帧容器包括ID字 段、尺寸字段和数据字段;获取预览图片帧,并将所述预览图片帧存储到预览视频帧容器, 以生成所述多媒体文件。
[0013] 优选的,所述方法还包括:设置视频标签容器,所述视频标签容器包括ID字段、尺 寸字段和数据字段;获取视频标签数据,并将所述视频标签数据存储到视频标签容器,以生 成所述多媒体文件。
[0014] 优选的,所述方法还包括:设置位置索引容器,所述位置索引容器包括ID字段、尺 寸字段和数据字段;分别建立头容器、索引容器、集群容器、轨道容器、预览视频帧容器和视 频标签容器与其存储位置的索引,并将所述索引存储到位置索引容器,以生成所述多媒体 文件。
[0015] 优选的,所述方法还包括:设置媒体元信息容器,所述媒体元信息容器包括ID字 段、尺寸字段和数据字段;获取多媒体文件的媒体元信息,包括名称、大小、时长及制作时 间,并将其存储到媒体元信息容器,以生成多媒体文件。
[0016] 优选的,所述索引数据包括第一索引数据和第二索引数据;
[0017] 所述第一索引数据包括第一预设时间内的每帧图像与其播放时刻的一一对应关 系;
[0018] 所述第二索引数据包括第二预设时间内的每帧图像与其播放时刻的一一对应关 系。
[0019] 优选的,所述方法还包括:
[0020] 将所述集群容器中存储的视频流数据、音频流数据和字幕流数据按照时间长度划 分为多个子块,每个子块以数秒为单位;
[0021] 所述每个子块对应一个播放时码,所述播放时码包括基准时码和偏移时码。
[0022] 优选的,所述方法还包括:当与视频流数据、音频流数据、字幕流数据分别对应的 视频轨、音频轨、字幕轨有多条时,设定多条视频轨、音频轨和字幕轨的优先级信息,并将所 述优先级信息存储在所述轨道容器中。
[0023]-种多媒体文件播放方法,用于播放采用上述方法制作的多媒体文件,所述方法 包括:
[0024] 加载并解析多媒体文件;
[0025] 根据所解析出的信息,选择相应的解码器对所述多媒体文件进行解码;
[0026] 播放解码后的多媒体文件。
[0027] 优选的,所述播放方法还包括:根据多媒体文件的轨道容器中的优先级信息,选择 相应的视频轨、音频轨和字幕轨以播放解码后的多媒体文件。
[0028]-种多媒体文件播放系统,用于播放采用上述方法制作的多媒体文件,所述系统 包括:解析模块、解码模块和播放模块;
[0029] 所述解析模块用于解析所述多媒体文件;
[0030] 所述解码模块,用于根据所述解析模块解析出的信息,选择相应的解码器对所述 多媒体文件进行解码;
[0031] 所述播放模块,用于播放解码后的多媒体文件。
[0032] 优选的,所述播放模块还用于根据多媒体文件的轨道容器中的优先级信息,选择 相应的视频轨、音频轨和字幕轨以播放解码后的多媒体文件。
[0033] 实施本发明的多媒体文件制作方法、播放方法及系统,具有以下有益效果:可容纳 任意数量和任意编码格式的视频数据、音频数据、字幕流数据、索引数据、预览帧数据、视频 标签数据及控制信息、自定义数据包等,适应多路视频、音频和字幕的需要;在播放时,可实 现灵活控制多媒体文件的播放,实现更多的特色功能(例如预览还未下载的视频、展示视频 标签等);能够实现快速定位及可变粒度索引;采用模块化的层次结构(头容器和数据容器 结构),可任意扩展某个结构;由于有预览图片帧,能为网络状况不佳时提供更好的播放体 验,在缓冲时,可通过预览视频帧容器获得未下载数据段的视频图像预览;视频标签可向用 户展示更多的内容;由于在制作多媒体文件时通过轨道容器记录了各个数据流的编码信 息,因此,本发明实施例的多媒体文件可以容纳几乎所有编码类型的视频、音频及字幕流; 且可节省存储空间。
【附图说明】
[0034] 下面将结合附图及实施例对本发明作进一步说明,附图中:
[0035] 图1是本发明实施例的多媒体文件的结构示意图;
[0036] 图2是本发明实施例的多媒体文件制作方法的流程图;
[0037] 图3是本发明实施例的多媒体文件播放方法的流程图;
[0038] 图4是本发明实施例的多媒体文件播放方法的详细流程图;
[0039] 图5是本发明实施例的多媒体文件播放系统的结构图。
【具体实施方式】
[0040] 为了对本发明的技术特征、目的和效果有更加清楚的理解,现对照附图详细说明 本发明的【具体实施方式】。
[0041] 按照本发明实施例的多媒体文件制作方法制作的多媒体文件可容纳任意数量和 任意编码格式的视频数据、音频数据、字幕流数据、索引数据、预览帧数据和视频标签数据 等。在播放本发明实施例的多媒体文件制作方法制作的多媒体文件时,可灵活控制多媒体 文件的播放,实现更多的特色功能(例如预览还未下载的视频、展示视频标签等)。
[0042] 参见图1,为本发明实施例的多媒体文件的结构示意图。本发明实施例的多媒 体文件由若干个存储有数据的容器(box)组成。每个box的结构都是以扩展二进制多媒 体语言(EBML,ExtensibleBinaryMetaLanguage)的形式进行存储。采用EBML形式的 好处是可以节省存储空间。例如,对64位整数变量表示的数据进行编码存入时,如果变 量数据为5,则编码结果为0x85,存储时只占一个字节。若以普通方式,编码结果将会是 0x0000000000000005,存储时占用8个字节。
[0043] 在本发明的实施例中一个多媒体文件包括'Header"类型的box,用于存储文件 类型和文件版本号识别信息;"Data"类型的box,用于存储数据信息。其中,"Data"类型的 box即数据容器20(Databox),包括七个子box。
[0044] "Header"类型的box即头容器10(Headerbox)以及每个子box均包括ID字段、 尺寸(size)字段和数据(data)字段。其中,ID和size使用不定长整数表示法。data所 占的字节数和size相关,例如,size为0x08,则data所占的字节数即为8字节。在本发明 的实施例中,ID字段和size字段总是被编码成最短的表示方式以节约存储空间,例如,1被 编码成0x81,而不会用0x4001。此外,由于本发明实施例中采用EBML形式,易于实现扩展, 因为,EBML本身是box结构的,data(数据)字段中可以扩展databox的结构。
[0045] 头容器10(Headerbox)中的ID字段固定不变,例如,其值可设定为0xlB514D56。 当播放端播放多媒体文件,解析多媒体文件时,根据头容器10中的ID字段即可加载相应的 解
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1