前言
自己因?yàn)楣ぷ黜?xiàng)目的需要使用FFmpeg去實(shí)現(xiàn)視頻的編碼和解碼臀玄。在使用的過程中自己感到編譯和集成FFmpeg還是比較容易出錯(cuò)的健无,經(jīng)常出現(xiàn)一些莫名其妙的錯(cuò)誤。因此想將這整個(gè)過程記錄下來募胃,以防自己忘記畦浓。并且希望能夠?qū)τ行枰娜擞兴鶐椭?/p>
編譯FFmpeg
想要方便快速的編譯FFmpeg我們需要以下幾個(gè)工具:
1,Homebrew -- 一個(gè)包依賴管理器
2,gas-preprocessor -- FFmpeg所需的腳本文件
3祷嘶,yasm -- 一個(gè)完全重寫的NASM匯編
4论巍,FFmpeg-iOS-build-script -- 編譯FFmpeg庫的文件
1风响,打開terminal状勤,查看是否已經(jīng)安裝Homebrew。
如果輸入如圖指令密似,并獲得Homebrew的版本號残腌,說明你已經(jīng)安裝了Homebrew。請?zhí)^第2步蟆盹。
2邑滨,安裝Homebrew
在terminal中輸入以下命令:
ruby -e “$(curl -fsSL [https://raw.githubusercontent.com/Homebrew/install/master/install](https://raw.githubusercontent.com/Homebrew/install/master/install))”
安裝完畢后掖看,重復(fù)第1步的命令來確認(rèn)Homebrew已經(jīng)成功安裝哎壳。
3尚卫,下載gas-preprocessor
將gas-preprocessor下載下來,解壓縮后得到以下文件
將gas-preprocessor.pl 復(fù)制到/usr/sbin目錄下,如果這個(gè)目錄無法復(fù)制怎爵,那么就將該文件復(fù)制到/usr/bin目錄下鳖链。
之后根據(jù)復(fù)制的目錄路徑在terminal中輸入以下指令開啟可執(zhí)行權(quán)限。
chmod 777 /usr/sbin/gas-preprocessor.pl
或者
chmod 777 /usr/bin/gas-preprocessor.pl
4逞敷,下載yams
在terminal中輸入如圖指令推捐,獲得如圖效果
如果輸入如圖指令后得到的提示如下圖說明已經(jīng)安裝了yasm
5牛柒,編譯FFmpeg-iOS-build-script慨菱,獲得FFmpeg靜態(tài)庫文件
下載FFmpeg-iOS-build-script文件符喝,解壓縮后獲得以下文件:
打開terminal,進(jìn)入該文件目錄下,輸入以下命令缴川,然后就可以去喝茶了描馅,編譯的時(shí)間略長......
./build-ffmpeg.sh
上面的命令是用來編譯所有類型的庫,你也可以根據(jù)官方文檔編譯你想要類型的庫恋日。
編譯結(jié)束后會得到如圖目錄:
至此岂膳,我們已經(jīng)獲得了所需要的靜態(tài)庫文件谈截。
集成FFmpeg靜態(tài)庫到iOS項(xiàng)目中
1,將FFmpeg-iOS文件夾復(fù)制到項(xiàng)目跟目錄中
2,將FFmpeg-iOS圖拽到工程當(dāng)中
3,添加Linked Frameworks and Libraries
4,設(shè)置Header Search Paths和Library Search Paths
以上路徑需要是你的文件所在路徑。
至此喻鳄,靜態(tài)庫的集成已經(jīng)完成了「。現(xiàn)在我們在代碼中輸入以下內(nèi)容進(jìn)行檢測:
如果run之后沒有報(bào)錯(cuò)隅肥,我們的程序輸出了一些靜態(tài)庫的信息,那么恭喜你成功的完成了FFmpeg靜態(tài)庫的集成工作泛啸。