FFmpeg3.1.1編譯IOS靜態庫.a檔案
阿新 • • 發佈:2019-01-01
一、準備工作
1.下載最新的 gas-preprocessor.pl
複製gas-preprocessor.pl到/usr/bin下,
修改檔案許可權:chmod 777 /usr/bin/gas-preprocessor.pl
2.下載編譯指令碼/FFmpeg-iOS-build-script
開啟 /FFmpeg/FFmpeg-iOS-build-script-master目錄下的 build-ffmpeg.sh
修改ARCHS="arm64 armv7 armv7s arm64 x86_64 i386"讓其編譯支援arm64 armv7s指令集後儲存
3.下載FFmpeg
解壓ffmpeg-3.1.1.tar.gz 到目錄 /FFmpeg/FFmpeg-iOS-build-script-master/ffmpeg-3.1.1
二、編譯
執行指令碼開始編譯
cd /FFmpeg/FFmpeg-iOS-build-script-master
sh build-ffmpeg.sh
開始編譯,編譯過程時間較長,請耐心等待....
如果你看見FFmpeg-IOS/lib目錄下生成了如上.a檔案,恭喜你!編譯成功了。。。
讓我們來檢視這些.a檔案支援的指令集
ok!這樣虛擬機器和真機都可以使用了。
三、應用
新建IOS專案FFmpegDemo
新增編譯好的靜態庫到專案中
設定專案搜尋FFmpeg靜態庫和標頭檔案
新增依賴庫
VideoToolbox.framework
CoreMedia.framework
CoreAudio.framework
AudioToolbox.framework
libz.dylib
libbz2.dylib
libiconv.dylib
補充讀取攝像頭需要新增
AVFoundation.framework
編碼配置測試程式碼
#import "ViewController.h" #include <libavformat/avformat.h> #include <libavcodec/avcodec.h> @interface ViewController () @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; av_register_all(); printf("%s\n", avcodec_configuration()); } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. } @end
模擬器執行
如果你使用有什麼問題可以私信我,初次寫,寫的不好,見諒!