700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 在Windows7/10上通过VS编译FFmpeg 4.1.3源码操作步骤

在Windows7/10上通过VS编译FFmpeg 4.1.3源码操作步骤

时间:2019-05-30 22:23:56

相关推荐

在Windows7/10上通过VS编译FFmpeg 4.1.3源码操作步骤

多年前在/fengbingchun/article/details/40951403 中对FFmpeg在windows下的编译过程做过说明,那时FFmpeg版本用的2.4.3, VS是,现在FFmpeg最新稳定版为4.1.3,通过VS进行编译,较之前有了些不同,这里再次介绍下:

一、编译x86库:

1. 从/projects/mingw/releases/ 下载mingw-get-setup.exe,更新日期为9月6日;点击右键以管理员身份安装到C:/MinGW,安装的Package有mingw-developer-toolkit-bin, mingw32-base-bin, mingw32-gcc-g++-bin, msys-base-bin;

2. 从/Download.html 下载yasm-1.3.0-win64.exe,注意一定不要下载vsyasm-1.3.0-win64.zip,否则后面make的时候会有error,并拷贝到C:\MinGW\msys\1.0\bin并重命名为yasm.exe;

3. 下载pkg-config,处理” WARNING: pkg-config not found, library detection may fail.”,从/pub/gnome/binaries/win32/dependencies/ 下载pkg-config_0.26-1_win32.zip,解压缩并将pkg-config.exe拷贝到C:\MinGW\bin目录下;从/pub/gnome/binaries/win32/glib/2.28/ 下载pkg-config的依赖库glib_2.28.8-1_win32.zip,解压缩并将libglib-2.0-0.dll拷贝到C:\MinGW\bin目录下;从/pub/gnome/binaries/win32/dependencies/ 下载gettext-runtime_0.18.1.1-2_win32.zip,解压缩并将intl.dll拷贝到C:\MinGW\bin目录下;注意:此步可省略;

4. 将目录C:\MinGW\bin和C:\MinGW\msys\1.0\bin添加到系统环境变量PATH中;

5. 将C:\MinGW\msys\1.0下的msys.bat复制一份并改名为msys_vs.bat,并在msys_vs.bat的开头加上一句” call "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\vcvars32.bat"”;

6. 重命名C:\MinGW\msys\1.0\bin下的link.exe为link_msys.exe,这是为了防止此link.exe与vs中的link.exe发生冲突,编译完FFmpeg后可再次修改回来;

7. 从/FFmpeg/FFmpeg/releases 下载FFmpeg-n4.1.3.zip并解压缩到E:\FFmpeg-n4.1.3;

8. Fix error C2440: libavcodec/dxva2.c<524>, “初始化”:无法从”GUID”转换为”unsigned long”:将libavcodec/dxva2.c的第519行由.DecodeProfile = decoder_guid,调整为.DecodeProfile = decoder_guid.Data1,;

9. 双击运行msys_vs.bat,使用cd命令将其定位到E:\FFmpeg-n4.1.3\build_x86_release目录下,此build_x86_release目录需要自己手动创建,执行如下命令:

.././configure --prefix=./install --toolchain=msvcmake -j4make install

二、编译x86_64位库:

1.如果还没有配置好环境,则需先按照上面编译x86库中的步骤1,2,3,4,6,7,8操作一遍;

2. 将以上第5步中的” call "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\vcvars32.bat"”调整为” call "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\amd64\vcvars64.bat"”

3. 双击运行msys_vs.bat,使用cd命令将其定位到E:\FFmpeg-n4.1.3\build_x86_64_release目录下,此build_x86_64_release目录需要自己手动创建,执行如下命令:

.././configure --prefix=./install --target-os=win64 --arch=x86_64 --toolchain=msvcmake -j4make install

执行完make install后install目录下会产生4个目录,分别为:bin、include、lib、share:

1. bin目录下有ffmpeg.exe和ffprobe.exe两个文件,通过命令提示符执行:ffmpeg.exe --help结果如下:

2. lib目录下有libavcodec.a, libavdevice.a, libavfilter.a, libavformat.a, libavutil.a, libswresample.a, libswscale.a七个静态库;

3. include目录下包含了对应上面七个静态库的头文件;

4. share目录下有一些samples。

三、说明:

1. configure文件中的编译选项较多,可通过执行:$ .././configure --help > help.txt 来查看编译选项说明;

2. 默认编译的是静态库,若编译动态库,可增加编译选项参数--enable-shared --disable-static;

3. 默认编译的是release库,若编译debug库,可增加编译选项参数--enable-debug;

4. 如果不想自己通过源码编译,也可以直接从/builds/# 下载现成的库和执行文件。

GitHub:/fengbingchun/OpenCV_Test

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。