文章目錄
- 關于 fdk-aac
- 編譯 fdk-aac
- 在 FFMpeg 編譯中啟用
關于 fdk-aac
A standalone library of the Fraunhofer FDK AAC code from Android.
- github : https://github.com/mstorsjo/fdk-aac
- 代碼托管 : https://sourceforge.net/projects/opencore-amr/
編譯 fdk-aac
1、下載源碼:
https://www.linuxfromscratch.org/blfs/view/svn/multimedia/fdk-aac.html
這里我使用 fdk-aac-2.0.3 :https://downloads.sourceforge.net/opencore-amr/fdk-aac-2.0.3.tar.gz
2、下載腳本:https://github.com/kewlbear/fdk-aac-build-script-for-iOS
git clone https://github.com/kewlbear/fdk-aac-build-script-for-iOS
將 build-fdk-aac.sh
和 解壓后的源碼文件夾放在一級目錄
fdk-acc % tree -L 1
.
├── README.md
├── build-fdk-aac.sh
└── fdk-aac-2.0.3
3、安裝依賴庫
brew install automake libtool
4、修改編譯腳本 ./build-fdk-aac.sh
1) 去掉 i386 armv7
, 留下 arm64 x86_64
2)SOURCE
改為源碼解壓后的名字 SOURCE="fdk-aac-2.0.3"
5、編譯
./build-fdk-aac.sh
也可以指定需要的架構來執行
./build-fdk-aac.sh arm64 x86_64
然后將分開編譯的架構,放到一個包
./build-fdk-aac.sh lipo
6、完成
編譯完成后,將生成文件夾 fdk-aac-ios
% cd fdk-aac-ios
% tree
.
├── include
│ └── fdk-aac
│ ├── FDK_audio.h
│ ├── aacdecoder_lib.h
│ ├── aacenc_lib.h
│ ├── genericStds.h
│ ├── machine_type.h
│ └── syslib_channelMapDescr.h
└── lib└── libfdk-aac.a
在 FFMpeg 編譯中啟用
1、將 fdk-aac-ios
拖放到和 build-ffmpeg.sh
一級目錄
一些教程建議只拖放 fdk-aac-ios
的 lib 部分,我的測試是,需要拖放全部。腳本中也會用到 include 和 lib 文件。
2、修改 腳本 build-ffmpeg.sh
將 19行的
#FDK_AAC=`pwd`/../fdk-aac-build-script-for-iOS/fdk-aac-ios
改為:
FDK_AAC=`pwd`/fdk-aac-ios
伊織 2024-05-05(日)