最近剛接觸ffmpeg,找了很多相關的編譯資料,都沒有編譯成功,前幾天在 github上找到一個腳本(https://github.com/kewlbear/FFmpeg-iOS-build-script),就可完美編譯
准備條件
先下載文件:https://github.com/libav/gas-preprocessor,
復制gas-preprocessor.pl到/usr/sbin下,
修改文件權限:chmod 777 /usr/local/bin/gas-preprocessor.pl
安裝yasm
具體步驟如下:
1. 下載腳本:https://github.com/kewlbear/FFmpeg-iOS-build-script
2. 解壓,找到文件 build-ffmpeg.sh
3. 執行服本文件:./build-ffmpeg.sh, 由於本人沒有事先安裝Yasm 執行腳本文件會出錯,
如下:
MAC:FFmpeg-iOS-build-script-master-2 jinsonglnan$ ./build-ffmpeg.sh Yasm not found Homebrew not found. Trying to install... Whoops, the Homebrew installer has moved! Please instead run: ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" Also, please ask wherever you got this link from to update it to the above. Trying to install Yasm... ./build-ffmpeg.sh: line 67: brew: command not found
意思就是說,沒有yasm, 看到提示執行 ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"安裝
4.編譯完成後,終端進入FFmpeg-iOS-build-script目錄,然後輸入./build-ffmpeg.sh lipo,這個命令是講.a文件合並成一個
5.把ffmpeg-iOS文件加入到工程中
6.添加一個頭文件引用 #include "avformat.h"
添加一個api語句:av_register_all();給一個類文件.m後綴改為.mm,開啟混編模式。
運行工程,如果沒有報錯,則表明編譯成功
7.其他注意細節
編譯的時候報錯: 'libavcodec/avcodec.h' file not found ,修改Header search paths 裡的路徑:$(PROJECT_DIR)/FFmpeg-iOS/include
加入External libraries:
libz.dylib libbz2.dylib libiconv.dylib
8.編譯好,寫了個demo:點此下載