遇事先百度,对,我就是这么干的,不过很多文章不适合我的情况;
我的电脑环境(win10、VS2019),无论是什么VS,没什么差距;
找了很多文档,目前断定window不能直接编译ffmpeg,那么就要在windows构建linux环境;
1,构建linux环境;
构建环境有3种方案,wsl(ubuntu子系统)、cygwin、msys,那么坑来了,选型时肯定哪个简单选哪个,wsl这个在windows store里(搜索ubuntu),但是这个方法由于su无法继承当前用户的环境变量,也找了很多方法改变su的环境变量,还是无法找到cl.exe,如果不适用su,又无法使用apt;
后来选了msys,总算通过了。
a,下载MSYS2,地址:https://www.msys2.org/
b,安装:无脑下一步
c,启动MSYS2:进入安装目录,启动 msys2_shell.cmd
d,下载依赖:
安装make: pacman -S make 安装yasm: pacman -S yasm 安装diffutils: pacman -S diffutils 安装pkg-config: pacman -S pkg-config 安装git: pacman -S git(如果已有源码不需要安装) 2,配置环境 a,关闭之前的msys2_shell.cmd b,根据情况打开vs命令
c,用vs命令打开msys2.exe
d,设置环境变量:
export PATH="/c/Program Files (x86)/Microsoft Visual Studio/2019/Professional/VC/Tools/MSVC/14.16.27023/bin/HostX64/x64":$PATH
这个要根据自己的VS路径设置;
3,下载源码 Download FFmpeg,这两处都可以下载,然后CD到源码目录
4,配置
./configure --toolchain=msvc --arch=x86_64 --enable-x86asm --enable-shared --enable-w32threads --disable-doc --disable-static --prefix=output --enable-optimizations
5,编译
make install
生成目录 msys64\home\root\ffmpeg\output
据实际使用release和debug是同一套;
鸣谢:Windows下如何编译ffmpeg(支持NVENC) - 掘金 (juejin.cn)
2020/5-Win10下ffmpeg最简编译方法 - 知乎 (zhihu.com)