msys2使用MinGW64编译ffmpeg 64bit库

搭建编译环境

下载安装msys2,参考文章《QT Mingw编译ffmpeg源码以及测试》。

安装必要的库文件

双击msys2安装目录下的msys2.exe,在cmd窗口中执行以下命令:

复制代码
 //升级所有库
pacman -Syu
//使用下列命令安装ffmpeg编译的依赖和工具
pacman -S mingw-w64-x86_64-toolchain 
pacman -S mingw-w64-x86_64-yasm 
pacman -S mingw-w64-x86_64-SDL2 
pacman -S mingw-w64-x86_64-fdk-aac 
pacman -S mingw-w64-x86_64-x264 
pacman -S mingw-w64-x86_64-x265
pacman -S mingw-w64-x86_64-gcc
pacman -S make diffutils pkg-config git nasm

将ffmpeg拷贝到msys安装路径下的/home/计算机名xxx/下;并在ffmpeg下新建build目录,用于编译;

编译

运行MSYS2 MINGW64:
使用cd命令切换到刚才新建的build目录下,执行configure,生成Makefile:

c 复制代码
./configure \
    --prefix="/usr/local/ffmpeg" \
    --enable-shared --disable-static \
    --enable-w32threads --disable-debug --disable-everything \
    --enable-gpl --disable-network \
    --enable-encoder=bmp,mjpeg,jpeg2000,mpeg4 \
    --enable-decoder=h264,hevc,mpeg4,mjpeg,bmp  \
    --enable-demuxer=h264,hevc,avi,matroska,image2,image_bmp_pipe \
    --enable-muxer=h264,hevc,avi,matroska,mp4,mjpeg,image2 \
    --enable-parser=h264,hevc,mjpeg,bmp \
    --enable-protocol=file \
    --enable-filter=scale \
    --disable-indevs \
    --disable-hwaccels \
    --extra-libs=-lmsvcrt

以上设置一些编译ffmpeg的选项,相关解释如下,后续继续补充:

复制代码
--prefix 安装程序到指定的目录,即最终编译后生成的文件的存放目录;
--enable-sdl2引入SDL2库,ffplay编译必须;
--enable-x264 启用H.264编码(默认关闭);
--enable-faac启用faac支持libfaac(默认关闭);
--enable-static构建静态库(默认启用);
--disable-static禁止构建静态库(默认关闭);
--enable-shared构建共享库(默认关闭);
--disable-shared 禁止构建共享库(默认启用);
--enable-gpl允许使用GPL(默认关闭);

成功后执行make,make install,编译好的库文件会放置到msys64/usr/local/ffmpeg下,拷贝即可。

相关推荐
戴草帽的大z21 小时前
交叉编译FFmpeg:从x264到RK3588部署实战
linux·ffmpeg·rk3588·h.264·aarch64
农民搬运工1 天前
用 ffmpeg 命令去除视频的重复帧、剪视频、修改视频尺寸
ffmpeg·视频去除重复帧·用ffmpeg剪视频·用ffmpeg去除重复帧·用ffmpeg改视频尺寸
plmm烟酒僧1 天前
RK3588 使用 FFmpeg 硬件解码输出到 DRM Prime (DMA Buf) 加速数据传输
ffmpeg·rk3588·h.264·瑞芯微·硬件解码·rga
十秒耿直拆包选手1 天前
OS:使用ffmpeg从视频文件提取音频文件
ffmpeg
梵尔纳多1 天前
ffmpeg 交叉编译
ffmpeg
mortimer2 天前
用一行 FFmpeg 命令,让噪音俯首,让语音转录更准确一点
ffmpeg·openai
ontheway-xx2 天前
ffmpeg4.4.2 gcc 15.2.0 编译错误
ffmpeg·音视频
小狮子安度因3 天前
FFmpeg+QT输出音频
qt·ffmpeg·音视频
八月的雨季 最後的冰吻3 天前
FFmpeg--FlvPaser源码解析
ffmpeg
feiyangqingyun3 天前
Qt和ffmpeg结合打造gb28181推流/支持udp和tcp被动以及tcp主动三种方式
qt·udp·ffmpeg