iOS: FFmpeg的使用二

1.下載並編譯FFMPEG。

https://github.com/kewlbear/FFmpeg-iOS-build-script

下載後有一個build-ffmpeg.sh文件。終端執行便可自動下載並編譯完成。git

我在運行的時候並無提示權限的相關問題,若是你在安裝的時候出現問題,本身搜索下怎麼解決。github

2.導入編譯好的靜態庫

   編譯完成後,當前目錄有個FFmpeg-iOS文件夾,拖進項目中。測試

3.添加引用庫

AVFoundation.frameworkui

libz.td(.dylib)spa

libbz2.td (.dylib)code

libbiconv.td (.dylib)ip

4.添加頭文件搜索路徑

Header Search Paths -> $(SRCROOT)/工程名稱/FFmpeg-iOS/includeget


Library Search Paths -> $(PROJECT_DIR)/工程名稱/FFmpeg-iOS/libstring


若是報錯,可能由於你的路徑不正確引發 file not found 的問題it

 

 

5.修改一個.m文件爲.mm,開啓C/C++ 混編模式。

修改後,個人項目仍然報錯 avcodec_configuration() 不可用。當我在復現這個問題的時候,把.mm修改回.m,這時候不會再報編譯錯誤。應該是Xcode已經開啓了混編模式,因此不會再出問題。而且編譯經過,avcodec_configuration() 能夠打印。😰😰

6.測試

ViewController的頭部導入avcodec.h

#include <libavcodec/avcodec.h>

在viewDidLoad中添加代碼

printf("%s",avcodec_configuration());

運行後控制檯輸出相關信息,就表示成功啦!

碰見的問題

問題一: Undefined symbols for architecture armv7
解決方法一:引用庫未添加,依次可添加上文中提示的引用庫。
解決方法二:引用庫都已經添加,仍然報錯,看下有沒有開啓混編模式,修改一個.mm文件

相關文章
相關標籤/搜索