iOS項目中編譯和集成FFmpeg

前言

自己因為工作項目的需要使用FFmpeg去實現(xiàn)視頻的編碼和解碼。在使用的過程中自己感到編譯和集成FFmpeg還是比較容易出錯的,經(jīng)常出現(xiàn)一些莫名其妙的錯誤。因此想將這整個過程記錄下來,以防自己忘記。并且希望能夠對有需要的人有所幫助。

編譯FFmpeg

想要方便快速的編譯FFmpeg我們需要以下幾個工具:

1,Homebrew -- 一個包依賴管理器
2,gas-preprocessor -- FFmpeg所需的腳本文件
3,yasm -- 一個完全重寫的NASM匯編
4,FFmpeg-iOS-build-script -- 編譯FFmpeg庫的文件

1,打開terminal,查看是否已經(jīng)安裝Homebrew。
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))”

安裝完畢后,重復第1步的命令來確認Homebrew已經(jīng)成功安裝。

3,下載gas-preprocessor

gas-preprocessor下載下來,解壓縮后得到以下文件

gas-preprocessor文件結構

將gas-preprocessor.pl 復制到/usr/sbin目錄下,如果這個目錄無法復制,那么就將該文件復制到/usr/bin目錄下。
之后根據(jù)復制的目錄路徑在terminal中輸入以下指令開啟可執(zhí)行權限。

chmod 777 /usr/sbin/gas-preprocessor.pl

或者

chmod 777 /usr/bin/gas-preprocessor.pl
4,下載yams

在terminal中輸入如圖指令,獲得如圖效果

安裝yasm

如果輸入如圖指令后得到的提示如下圖說明已經(jīng)安裝了yasm

已安裝yasm
5,編譯FFmpeg-iOS-build-script,獲得FFmpeg靜態(tài)庫文件

下載FFmpeg-iOS-build-script文件,解壓縮后獲得以下文件:

目錄結構

打開terminal,進入該文件目錄下,輸入以下命令,然后就可以去喝茶了,編譯的時間略長......

./build-ffmpeg.sh

上面的命令是用來編譯所有類型的庫,你也可以根據(jù)官方文檔編譯你想要類型的庫。
編譯結束后會得到如圖目錄:

屏幕快照_2016-08-10_下午3_18_17.png

至此,我們已經(jīng)獲得了所需要的靜態(tài)庫文件。

集成FFmpeg靜態(tài)庫到iOS項目中

1,將FFmpeg-iOS文件夾復制到項目跟目錄中
項目跟目錄

2,將FFmpeg-iOS圖拽到工程當中

工程目錄
3,添加Linked Frameworks and Libraries
添加相應框架和庫
4,設置Header Search Paths和Library Search Paths
設置頭文件路徑和庫路徑

以上路徑需要是你的文件所在路徑。

至此,靜態(tài)庫的集成已經(jīng)完成了?,F(xiàn)在我們在代碼中輸入以下內容進行檢測:

檢測靜態(tài)庫

如果run之后沒有報錯,我們的程序輸出了一些靜態(tài)庫的信息,那么恭喜你成功的完成了FFmpeg靜態(tài)庫的集成工作。

后記

相信你通過這篇文章已經(jīng)能夠明白FFmpeg在iOS的集成了,如果你覺得對你有幫助就點個贊吧。本人作為FFmpeg的新手,將會在后續(xù)陸續(xù)總結一些有關使用的心得。希望有朋友能跟我一起學習!
如需轉載請標明作者,只有尊重知識的分享才是傳播知識最好的方式,謝謝!
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容