一种用于快速导入媒体素材的方法

文档序号:7665429阅读:387来源:国知局
专利名称:一种用于快速导入媒体素材的方法
技术领域
本发明属于视频节目制作领域,具体涉及一种用于电视节目制作的快速 导入媒体素材的方法。
背景技术
各种非编用户在编辑节目时需要用到各种来源的素材,为满足用户的这种 需求,需要把它们导入非线性编辑系统进行编辑。由于这些媒体素材本身特性 的限制,并不适合于直接对它们进行帧精确的、高效率的编辑。随着当前计算
机性能的提高,特别是多CPU处理性能的提升和;兹盘读写能力的提高,实现素
材的高速导入已经成为可能。
非线性编辑系统中现有的导入媒体素材的方法为 一个独立的线程从硬盘、 光驱中把视音频素材数据读到内存中,然后把视频数据和音频数据分别拆分 (Splitter)出来。该线程对音频数据进行解码、转换,然后写入到音频文件 中;同时对视频数据进行解析(Parser ),然后在另外线程写视频文件。现有的 导入方法的导入速度较慢,主要有以下几方面的原因第一, 一个线程在读、 写文件的时候(计算机的读写占用的是计算机10带宽),CPU的资源是被闲置的, 造成了资源的浪费;第二, 一个线程对数据依次进行Splitter、 Parser、解码、 以及写文件等操作,这就加重了该线程的工作量,而其它线程此时是闲置的, 也造成了许多CPU资源的浪费。资源的浪费势必造成导入速度的降低,也无法 达到充分利用现有计算机的先进性能的目的。

发明内容
本发明的目的在于针对目前电视节目制作的需求,提供一种能快速导入媒 体素材的方法,从而节省导入时间,4^高素材的编辑效率。
本发明的技术方案如下 一种用于快速导入J!某体素材的方法,包括如下步骤
1) 利用单独一个线程--线程1,负责从磁盘中读取源々某体文件的数据,并
把该数据存放到一个存储列表Listl中;
2) 利用另外一个独立的线程一线程2,对存储列表Listl中媒体文件进行 拆分,并把拆分的视音频结果分别存入两个存储列表List2和List3中;
3) 利用另外一个独立的线程--线程3,对存储列表List2中的视频数据进 行解析,同时对存储列表List3中的音频数据进行音频的解码、转换;
4) 利用其它的线程把解析、分析好的视音频数据封装成新的文件,并写入 磁盘。
如上所述的用于快速导入J 某体素材的方法,其中,步骤(3)中对存储列表 List2中的视频数据进行解析时,首先分析ES流数据中的视频头信息,形成单 帧的视频数据,并得出每一帧数据的类型(类型包括I、 B或P帧),以当前I 帧为开始,到下一个I帧之间的视频帧形成独立的图象序列G0P,分析出这些视 频帧在该G0P中的解码顺序和播出顺序,然后以G0P为单位传送给另外的线程 进4亍写一见频文件。
如上所述的用于快速导入媒体素材的方法,其中,步骤(3)中对存储列表 List3中的音频数据进行音频的解码、转换时,先从List3的音频数据中提取出 它们的压缩格式和采样率的相关信息,然后根据相关信息决定解码、转换的方 式。
如上所述的用于快速导入々某体素材的方法,其中,步骤(4)中封装成的新 文件为AVI文件或WAV文件。
本发明所提供的方法充分利用了磁盘读写速度和多CPU性能的优势。由于 计算机的读写占用的是计算机的IO带宽,而其它的拆分、解析、音频解码和采 样率转换占用的是计算机的CPU资源,把它们分别用独立的线程来处理,这样 可以使读写磁盘和用CPU做其它处理工作异步执行,节省了时间。该方法支持 各种帧率、各种视频分辨率、各种音频采样率和多种制式的々某体文件的导入。


图1为本发明的方法流程图。
具体实施例方式
下面结合附图和实施例对本发明进行详细的描述。
一种用于快速导入媒体素材的方法,包括如下步骤
1) 利用单独一个线程一线程1,负责从磁盘中读取源媒体文件的数据,并 把该数据存放到 一个存储列表L i s 11中。
2) 利用另外一个独立的线程--线程2,对存储列表Listl中媒体文件进行 拆分,并把拆分的视音频结果分别存入两个存储列表List2和List3中。
每一种媒体文件都有其相应特定的封装标准格式,它们的视音频数据和其 它一些信息按照这些标准保存在数据文件中。通过分析其格式,把这些视音频 数据从源文件中拆分出来。
3) 利用另外一个独立的线程一线程3,对存储列表List2中的视频数据进 行解析,同时对存储列表List3中的音频数据进行音频的解码、转换。
List2中保存的是Spitter出来后的视频mpeg - ES流数据。首先需要分析 ES流数据中的视频头信息,形成一帧帧的视频数据,并得出每一帧数据的类型 (类型包括I、 B或P帧)。以当前I帧为开始,到下一个I帧之间的视频帧形 成独立的图象序列GOP (Group Of Picture),并分析出这些^L频帧在该GOP中 的解码顺序和播出顺序,便于帧精确、高效的编辑。然后以GOP为单位传送给 另外的线程进行写视频文件。
List3中保存的是Spitter出来后的音频数据。这些音频数据的压缩格式各 种情况都有可能,比如Mpeg-Layl、 mpeg-lay2、 mpeg - lay3和AC3等。采样 率也可能是24KHz、 48KHz等。先从List3中的音频数据中提取出它们的压缩格 式和釆样率等相关信息,然后决定采样什么样的方式进行解码,是否需要进行 采样率的转换,是否需要进行单声道和立体声之间的转换等等。
4) 利用其它的线程把解析、分析好的视音频数据封装成新的AVI、 WAV文件, 并写入》兹盘。
在该方法中,Listl保留的是媒体源数据,当Listl里有媒体数据后,有一 个独立的线程开始对媒体数据进行拆分(Splitter),拆分后的^L频和音频数据 分别存入两个列表(List2, List3)中,这两个列表中的数据由另外一个独立 的线程进4于Parser和Decode、写音频文件。通过计算这三个过程所库毛时间的发现,Splitter耗时大致等于Parser和Decode、写音频文件这两个过程之和, 而当两个线程的工作量大致相当的时候也就是CPU资源利用率最高的时候。
员根据本发明的技术方案得出其他的实施方式,同样属于本发明的技术创新范围。
权利要求
1. 一种用于快速导入媒体素材的方法,包括如下步骤1)利用单独一个线程--线程1,负责从磁盘中读取源媒体文件的数据,并把该数据存放到一个存储列表List1中;2)利用另外一个独立的线程--线程2,对存储列表List1中媒体文件进行拆分,并把拆分的视音频结果分别存入两个存储列表List2和List3中;3)利用另外一个独立的线程--线程3,对存储列表List2中的视频数据进行解析,同时对存储列表List3中的音频数据进行音频的解码、转换;4)利用其它的线程把解析、分析好的视音频数据封装成新的文件,并写入磁盘。
2. 如权利要求1所述的用于快速导入媒体素材的方法,其特征在于步骤 (3)中对存储列表List2中的视频数据进行解析时,首先分析ES流数据中的视频头信息,形成单帧的视频数据,并得出每一帧数据的类型,以当前I帧为 开始,到下一个I帧之间的视频帧形成独立的图象序列G0P,分析出这些视频帧 在该G0P中的解码顺序和播出顺序,然后以G0P为单位传送给另外的线程进行 写视频文件。
3. 如权利要求2所述的用于快速导入J 某体素材的方法,其特征在于所述 的每一帧数据的类型包括I、 B或P帧。
4. 如权利要求1所述的用于快速导入媒体素材的方法,其特征在于 步骤(3)中对存储列表List3中的音频数据进行音频的解码、转换时,先从 List3的音频数据中提取出它们的压缩格式和采样率的相关信息,然后根据 相关信息决定解码、转换的方式。
5. 如权利要求1或2或3或4所述的用于快速导入媒体素材的方法, 其特征在于步骤(4 )中封装成的新文件为AVI文件或WAV文件。
全文摘要
本发明属于电视节目制作领域,具体涉及一种在电视节目制作时用于快速导入媒体素材的方法。该方法通过分析媒体文件的特性,把该媒体文件中的信息分离出来,重新封装成非编系统能用AVI和WAV文件,视频不需要转码。本发明实现了素材导入速度的最优化,而且为实现各种媒体文件高效率的编辑提供了保障。
文档编号H04N5/262GK101448094SQ20071017820
公开日2009年6月3日 申请日期2007年11月28日 优先权日2007年11月28日
发明者何宇飞, 夏永宏 申请人:新奥特(北京)视频技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1