Window下编译 64位ffmpeg 引入libx264及libmp3lame编码库

      好记性不如烂笔头,每次编译总要有些时间折腾,记录下编译过程,方便后来者。

     本文 介绍windows下编译64位Ffmpeg库 (版本V4.02)如何引入libx264及libmp3lame(编码mp3)库。

编译环境选择MinGW64。MinGW64如何安装可参考前面的文章https://www.cnblogs.com/wanggang123/p/9896564.html 

一.. 编译x264库,如需要ffmpeg支持h264编码编译时需要将它添加进来。编译x264库相对容易,一次搞定。

      首先下载x264库,用最新的版本就可以,下载的地址是https://www.videolan.org/developers/x264.html

      接着configure,configure参数如下图所示。

                                                               图1. x264库 configure示意图

      x264库配置 需要nasm ,可以下载可执行文件放到MinGW64安装路径下的bin目录,如图2所示。nasm下载地址是http://www.linuxfromscratch.org/blfs/view/8.2/general/nasm.html

                                                                         图2  nasm.exe 安装路径

x264配置完成后,执行make命令,最后make install

二. 编译libmp3lame 如需要ffmpeg支持mp3编码,需要添加libmp3lame库,编译libmp3lame走了些弯路,花了不少时间。

     首先下载lame库,最新的库是3.100版本不要用最新版本需要修改的地方比较多,可以选择3.99.5版本,下载地址是https://sourceforge.net/projects/lame/files/lame/3.99/

    lame-3.99.5源文件会放到群里,无法下载的同学也可以加群从群里下载。准备好lame源码后需要修改配置文件configure,如下图3所示,去掉标红的头文件。

                                                    图3. lame configure文件修改处

   configure文件修改好后,执行configure命令进行配置,配置参数如图4所示。

                                                           图4. lame 配置图

lame配置好后 执行make命令 最后make install

三.编译Ffmpeg,ffmpeg配置命令如下图5所示,如配置失败可以看下ffbuild目录下的config.log文件。编译好的libx264.a库放到/home/wgg/lib/x264目录,libmp3lame.a放到/home/wgg/lib/lame目录,

    libx264 头文件放到/home/wgg/include/x264目录,libmp3lame 头文件放到/home/wgg/includ/lame 目录。注意如要编译出与VS版本无关的lib,需要修改下Configure文件。否则可出现能编译出的lib

  文件在某个版本VS中不能使用,修改出如图6所示。

                                                        图5. ffmpeg 配置图

                                                          图6. configure文件未修改截图

 

                                                       图7. configure文件修改后截图

  Configure 成功后 执行make 命令进行编译,最后make install

如需交流可加QQ群1038388075,766718184 或者QQ3501870

视频下载地址:http://www.chungen90.com/?news_3/

 Demo下载地址: http://www.chungen90.com/?news_2

  

原文地址:https://www.cnblogs.com/wanggang123/p/12174126.html