编译fdk-aac

83 阅读1分钟

环境

阅读前,最好参考了,ffmpeg编译x264编译

下载MSYS2

  • 地址: www.msys2.org/
  • 安装文件: msys2-x86_64-20240113.exe
  • 安装目录: C:\msys64
  • 增加环境变量 C:\msys64\mingw64\bin

3. 安装工具链

  • 管理员身份运行 C:\msys64\mingw64.exe 文件
  • 在里面执行脚本 pacman -S mingw-w64-x86_64-toolchain

按下Enter默认全部安装

  • 执行 `pacman -S base-devel'
  • 执行 `pacman -S yasm nasm gcc'
  • 执行 pacman -S mingw-w64-x86_64-autotools

pacman -S mingw-w64-x86_64- 打这样一半,然后回车,系统可以提示打印支持安装的所有工具

下载fdk-aac

太高版本,可能不兼容

git clone https://github.com/mstorsjo/fdk-aac.git 
git checkout v0.1.6

这个不需要在 mingw64.exe 里面运行

使用mingw64.exe进入fdk-aac目录

创建 build_mingw64.sh 脚本文件。里面

autoreconf -fiv
./configure --prefix=fdkaac-install --enable-static --disable-shared
make

得到如下结构:

image.png

image.png

把这个库,集成到ffmpeg里面去

将文件夹拷贝到ffmpeg的同目录

image.png

其实后面的方式和x264的集成一致

编写编译脚本

之前已经写过加入x264的,我在原来基础上,增加fdk-aac

# 当前目录
basepath=$(cd `dirname $0`;pwd)

# 获取当前目录的上层目录
parent_dir=$(dirname "$(pwd)")

echo ${basepath}


cd ${basepath}

./configure \
--prefix=${basepath}/ffmpeg_install \
--disable-static --enable-shared  \
--disable-asm \
--enable-debug=3 \
--enable-libx264 --enable-gpl \
--enable-nonfree --enable-libfdk-aac \
--extra-cflags="-I${parent_dir}/x264_install/include -I${parent_dir}/fdkaac-install/include" \
--extra-ldflags="-L${parent_dir}/x264_install/lib -L${parent_dir}/fdkaac-install/lib" \

make
#make install

执行完的ffmpeg_install 的bin目录就包含可用的lib和dll