一. 源码包下载
下载地址:
Download FFmpegDownload FFmpeg
点击more lease,然后下载
二: MSYS2安装 :
下载地址:MSYS2
执行命令:pacman -Syu
pacman -S mingw-w64-x86_64-gcc
pacman -S mingw-w64-x86_64-toolchain # mingw64编译工具链,win下的gcc
pacman -S base-devel # 一些基本的编译工具
pacman -S yasm nasm make # 汇编器
pacman -S mingw-w64-x86_64-SDL2 # SDL2 是ffmpeg依赖的,因为没有它ffpaly不能用
如果要编译32位的ffmpeg ,增加pacman -S mingw-w64-i686-toolchain
三: 安装CMake工具
CMake下载地址:Download | CMake
安装完成之后我们在 msys2 中是找不到 cmake 命令的,这里我们把 windows path 添加到 msys2 中。在 windows 环境变量中新建一个名为 MSYS2_PATH_TYPE 的环境变量,值改为 inherit,然后重启msys2就可以在msys2中使用安装的cmake了。
四. 下载x264,x265
x264源码下载:
https://www.videolan.org/developers/x264.html
五: 开始编译
1. 编译x264
(1)把下载的x264源码包解压到msys64的home目录下,即 c/msys64/home/xxx (这里的xxx是用户名)。
(2)进入x264源码目录中新建脚本 build-x264.sh ,脚本内容如下:
最后生成的库 目录如下:
bin 中存放的是动态库
include 中存放的是头文件
l ib 中存放的是静态库,给后面 FFmpeg 链接使用
打开VS 的工具,然后在bin 目录下,执行:lib.exe /out:C:\msys64\home\x264-master\x264_install\bin\libx264-164.lib /machine:x64 /def:C:\msys64\home\x264-master\libx264.def,最后生成libx264-164.lib
#!/bin/sh
basepath=$(cd `dirname $0`;pwd)
echo ${basepath}
cd ${basepath}
pwd
export PKG_CONFIG_PATH=${PKG_CONFIG_PATH}:${basepath}/x264_install/lib/pkgconfig
echo ${PKG_CONFIG_PATH}
./configure --prefix=${basepath} \
--enable-gpl --enable-libx264 --disable-static --enable-shared \
--extra-cflags=-l${basepath}/x264_install/include --extra-ldflags=-L${basepath}/x264_install/lib
make -j8
make install
编译生成的lib 如下:
FFmpeg在 Windows 环境编译(64位)支持h264,h265,和Intel QSV,Nvidia Cuda,AMD amf 硬件加速_ffmpeg windows-CSDN博客 https://www.cnblogs.com/midoq/p/16969756.html