#文件依賴
- 最新版的gas-preprocessor
- FFmpeg-iOS-build-script
- yasm
gas-preprocessor
下載最新的gas-preprocessor
- cd gas-preprocessor目錄
- sudo cp -f /Users/username/Desktop/gas-preprocessor-master/gas-preprocessor.pl /usr/local/bin/
- chmod 777 /usr/local/bin/gas-preprocessor.pl
如果第三步失敗,可以試試chmod +x gas-preprocessor.pl
yasm
無需下載,直接執行以下命令
- brew install yasm
- yasm --version
FFmpeg-iOS-build-script
- cd 下載目錄 如:cd /Users/username/Downloads/FFmpeg-iOS-build-script-master
- ./build-ffmpeg.sh 執行腳本
- 等待編譯結束 編譯結束後,會下載一個最新的FFmpeg如下圖
編譯常見錯誤
執行腳本./build-ffmpeg.sh時出現
錯誤:GNU assembler not found, install/update gas-preprocessor
原因: gas-preprocessor不是最新版
xcode新建工程
- 把編譯好的文件lib 和 include添加到工程中
- 添加依賴
– libz.tbd
– libbz2.tbd
– libiconv.tbd
– VideoToolBox.framework- 添加Header Search Path
$(PROJECT_DIR)/FFmpegDemo/FFmpeg/include- 編譯工程
注意:Header Search Path的添加的目錄
編譯好的Demo
- 第三方kxmovie基於FFmpeg音視頻播放器
- 導入工程後會出現編譯錯誤
– KxMovieDecoder 找不到UIImage 解決方案:#import <UIKit/UIKit.h>
–報錯找不到 libavformat/avformat.h 解決方法:Header Search Path添加include目錄,Xcode編譯工程中已經提到
– Implicit declaration of function ‘avpicture_deinterlace’ is invalid in C99 方法:對應的代碼註釋掉,應爲在FFmpeg3.0以後已經失效
– 枚舉值根據提示替換掉即可
Demo
鏈接:https://pan.baidu.com/s/1oYYQS7abQKSumRTZy_WD9A
密碼:di9e