音视频技术应用(1)-使用VS2019来编译FFmpeg_环境搭建

一. 安装并配置msys2

这个工具主要用于模拟linux的一些命令和指令。
下载地址:链接: https://pan.baidu.com/s/17_GfjHdGO21fHpH7saTIqA 提取码: 8hbi 

下载完成之后将其解压到系统的任意目录,比如我解压在E:\sys\msys64目录下:
音视频技术应用(1)-使用VS2019来编译FFmpeg_环境搭建

 

然后打开VS2019的命令行工具,选择:x86 Native Tools Command Prompt for VS 2019
音视频技术应用(1)-使用VS2019来编译FFmpeg_环境搭建

点击打开, cd 到msys2 所在的目录, 执行 msys2_shell.cmd -mingw32, 启动msys2的32位运行环境:
音视频技术应用(1)-使用VS2019来编译FFmpeg_环境搭建

 

 在新启动的msys2中执行 cl, 看是否能找到cl 编译器,如果提示:bash: cl: 未找到命令
音视频技术应用(1)-使用VS2019来编译FFmpeg_环境搭建

 

则说明msys 控制台系统中并没有共享我们本地的VS2019的运行环境,因此需要将 VS2019的运行环境添加到 msys 的控制台系统当中,目的要保证能在msys的环境中要能运行VS2019的控制台。

打开刚才msys2的解压路径,找到:msys2_shell.cmd 文件,打开:

找到:

rem set MSYS2_PATH_TYPE=inherit

将其修改为:

set MSYS2_PATH_TYPE=inherit

允许msys 继承外部的环境变量:

音视频技术应用(1)-使用VS2019来编译FFmpeg_环境搭建

 

 关闭msys2的控制台窗口,然后重新在 VS2019的控制台窗口中执行:msys2_shell.cmd -mingw32

音视频技术应用(1)-使用VS2019来编译FFmpeg_环境搭建

 

打开msys的控制台窗口后,再次执行cl, 若遇到乱码则是因为字符编码不一致导致的,可以右击msys2的标题栏,依次选择“Options”-"Text", 分别修改Locale 和 Character set 为 “zh_CN” 和 “GBK”, PS: 修改为GBK是因为VS2019使用都是GBK的字符编码。

音视频技术应用(1)-使用VS2019来编译FFmpeg_环境搭建

 

修改完毕后,回到msys的控制台,再次执行cl,这样就不会有乱码了:

音视频技术应用(1)-使用VS2019来编译FFmpeg_环境搭建

 

 到此为止,我们就已经把msys的环境装好了,并且已经包含了cl的命令行工具。

 二. msys2  依赖环境安装

这里我们主要使用pacman来安装编译依赖工具,pacman 有点类似于ubuntu下的apt, 或是centos下的yum。

2.1 安装汇编工具

主要是在编译x264和ffmepg时会用到,如果不安装,在config中需要禁用汇编。

安装 nasm

打开msys 控制台窗口,执行 pacman -S nasm , 注意 S 大写

音视频技术应用(1)-使用VS2019来编译FFmpeg_环境搭建

 

如果遇到乱码,则参考上面将字符编码修改为UTF-8试下。输入 y, 回车

音视频技术应用(1)-使用VS2019来编译FFmpeg_环境搭建

 

如果提示已有的站点无法下载,则要为msys2 添加新的软件源,跟ubuntu中添加软件源的道理是一样的。

为msys2添加新的软件源的方法如下:

打开 msys2 安装目录下的 etc 目录,找到 pacman.d 文件:

音视频技术应用(1)-使用VS2019来编译FFmpeg_环境搭建

打开 etc/pacman.d/mirrorlist.mingw32, 在开头添加:

Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/i686

音视频技术应用(1)-使用VS2019来编译FFmpeg_环境搭建

 

 

打开 etc/pacman.d/mirrorlist.mingw64, 在开头添加:

Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/x86_64

音视频技术应用(1)-使用VS2019来编译FFmpeg_环境搭建

 

 

打开  etc/pacman.d/mirrorlist.msys, 在开头添加:

Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/msys/$arch

音视频技术应用(1)-使用VS2019来编译FFmpeg_环境搭建

 

然后执行 pacman -Sy 刷新软件名数据即可。

如果刷新失败,遇到下列错误:

音视频技术应用(1)-使用VS2019来编译FFmpeg_环境搭建

 

 则需要对签名进行更新。msys2 官方也给出了相应的解决方案:

参考 https://www.msys2.org/news/, 依次在控制台窗口中执行下列命令:

curl -O http://repo.msys2.org/msys/x86_64/msys2-keyring-r21.b39fb11-1-any.pkg.tar.xz
curl -O http://repo.msys2.org/msys/x86_64/msys2-keyring-r21.b39fb11-1-any.pkg.tar.xz.sig

pacman-key --verify msys2-keyring-r21.b39fb11-1-any.pkg.tar.xz.sig
pacman -U msys2-keyring-r21.b39fb11-1-any.pkg.tar.xz

pacman -U --config <(echo) msys2-keyring-r21.b39fb11-1-any.pkg.tar.xz

rm -r /etc/pacman.d/gnupg/
pacman-key --init
pacman-key --populate msys2

来完成签名的更新:

音视频技术应用(1)-使用VS2019来编译FFmpeg_环境搭建

 

 音视频技术应用(1)-使用VS2019来编译FFmpeg_环境搭建

 

 再次安装 nasm, 执行:pacman -S nasm

 

上一篇:windows下编译ffmpeg以及遇到的坑


下一篇:windows 安装msys2 交叉编译环境