多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
#### Window10下编译最新版FFmpeg的方法步骤 平时比较多在Mac下开发,编译ffmpeg相对比较简单。最近放假在Window下玩玩,听说Window编译ffmpeg比较麻烦,自己就折腾一下看看。其实站在巨人肩上使用集成环境,也是非常简单的。网上大部分帖子乱七八糟的。。。最后自己思考模仿Linux环境折腾一个晚上,然后总结一下步骤,其实很简单,这里总结记录一下,以便方便自己回顾和需要的人。 #### 准备环境,需要的环境是MinGW+MSYS,不需要依赖任何vs工具。 MinGW和MSYS工具是在同一个下载页面的,下载链接如下: [https://sourceforge.net/projects/mingw-w64/files/External binary packages (Win64 hosted)/MSYS (32-bit)/](https://sourceforge.net/projects/mingw-w64/files/External%20binary%20packages%20%28Win64%20hosted%29/MSYS%20%2832-bit%29/) > > 在下载页面选择下载[MSYS-20111123.zip]([https://sourceforge.net/projects/mingw-w64/files/External](https://sourceforge.net/projects/mingw-w64/files/External)binary packages (Win64 hosted)/MSYS (32-bit)/MSYS-20111123.zip/download) 和[x86\_64-posix-seh](https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/mingw-builds/8.1.0/threads-posix/seh/x86_64-8.1.0-release-posix-seh-rt_v6-rev0.7z)离线安装包。我这里以64位为准。 2. ##### 解压配置MinGW环境 > 第一步: 先解压x86\_64-xxx离线包,得到mingw64目录, 这个目录就类似于Linux小环境,里面有gcc,g++等编译链接工具. > > 第二步: 然后再解压MSYS-20111123.zip得到msys目录,并且将msys目录拷贝到第一步mingw64目录下. > > 第三步: 将mingw64/bin目录添加到Path环境变量. 到此为止类Linux环境准备完毕. 3. ##### 为FFmpeg编译准备yasm工具和get-config工具 > 1. 如果ffmpeg编译需要开启汇编优化,是需要yasm工具支持的,默认是开启的,所以我们需要准备yasm工具. 如果你不想准备yasm工具,可以在./configure配置时使用--disable-x86asm关闭汇编优化. > > 1-1. 其实准备很简单,下载页面http://www.tortall.net/projects/yasm/releases/ 下选择对应版本yasm-1.3.0-win64.exe下载,然后重命名为yasm.exe放在mingw64/bin目录下即可. 一定要重命名为yasm.exe才能识别. > > 2. 准备get-config工具, 这个工具是编译依赖查询工具,不准备好像也没啥问题,既然提示了最好也准备一下 > > 2-1. 使用http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/pkg-config\_0.26-1\_win32.zip下载并解压得到pkg-config.exe复制放在mingw64/bin目录下即可. > > 2-2. 然后使用http://ftp.acc.umu.se/pub/gnome/binaries/win32/glib/2.28/glib\_2.28.8-1\_win32.zip下载并解压得到libglib-2.0-0.dll(或者所有dll库,多不碍事)也复制放在mingw64/bin目录下,这样get-config工具就准备完毕. 到此为止编译ffmpeg环境就准备好了. 4. ##### 下载最新版ffmpeg源代码 > 下载链接:[https://ffmpeg.org/releases/ffmpeg-4.3.1.tar.gz](https://ffmpeg.org/releases/ffmpeg-4.3.1.tar.gz) > > 将下载好的压缩包解压并放在mingw64\\msys\\home, 这个home目录就相当于Linux下的home目录. > > 同时可以创建一个out目录作为ffmpeg编译输出目录,通过--prefix配置输出目录. 5. ##### 启动msys命令行窗口,配置编译ffmpeg命令 > 双击mingw64\\msys\\msys.bat打开msys命令行窗口,这个窗口类似于Linux环境的窗口. > > cd切换到/home/ffmpeg-4.3.1目录下执行configure, make, make install编译三部曲即可. > > 第一步: ./configure --arch=x86\_64 --enable-shared --prefix=/home/out //64位配置--arch=x86\_64 > > 第二步: make > > 第三步: make install > > 上面只是最简单的配置, 执行这三步,即可生成exe文件,dll动态库,h头文件等. > > 注意:是没有生成ffplayer.exe的,ffplayer.exe依赖SDL库,想要ffplayer.exe还得先安装配置SDL环境. 以下是目录结构截图: ![](https://img2020.cnblogs.com/blog/1020339/202101/1020339-20210103124258075-170168656.jpg) ![](https://img2020.cnblogs.com/blog/1020339/202101/1020339-20210103124307691-681324864.jpg) ![](https://img2020.cnblogs.com/blog/1020339/202101/1020339-20210103124316705-986835952.jpg) 如果觉得上面说的啰嗦或者配置麻烦,可以直接下载我集成好的压缩包,解压并添加mingw64/bin到Path环境变量,然后双击mingw64\\msys\\msys.bat打开msys命令行窗口即可开始编译工作。 下载链接:[https://download.csdn.net/download/yongfengnice/14015945](https://download.csdn.net/download/yongfengnice/14015945)