windows10 下 VS + msys2 编译 FFmpeg 记录

之前都是一直都是在linux下做ffmpeg开发,编译各种东西很方便

最近领导安排了一个项目需要把之前linux平台的项目弄到windows平台下 对应的各种依赖库就都需要重新编译,之前为了给RTMP添加H265支持的时候 在windows下变异了一个ffplay.exe。windows下可以直接运行没问题,但是现在是要做开发 需要lib库

然后去看了之前编译的库还是linux下面的.a文件 windows下面没办法用,然后网上搜了下

大多数说是去ffmpeg官网下载,但是 不知道从什么时候开始 ffmpeg官网找不到windows平台下的lib库了,没办法只好自己尝试编译,正好这两天也vs 安装起来了

网上搜罗了一下,先要下载msys2

msys2 官网链接 

下载下来之后安装 之后默认C:\msys64

执行这个命令 pacman -S make gcc diffutils pkg-config

需要安装一些工具

进到usr/bin目录下 把默认的link.exe改下名字 ,我们需要用vs的link.exe

然后需要下载yasm

yasm官网

下载下来之后重命名为yasm.exe放到usr/bin目录下

之后修改

C:\msys64\msys2_shell.cmd,
  rem set MSYS2_PATH_TYPE=inherit
  改为:
  set MSYS2_PATH_TYPE=inherit

就是默认是注释掉的 现在要去掉注释

然后打开vs的命令行提示符 切换到msys目录下

把ffmpeg copy进来 

ffmpeg 下新建一个build.sh   rtmp_h265是我自己的定义的宏 

./configure --prefix=./install	\
	--disable-x86asm	\
	--arch=x86	\
	--toolchain=msvc	\
	--enable-static	\
	--enable-rtmp_h265

执行这个脚本之后 make  make install

我的编译出来怎么还是.a不是 .lib 哎 奇怪?

重新来打开vs x64 native command prompt cd 到 msys目录 启动msys2.exe

windows10 下 VS + msys2 编译 FFmpeg 记录_第1张图片

 

export PATH="/c/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.30.30705/bin/Hostx64/x64":$PATH

export下环境变量  make clean

重新配置下 

./configure --prefix=./output	\
	--enable-x86asm	\
	--arch=x86_64	\
	--toolchain=msvc	\
	--enable-static	\
	--enable-shared	\
	--enable-w32threads	\
	--disable-doc	\
	--enable-optimizations	\
	--enable-rtmp_h265
	

make make install  bin目录下成功生成了 dll 和.lib库 如下图

windows10 下 VS + msys2 编译 FFmpeg 记录_第2张图片

 

windows10 下 VS + msys2 编译 FFmpeg 记录_第3张图片

告于一个段落 

你可能感兴趣的:(FFMpeg,linux,音视频,运维)