Windows下编译FFmpeg

在windows下编译FFmpeg较linux下要复杂许多,网上各种资料,自己编译的时候也踩过不少坑。

环境:

windows7 64bit,VS2015,FFmpeg版本

commit b41b6b323417ce1e79bf818f91d60526697954f1
Author: Danil Iashchenko
Date:   Fri Jun 15 05:55:34 2018 +0300


    libavfilter/opencl: Add macro for setting opencl kernel arguments


原理和思路:

                    1. 采用MinGW来模拟GNU的开发环境(可以简单理解为configure、make等cmd的支持)

                    2. 采用yasm作为汇编编译器

                    3. 修改环境变量使msvc作为编译器和链接器

步骤:

1. MinGW的安装

下载地址:https://sourceforge.net/projects/mingw/?source=typ_redirect

Windows下编译FFmpeg_第1张图片

勾选如上安装信息,然后在Installation中选择Apply Changes.

将C:\MinGW\bin;C:\MinGW\msys\1.0\bin(或你指定的安装路径) 添加到环境变量,系统变量Path中去。


2. Yasm安装和配置

下载地址:http://yasm.tortall.net/Download.html

将下载后的exe从命名为yasm.exe放到C:\MinGW\bin下面去,这样子在就相当于添加到系统变量中区了。


3. 修改环境变量使msvc作为编译器和链接器

    a. MinGW中添加msvc环境

        在C:\MinGW\msys\1.0\msys.bat的开头第一行添加msvc的环境的添加脚本(以vs2015为例子):

    call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat"

    这样子msvc的运行时环境就添加到mingw的运行时环境中去了

    b. 修改link.exe

        由于msys中gcc link.exe和msvc是重名的,

        因此重命名C:\MinGW\msys\1.0\bin\link.exe为msys-link.exe,或者其他名字也可以


4. 下载FFmpeg代码

   git config --global core.autocrlf false
   git clone https://github.com/FFmpeg/FFmpeg.git
   git rm --cached -r .
   git reset --hard

   具体原因是防止make的时候解析crlf等字符错误

5. 编译:

运行msys.bat

     C:\MinGW\msys\1.0>msys.bat

在msys中configure FFmpeg

 

./configure --toolchain=msvc
make -j4


你可能感兴趣的:(音视频,FFmpeg,Windows,VS,音视频)