在windows下使用msys2编译最新版ffmpeg 4.4.2

**操作系统:windows10 64位 **
一、环境搭建
1. 下载msys2
官网地址: http://www.msys2.org/
2.安装MSYS2,可以安装到你指定的任意位置,这里直接安装在默认位置,点击 下一步,直到安装完成。
在windows下使用msys2编译最新版ffmpeg 4.4.2_第1张图片
在windows下使用msys2编译最新版ffmpeg 4.4.2_第2张图片
在windows下使用msys2编译最新版ffmpeg 4.4.2_第3张图片
这里不要勾选立即运行,我们还要配置镜像地址,不然下载速度很慢,而且经常会下载中断
在windows下使用msys2编译最新版ffmpeg 4.4.2_第4张图片
3.配置镜像地址
打开 C:\msys64\etc 路径下的 pacman.conf 文件,删除图中框选部分
在windows下使用msys2编译最新版ffmpeg 4.4.2_第5张图片
然后添加

[mingw32]
#中国科学技术大学开源软件镜像
Server = https://mirrors.ustc.edu.cn/msys2/mingw/i686/
#北京理工大学开源软件镜像
Server = https://mirror.bit.edu.cn/msys2/REPOS/MINGW/i686
#清华大学开源软件镜像
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/i686
#日本北陆先端科学技术大学院大学 sourceforge 镜像
Server = https://jaist.dl.sourceforge.net/project/msys2/REPOS/MINGW/i686
Server = ftp://ftp.jaist.ac.jp/pub/sourceforge/m/ms/msys2/REPOS/MINGW/i686
Include = /etc/pacman.d/mirrorlist.mingw32

[mingw64]
#中国科学技术大学开源软件镜像
Server = https://mirrors.ustc.edu.cn/msys2/mingw/x86_64/
#北京理工大学开源软件镜像
Server = https://mirror.bit.edu.cn/msys2/REPOS/MINGW/x86_64
#清华大学开源软件镜像
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/x86_64
#日本北陆先端科学技术大学院大学 sourceforge 镜像
Server = https://jaist.dl.sourceforge.net/project/msys2/REPOS/MINGW/x86_64
Server = ftp://ftp.jaist.ac.jp/pub/sourceforge/m/ms/msys2/REPOS/MINGW/x86_64
Include = /etc/pacman.d/mirrorlist.mingw64

[msys]
#中国科学技术大学开源软件镜像
Server = https://mirrors.ustc.edu.cn/msys2/msys/$arch
#北京理工大学开源软件镜像
Server = https://mirror.bit.edu.cn/msys2/REPOS/MSYS2/$arch
#清华大学开源软件镜像
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/msys/$arch
#日本北陆先端科学技术大学院大学 sourceforge 镜像
Server = https://jaist.dl.sourceforge.net/project/msys2/REPOS/MSYS2/$arch
Server = ftp://ftp.jaist.ac.jp/pub/sourceforge/m/ms/msys2/REPOS/MSYS2/$arch
Include = /etc/pacman.d/mirrorlist.msys
  1. 配置msys2的环境
    首先打开开始菜单中的 MSYS MinGW 64-bit在windows下使用msys2编译最新版ffmpeg 4.4.2_第6张图片
    输入 pacman -Syu 命令 ,更新核心组件,等待下载组件,输入字母 y 并按回车键,等待安装完成
    在windows下使用msys2编译最新版ffmpeg 4.4.2_第7张图片

如果这里遇到同步失败的问题,再次执行 pacman -Syu 命令,或者更换其他镜像源再次尝试
在windows下使用msys2编译最新版ffmpeg 4.4.2_第8张图片
如果遇到以下警告 ,需要关闭MSYS2命令行工具,重新打开并再次执行 pacman -Syu 命令即可
在windows下使用msys2编译最新版ffmpeg 4.4.2_第9张图片

安装完毕之后再执行以下命令

pacman -S gcc mingw-w64-x86_64-toolchain yasm mingw-w64-x86_64-SDL2
pacman -S make

这里直接回车就好在windows下使用msys2编译最新版ffmpeg 4.4.2_第10张图片

二、编译 ffmpeg 4.2.2
从 FFmpeg官网下载最新代码文件 https://www.ffmpeg.org/download.html
点击这个最大的绿色按钮,如果想下载其他版本,也可以点击按钮下方的“More releases”
在windows下使用msys2编译最新版ffmpeg 4.4.2_第11张图片
下载之后解压到任意位置 ,我的解压在 D:\ffmpeg-4.2.2 路径

执行以下命令进入到 ffmpeg的解压路径

cd D:\ffmpeg-4.2.2

接着执行,prefix 的参数意义是讲编译出来的文件放在 D:\ffmpeg-4.2.2\buildout 路径下

./configure --prefix=./buildout --enable-static --enable-shared --enable-gpl --enable-version3 --enable-sdl

这里遇到了cmp 命令找不到的问题,是因为msys2没有cmp命令的组件,执行以下命令就可解决

pacman -S diffutils
在windows下使用msys2编译最新版ffmpeg 4.4.2_第12张图片

再次执行

./configure --prefix=…/buildout --enable-static --enable-shared --enable-gpl --enable-version3 --enable-sdl

完美通过!!最后执行

make -j4 & make install

等待漫长的编译过程,打开D:\ffmpeg-4.2.2\buildout 双击执行ffplay,报错了,缺少好几个dll文件
在windows下使用msys2编译最新版ffmpeg 4.4.2_第13张图片
打开msys2 的安装目录 进入./mingw64/bin 找到缺少的那几个dll文件,拷贝进
D:\ffmpeg-4.2.2\buildout 就可以解决了

参考网址:
https://blog.csdn.net/jinlong0603/article/details/88422885?utm_medium=distribute.pc_relevant_right.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant_right.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase

https://blog.csdn.net/liaofeifly/article/details/85335093

你可能感兴趣的:(后端,C++踩坑笔记)