FFmpeg for iOS 編譯與集成

FFmpeg是一套開源的多媒體處理方案娩践,可以應用于流媒體或直播中卖怜,能夠?qū)崿F(xiàn)音視頻的編解碼以及其他音視頻處理等苫纤,非常強大阔籽。這里簡單介紹iOS平臺的FFmpeg靜態(tài)庫的編譯與集成叠赦。

1.下載編譯腳本

點擊此鏈接驹马,進入github下載編譯腳本:GitHub - kewlbear/FFmpeg-iOS-build-script: Shell scripts to build FFmpeg for iOS and tvOS
下載完成并解壓后得到:

FFmpeg的編譯腳本目錄


2.運行編譯腳本

打開終端,進入文件目錄除秀,運行命令行./build-ffmpeg.sh

編譯過程中可能會遇到的錯誤:
1糯累、報錯yasm沒有安裝,按提示操作安裝
2册踩、報錯"xcrun -sdk iphoneos clang is unable to create an executable file."泳姐,運行命令行sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer/后重新編譯
3、報錯"src/libavutil/arm/asm.S:50:9: error: unknown directive .arch armv7-a"棍好,將編譯腳本build-ffmpeg.sh中ARCHS="arm64 armv7 x86_64 i386"armv7去掉后重新編譯
4仗岸、報錯".../FFmpeg-iOS-build-script-master-2/ffmpeg-xxx/configure: No such file or directory",打開http://www.ffmpeg.org/releases借笙,將相應版本的源碼下載解壓后拷貝到/FFmpeg-iOS-build-script-master 文件夾下扒怖,重新編譯
5、報錯"GNU assembler not found, install/update gas-preprocessor"业稼,打開https://github.com/mansr/gas-preprocessor盗痒,下載安裝最新的gas-preprocessor腳本后,重新編譯

編譯會花費一段時間,如果終端沒有報錯并顯示如下俯邓,說明編譯成功:

編譯完成

這個時候目錄下會生成編譯后的靜態(tài)庫及源碼骡楼,如下圖:

編譯完成后的目錄

其中,FFmpeg-iOS即是我們需要用到的framework


3.集成FFmpeg-iOS

將整個FFmpeg-iOS文件夾拖入工程中稽鞭,并引入相關(guān)的頭文件鸟整,例如:
#import "libavcodec/avcodec.h",如果報錯'libavcodec/avcodec.h' file not found

'libavcodec/avcodec.h' file not found

解決方法如下:
在工程的Build Settings中搜索search朦蕴,找到Header Search PathsLibrary Search Paths篮条,將Library Search Paths中的ffmpeg的lib路徑$(PROJECT_DIR)/FFmpegTest/FFmpeg-iOS/lib復制粘貼到Library Search Paths中,并將lib改為include

添加頭文件的聲明

如果還出現(xiàn)了鏈接報錯clang: error: linker command failed with exit code 1 (use -v to see invocation)吩抓,可能是因為缺少系統(tǒng)庫涉茧,需要#import <VideoToolbox/VideoToolbox.h>,并且需要在工程Build Phases中的Link Binary With Libraries中Add items:libz.1.2.5.tbd疹娶、libbz2.1.0.tbd伴栓、libiconv.2.4.0.tbd,成功編譯雨饺。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末钳垮,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子沛膳,更是在濱河造成了極大的恐慌扔枫,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,372評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件锹安,死亡現(xiàn)場離奇詭異短荐,居然都是意外死亡,警方通過查閱死者的電腦和手機叹哭,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評論 3 392
  • 文/潘曉璐 我一進店門忍宋,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人风罩,你說我怎么就攤上這事糠排。” “怎么了超升?”我有些...
    開封第一講書人閱讀 162,415評論 0 353
  • 文/不壞的土叔 我叫張陵入宦,是天一觀的道長。 經(jīng)常有香客問我室琢,道長乾闰,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,157評論 1 292
  • 正文 為了忘掉前任盈滴,我火速辦了婚禮涯肩,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己病苗,他們只是感情好疗垛,可當我...
    茶點故事閱讀 67,171評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著硫朦,像睡著了一般贷腕。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上咬展,一...
    開封第一講書人閱讀 51,125評論 1 297
  • 那天花履,我揣著相機與錄音,去河邊找鬼挚赊。 笑死,一個胖子當著我的面吹牛济瓢,可吹牛的內(nèi)容都是我干的荠割。 我是一名探鬼主播,決...
    沈念sama閱讀 40,028評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼旺矾,長吁一口氣:“原來是場噩夢啊……” “哼蔑鹦!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起箕宙,我...
    開封第一講書人閱讀 38,887評論 0 274
  • 序言:老撾萬榮一對情侶失蹤嚎朽,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后柬帕,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體哟忍,經(jīng)...
    沈念sama閱讀 45,310評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,533評論 2 332
  • 正文 我和宋清朗相戀三年陷寝,在試婚紗的時候發(fā)現(xiàn)自己被綠了锅很。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,690評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡凤跑,死狀恐怖爆安,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情仔引,我是刑警寧澤扔仓,帶...
    沈念sama閱讀 35,411評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站咖耘,受9級特大地震影響翘簇,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜鲤看,卻給世界環(huán)境...
    茶點故事閱讀 41,004評論 3 325
  • 文/蒙蒙 一缘揪、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦找筝、人聲如沸蹈垢。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽曹抬。三九已至,卻和暖如春急鳄,著一層夾襖步出監(jiān)牢的瞬間谤民,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評論 1 268
  • 我被黑心中介騙來泰國打工疾宏, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留张足,地道東北人。 一個月前我還...
    沈念sama閱讀 47,693評論 2 368
  • 正文 我出身青樓坎藐,卻偏偏與公主長得像为牍,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子岩馍,可洞房花燭夜當晚...
    茶點故事閱讀 44,577評論 2 353

推薦閱讀更多精彩內(nèi)容