多媒体工程及对第三方库文件进行编译的系统和方法技术方案

技术编号:2823513 阅读:189 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种多媒体工程的编译系统,包括第三方库文件编译模块,对第三方库文件进行编译生成第三方动态链接库文件;链接模块,将FFmpeg本身库文件和第三方动态链接库文件链接,生成信息库文件;图形化编译平台模块,将FFmpeg源文件和生成的信息库文件中的FFmpeg本身库文件信息编译成可执行文件,再将可执行文件及信息库文件中的第三方动态链接库文件信息展开,得到FFmpeg源文件、FFmpeg本身库文件及第三方动态链接库文件各自对应的编译前源码。本发明专利技术还公开了对应的编译方法及对第三方库文件进行编译的系统和方法。本发明专利技术实现了对FFmpeg的图形化编译,解决了采用全命令行进行编译难以上手的问题。

【技术实现步骤摘要】

本专利技术涉及多々某体^支术领域,尤其涉及一种FFmpeg工程的编i奪系统和方 法,以及一种对第三方库文件进行编译的系统和方法。
技术介绍
FFmpeg是一个在Linux下开发的开源免费项目,它提供了录制、转换以 及流化音、视频的完整解决方案,支持绝大部分常见的多媒体文件格式,例如 支持常见的以mpeg、 AVI格式封装的DIVX文件或Xvid文件等等。由于FFmpeg 是基于Linux开发的,其源代码与Windows下最常见的Visual Studio提供的 C/C+十编译器并不兼容,因此想要使用FFmpeg,最先要解决的问题就是在 Windows下配置一个类似Linux的编译环境。在现有技术中,这一编译环境是 采用MSys + MinGW系统来实现的,其中MSys的全称是Minimalist GNU System on Windows,是Windows下最优秀的GNU环境;而MinGW的全称是 Minimalist GNU for Windows,是运行在Windows平台上的一种GCC(GNU Compiler C)编译器,MSys + MinGW系统就是指利用编码器MinGW在编译环 境MSys下进行编译。MSys + MinGW系统的配置可以通过在Windows下的安装和整合来实现, 而如果要在该系统中使用FFmpeg,还需要对FFmpeg进行编译,重新生成 FFmpeg工程。FFmpeg工程的生成是通过整合FFmpeg源文件、FFmpeg本身库文件和第 三方库文件来实现的。其中FFmpeg源文件包含FFmpeg源代码和一些控制代 码;FFmpeg本身库文件包含编码方式部分、格式部分及控制部分,该三个部 分被对应编译成三个库,这三个库可以在重新生成FFmpeg工程时被调用;而第三方库文件可以是任意支持FFmpeg的库文件,可以是静态库文件也可以是 动态库文件,在链接第三方库文件和FFmpeg本身库文件时,为了避免修改 FFmpeg中的源代码,通常都会对第三方库文件进行编译,生成第三方动态链 4妄库文件。重新生成FFmpeg工程的过程可以简单表示为如图1所示首先配置编译 环境(步骤10 );然后将第三方库文件编译成第三方动态链接库文件(步骤20 ); 再进行链接第三方动态《连接库文件和FFmpeg本身库文件,生成信息库文件 Libraryl (步骤30);最后整合信息库文件Libraryl和FFmpeg源文件,生成 FFmpeg工程(步骤40 )。在上述过程中,由于FFmpeg源文件中的FFmpeg源代码是存放在一个免 费的、开放源码的版本控制系统(SVN, Subversion)中的,因此,只能采用命 令行的操作对FFmpeg源文件进行访问,而命令行的操作方式较为复杂,这使 得习惯在集成开发环境(IDE, Integrated Development Environment)下工作的 人员难于上手;此外,在此过程中,由于对第三方库文件只是进行了简单的编 译,而没有提出调试的方法,因此导致整合了第三方库文件在内的FFmpeg工 程无法实现完全调试和编译,从而操作人员只能从FFmpeg工程海量的源代码 中理解工程的工作原理,而不能实现对FFmpeg源代码的实时跟踪。
技术实现思路
本专利技术提供了一种FFmpeg工程的编译系统和方法,用以解决现有技术中 编译方案采用全命令行方式而难于上手的问题。本专利技术提供了 一种对第三方库文件进行编译的系统和方法,用以解决现有 技术中只能对第三方库文件进行编译,而无法对其进行调试的问题。为此,本专利技术采用如下方案一种FFmpeg工程的编译系统,包括第三方库文件编译模块,用于在支 持FFmpeg的编译环境下,对第三方库文件进行编译,生成对应的第三方动态链接库文件;链接模块,用于将FFmpeg本身库文件和第三方库文件编译模块 生成的第三方动态链接库文件链接,生成包含有第三方动态链接库文件信息和 FFmpeg本身库文件信息的信息库文件;图形化编译平台模块,用于在预设的 图形化编译环境下,将FFmpeg源文件和链接模块生成的信息库文件中的 FFmpeg本身库文件信息编译成可执行文件;将编译生成的可执行文件及链接 模块生成的信息库文件中的第三方动态链接库文件信息展开,得到FFmpeg源 文件、FFmpeg本身库文件及第三方动态链接库文件各自对应的编译前源码。其中所述的编译系统还包括调试信息接收模块,用于在对第三方库文件 进行编译前,接收用户输入的用于调试第三方库文件的调试信息;调试信息加 入模块,用于将调试信息接收模块接收到的用于调试第三方库文件的调试信息 加入到编译前的第三方库文件中。一种FFmpeg工程的编译方法,包括在支持FFmpeg的编译环境下,将 第三方库文件编i奪成为第三方动态链接库文件;链4妄第三方动态链接库文件和 FFmpeg本身库文件,生成包含有第三方动态链接库文件信息和FFmpeg本身 库文件信息的信息库文件;在预设的图形化编译环境下,将FFmpeg源文件和 信息库文件中的FFmpeg本身库文件信息编i奪成可执行文件;将编译生成的可 执行文件及信息库文件中的第三方动态链接库文件信息展开,得到FFmpeg源 文件、FFmpeg本身库文件及第三方动态链接库文件各自对应的编译前源码。其中所述的在将第三方库文件编译成为第三方动态链接库文件之前,还包 括步骤接收用户输入的用于调试第三方库文件的调试信息;将接收到的用于 调试第三方库文件的调试信息加入到第三方库文件中。一种对第三方库文件进行编译的系统,包括调试信息接收模块,用于接 收用户输入的用于调试第三方库文件的调试信息;调试信息加入模块,用于将 调试信息接收模块接收到的用于调试第三方库文件的调试信息加入到第三方 库文件中。一种对第三方库文件进行编译的方法,包括接收用户输入的用于调试第三方库文件的调试信息;将接收到的用于调试第三方库文件的调试信息加入到 第三方库文件中。本专利技术对FFmpeg工程的编译方案采用在图形化的编译环境下,对FFmpeg 工程进行编译,从而可以避免现有技术中对FFmpeg工程的编译采用全命令行 方式而难于上手的弊端,使得对FFmpeg工程的编译大大简化,易于上手。本专利技术对第三方库文件进行编译的方案通过在第三方库文件中加入调试 信息的方法,使第三方库文件实现可调试,从而使操作人员在对FFmpeg工程 进行重建的过程中,能实现源代码的实时跟踪。附图说明图1为现有技术中生成FFmpeg工程的流程图2为本专利技术方案中提供的一种FFmpeg工程编译系统组成结构示意图; 图3为本专利技术方案中提供的图形化编译平台模块的组成结构示意图; 图4为本专利技术方案中提供的一种FFmpeg工程编译方法流程图; 图5为本专利技术方案中提供的又一种FFmpeg工程编译系统组成结构示意图6为本专利技术方案中提供的又一种FFmpeg工程编译方法流程图。 具体实施例方式本专利技术实施例首先提出 一种FFmpeg工程的编-泽方案,可以实现对FFmpeg 工程的图形化编译,从而解决现有技术中对FFmpeg工程的编译方案采用全命 令行方式而难于上手的问题。如图2所示,为本专利技术实施例提出的一种FFmpeg工程编译系统的组成结 构示意图。该系统包括三个本文档来自技高网
...

【技术保护点】
一种FFmpeg工程的编译系统,其特征在于,包括:    第三方库文件编译模块,用于在支持FFmpeg的编译环境下,对第三方库文件进行编译,生成对应的第三方动态链接库文件;    链接模块,用于将FFmpeg本身库文件和第三方库文件编译模块生成的第三方动态链接库文件链接,生成包含有第三方动态链接库文件信息和FFmpeg本身库文件信息的信息库文件;    图形化编译平台模块,用于在预设的图形化编译环境下,将FFmpeg源文件和链接模块生成的信息库文件中的FFmpeg本身库文件信息编译成可执行文件;将编译生成的可执行文件及链接模块生成的信息库文件中的第三方动态链接库文件信息展开,得到FFmpeg源文件、FFmpeg本身库文件及第三方动态链接库文件各自对应的编译前源码。

【技术特征摘要】

【专利技术属性】
技术研发人员:王成刚
申请(专利权)人:北京中星微电子有限公司
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1