2.2 Windows MSYS2编译FFmpeg 4.4.1

一、安装编译工具

# 更换pacman源
sed -i "s#mirror.msys2.org/#mirrors.ustc.edu.cn/msys2/#g" /etc/pacman.d/mirrorlist*
pacman -Sy

# 安装依赖
pacman -S --needed base-devel mingw-w64-x86_64-toolchain
pacman -S mingw-w64-x86_64-nasm mingw-w64-x86_64-yasm
pacman -S git pkg-config

说明:

  • base-devel:提供编译和开发软件所需的基础工具集,包含 常用的工具如 make, patch, autoconf, automake, libtool, gettext, texinfo 等
  • mingw-w64-x86_64-toolchain :MinGW-w64 的完整工具链,用于在 Windows 上编译 64 位应用程序,包含 编译器(如 gcc, g++)、链接器、调试器(gdb)以及相关的开发库和头文件。
  • mingw-w64-x86_64-nasm:NASM(Netwide Assembler)是一个开源的 x86 和 x86-64 汇编器。
  • mingw-w64-x86_64-yasm:YASM 是一个模块化的汇编器,支持 x86 和 x86-64 架构,兼容 NASM 语法。
  • git:用于从 Git 仓库下载源码(如 git clone)。
  • pkg-config:用于检索已安装库的编译和链接信息。

二、通过pacman安装依赖

2.1 常见依赖库

查询包名 网址:packages.msys2.org/queue

分类 库名称 用途 FFmpeg 配置选项 pacman 安装命令
视频编码 libx264 H.264 视频编码(高效、广泛使用的视频编码标准) --enable-libx264 pacman -S mingw-w64-x86_64-x264
libx265 H.265/HEVC 视频编码(高压缩率,适用于 4K/8K 视频) --enable-libx265 pacman -S mingw-w64-x86_64-x265
libvpx VP8/VP9 视频编码(WebM 格式,适用于网络视频) --enable-libvpx pacman -S mingw-w64-x86_64-libvpx
libtheora Theora 视频编码(开源视频格式) --enable-libtheora pacman -S mingw-w64-x86_64-libtheora
libwebp WebP 图像和视频编码(高效图像压缩格式) --enable-libwebp pacman -S mingw-w64-x86_64-libwebp
libaom AV1 视频编码(下一代开源视频编码,高效压缩) --enable-libaom pacman -S mingw-w64-x86_64-libaom
libdav1d AV1 视频解码(高性能 AV1 解码器,适合播放) --enable-libdav1d pacman -S mingw-w64-x86_64-dav1d
libxvid MPEG-4 视频编码(老式但仍使用的视频编码标准) --enable-libxvid pacman -S mingw-w64-x86_64-xvidcore
音频编码 libfdk-aac AAC 音频编码(高质量音频编码,支持 HE-AAC) --enable-libfdk-aac pacman -S mingw-w64-x86_64-fdk-aac
libmp3lame MP3 音频编码(广泛使用的音频格式) --enable-libmp3lame pacman -S mingw-w64-x86_64-lame
libopus Opus 音频编码(低延迟、高质量,适合网络传输) --enable-libopus pacman -S mingw-w64-x86_64-opus
libvorbis Vorbis 音频编码(开源音频格式,常用于 Ogg 容器) --enable-libvorbis pacman -S mingw-w64-x86_64-libvorbis
libspeex Speex 音频编码(针对语音优化的压缩格式) --enable-libspeex pacman -S mingw-w64-x86_64-speex
libflac FLAC 音频编码(无损音频压缩格式) --enable-libflac pacman -S mingw-w64-x86_64-flac
其他常用功能 libass 字幕渲染(支持 ASS/SSA 字幕格式) --enable-libass pacman -S mingw-w64-x86_64-libass
zlib 数据压缩(用于压缩和解压文件或流) --enable-zlib pacman -S mingw-w64-x86_64-zlib
freetype 字体渲染(用于字幕和文本绘制) --enable-libfreetype pacman -S mingw-w64-x86_64-freetype
fontconfig 字体管理(优化字体选择和配置) --enable-fontconfig pacman -S mingw-w64-x86_64-fontconfig
openal 音频处理(支持 3D 音频和空间音效) --enable-openal pacman -S mingw-w64-x86_64-openal
libsdl2 多媒体交互(用于 ffplay 的图形界面和音频输出) --enable-sdl2 pacman -S mingw-w64-x86_64-libsdl2
openssl 支持 HTTPS 和其他加密协议(如 RTMPS) --enable-openssl pacman -S mingw-w64-x86_64-openssl
librtmp RTMP 流媒体协议支持(用于直播推流/拉流) --enable-librtmp pacman -S mingw-w64-x86_64-librtmp
libpng PNG 图像支持(用于图像处理和帧提取) --enable-libpng pacman -S mingw-w64-x86_64-libpng
libjpeg-turbo JPEG 图像支持(加速 JPEG 编码/解码) --enable-libjpeg pacman -S mingw-w64-x86_64-libjpeg-turbo

2.2 ffmpeg编译安装

最小化配置:x264、x265、fdk-aac 和 lame

安装依赖

pacman -S mingw-w64-x86_64-x264 mingw-w64-x86_64-x265 mingw-w64-x86_64-fdk-aac mingw-w64-x86_64-lame

ffmpeg 4.4.1 编译:

wget https://ffmpeg.org/releases/ffmpeg-4.4.1.tar.xz
tar xf ffmpeg-4.4.1.tar.xz && cd ffmpeg-4.4.1

./configure \
--prefix=$(pwd)/../ffmpeg_build \
--disable-everything \
--disable-doc \
--enable-shared \
--enable-muxer=mp4,flv,mp3,wav \
--enable-demuxer=mp4,mov,mp3,aac \
--enable-encoder=libx264,libx265,libfdk_aac,libmp3lame \
--enable-decoder=aac,h264,hevc,mp3 \
--enable-protocol=file,http \
--enable-filter=aresample \
--enable-bsf=aac_adtstoasc \
--enable-gpl \
--enable-nonfree \
--enable-libx264 \
--enable-libx265 \
--enable-libfdk-aac \
--enable-libmp3la
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值