一种视频格式转换的方法

文档序号:6355631阅读:242来源:国知局
专利名称:一种视频格式转换的方法
技术领域
本发明涉及视频技术领域,尤其涉及一种视频格式转换的方法。
背景技术
视频格式转换包括视频文件封装格式的转换和视频编码格式的转换。国际标准化 组织定义了多种视频编码标准和文件封装格式,在应用时,经常要根据用户需求转换视频 格式。目前,在windows平台通常采用Directshow技术进行视频格式转换。Directshow 技术使用过滤器图表(FilterGraph)控制视频处理流程,使用遵循com组件规范的过滤器 (Filter)组件完成各种功能的数据处理。但是每个Filter组件仅支持一定范围的数据格 式,需要使用不同的Filter组件互相搭配,才能完成多种视频格式的转换。视频格式转换过程包括解复用视频文件、解码视频文件、重新编码视频文件、复用 并生成最终的视频文件。解复用、复用文件可改变视频的文件封装格式;解码、编码视频文 件改变视频的文件编码格式。相应地,要在Directshow中向FilterGraph添加源过滤器组件、解复用过滤器组 件、音频解码过滤器组件、视频解码过滤器组件、音频编码过滤器组件、视频编码过滤器组 件、复用过滤器组件和写入过滤器组件。每个过滤器组件都必须能够处理上一级过滤器组 件传递给它的数据类型,最终完成视频编码转换。当前基于Directshow技术的视频格式转换程序,使用在程序代码中检测判断的 方法。首先判断视频格式,枚举程序中的备选Filter组件或枚举系统中所有Filter组件, 选择支持该视频格式的组件,构造FilterGraph。枚举程序中备选Filter组件时,程序的支持范围小,仅能对特定的某些视频格式 进行转换,不易扩展。当需要增加支持的视频格式时,需要对源代码进行修改,继而需要重 新编译、生成和部署。用户无法控制Filter组件的选择搭配,当需要选用第三方的Filter 组件时,也需要对源码进行修改。若枚举系统所有Filter组件,则枚举过程耗费大量时间, 效率下降。用户无法控制选择的Filter组件,无法使用特定的Filter组件。

发明内容
本发明的目的在于提出一种视频格式转换的方法,能够方便地支持多种视频格式 转换,而不需要更改程序代码。为达此目的,本发明采用以下技术方案 一种视频格式转换的方法,包括以下步骤
A、生成过滤器图表;
B、读入过滤器图表对应的配置文件,根据配置文件向过滤器图表中加入过滤器组件;
C、将加入过滤器图表中的过滤器组件按照顺序连接起来;
D、根据配置文件,对加入过滤器图表中的过滤器组件进行参数设置;E、进行视频文件封装格式的转换和视频编码格式的转换。过滤器组件包括源过滤器组件、解复用过滤器组件、音频解码过滤器组件、视频解 码过滤器组件、音频编码过滤器组件、视频编码过滤器组件、复用过滤器组件和写入过滤器 组件。过滤器组件是支持视频格式的过滤器组件。配置文件是XML格式。采用了本发明的技术方案,可以更加快速、灵活地构建FilterGraph,用户可以通 过修改配置文件的方式选择自己希望的Filter组件,选择各种搭配适应不同的视频格式; 不需要修改源代码,不需要枚举遍历Filter组件,简单高效的进行视频格式转换;设置参 数同样使用配置文件,清晰易懂,利于重用和修改。


图1是本发明具体实施方式
中视频格式转换的流程图。
具体实施例方式下面结合附图并通过具体实施方式
来进一步说明本发明的技术方案。本发明技术方案的主要思想是使用Directshow技术进行视频格式转换,首先构 造FilterGraph,再设置Filter组件参数,最后转码,在这个过程中使用配置文件指导程序 构造FilterGraph,设置Filter组件参数。图1是本发明具体实施方式
中视频格式转换的流程图。如图1所示,包括以下步 骤
步骤101、生成过滤器图表。步骤102、读入过滤器图表对应的配置文件,根据配置文件向过滤器图表中加入过 滤器组件。过滤器组件是能够支持需要进行转换的视频格式的过滤器组件。配置文件采用XML格式,指导程序添加用户指定的过滤器组件。配置文件分为两 部分,第一部分用于指导程序选择过滤器组件,过滤器组件包括源过滤器组件、解复用过滤 器组件、音频解码过滤器组件、视频解码过滤器组件、音频编码过滤器组件、视频编码过滤 器组件、复用过滤器组件和写入过滤器组件。第一部分包含在<filteraddX/filteradd>记录之间。其中每条记录标识 一个欲添加至 FilterGraph 中的 Filter 组件。格式为〈function=,,,,fiItername="" fiIterguid="" >ο function 表示该 Filter 组件的功能,可设置为 demux、videodecoder 等等,对应“解复用”、“视频解码”等功能;filtername表示选用Filter组件的名字; fiIterguid表示Filter组件的⑶ID值,程序根据此值添加Filter组件。第二部分为参数设置部分,包含在〈filtersettingX/filtersetting〉记录之 间。步骤103、将加入过滤器图表中的过滤器组件按照顺序连接起来。步骤104、根据配置文件,对加入过滤器图表中的过滤器组件进行参数设置。步骤105、调用ImediaControl接口的rim ()函数,进行视频文件封装格式的转换 和视频编码格式的转换。
以上所述,仅为本发明较佳的具体实施方式
,但本发明的保护范围并不局限于此, 任何熟悉该技术的人在本发明所揭露的技术范围内,可轻易想到的变化或替换,都应涵盖 在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
权利要求
1.一种视频格式转换的方法,其特征在于,包括以下步骤A、生成过滤器图表;B、读入过滤器图表对应的配置文件,根据配置文件向过滤器图表中加入过滤器组件;C、将加入过滤器图表中的过滤器组件按照顺序连接起来;D、根据配置文件,对加入过滤器图表中的过滤器组件进行参数设置;E、进行视频文件封装格式的转换和视频编码格式的转换。
2.根据权利要求1所述的一种视频格式转换的方法,其特征在于,过滤器组件包括源 过滤器组件、解复用过滤器组件、音频解码过滤器组件、视频解码过滤器组件、音频编码过 滤器组件、视频编码过滤器组件、复用过滤器组件和写入过滤器组件。
3.根据权利要求1所述的一种视频格式转换的方法,其特征在于,过滤器组件是支持 视频格式的过滤器组件。
4.根据权利要求1所述的一种视频格式转换的方法,其特征在于,配置文件是XML格
全文摘要
本发明公开了一种视频格式转换的方法,生成过滤器图表;读入过滤器图表对应的配置文件,根据配置文件向过滤器图表中加入过滤器组件;将加入过滤器图表中的过滤器组件按照顺序连接起来;根据配置文件,对加入过滤器图表中的过滤器组件进行参数设置;进行视频文件封装格式的转换和视频编码格式的转换。采用了本发明的技术方案,可以更加快速、灵活地构建过滤器图表,可以通过修改配置文件的方式选择过滤器组件,选择各种搭配适应不同的视频格式;不需要修改源代码,不需要枚举过滤器组件,简单高效的进行视频格式转换;设置参数同样使用配置文件,清晰易懂,利于重用和修改。
文档编号G06F17/30GK102122300SQ201110054688
公开日2011年7月13日 申请日期2011年3月8日 优先权日2011年3月8日
发明者杨波, 王建 申请人:天脉聚源(北京)传媒科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1