FFmpeg是一套可以用來記錄、轉(zhuǎn)換數(shù)字音頻、視頻,并能將其轉(zhuǎn)化為流的開源計算機程序。采用LGPL或GPL許可證。它提供了錄制、轉(zhuǎn)換以及流化音視頻的完整解決方案。它包含了非常先進的音頻/視頻編解碼庫libavcodec,為了保證高可移植性和編解碼質(zhì)量,libavcodec里很多code都是從頭開發(fā)的。
下面我們看一下Mac OS 下如何編譯 iOS版本的FFmpeg
1. 安裝 yasm
2. 下載 https://github.com/kewlbear/FFmpeg-iOS-build-script
3. 執(zhí)行 build-ffmpeg.sh
4. done.
5. 輸入 ./build-ffmpeg.sh lipo
6. 把ffmpeg-iOS文件加入到工程中
7. 添加一個頭文件引用 #include "avformat.h"
8. 添加一個api語句:av_register_all();給一個類文件.m后綴改為.mm,開啟混編模式。
其他注意細節(jié)
- 編譯的時候報錯: 'libavcodec/avcodec.h' file not found ,修改Header search paths 里的路徑:$(PROJECT_DIR)/FFmpeg-iOS/include
- 加入External libraries:
1. libz.dylib
2. libbz2.dylib
3. libiconv.dylib
4. AudioToolbox.framework
5. CoreMedia.framework
6. AVFoundation.framework
7. VedioToolbox.framework