根據我的的理解,ffmpeg是一個多媒體轉碼、音視頻流化傳輸的一個第三方開源框架,而且這個第三方庫是基於C語言的(表示看不懂,通常看不懂的東西纔是牛逼的)。 iOS平臺下的ffmpeg主要包括如下一些功能:影音的解碼、編碼、編碼轉換、混合、抽取、串流和濾鏡:相關博客:iOS9 新濾鏡介紹、基於GPUImage的實時美顏濾鏡。html
第一步:下載FFmpeg腳本地址,獲取獲得以下圖所示的文件夾:ios
在這裏我是將文件夾放到了桌面,能夠查看此時的文件目錄git
你會發現只包含了三個文件。github
第二步:下載完整的ffmpeg支持庫。
首先打開終端,剛開下載的文件的目錄:cd 文件目錄。這裏個人目錄是在桌面,因此:cd /Users/lxh/Desktop/FFmpeg-iOS-build-script-master 而後輸入:./build-ffmpeg.sh 隨後便開始了漫長的下載過程。等徹底下載完成之後你會發現,桌面上的文件夾(剛下載的)多了好多的文件。,如圖所示:框架
這個就是咱們剛纔經過終端下載的ffmpeg的編譯庫。
其中FFmpeg-iOS文件是咱們在項目中須要用到的,另外ffmpeg-3.0文件是全平臺下載的編譯文件(包含了TVOS、Mac OS、iOS等)。ui
第三步:集成 iOS平臺下的ffmpeg編碼
'config.h' file not found
,這是因爲找不到config.h文件,沒關係,去桌面源文件中找。因而咱們在桌面文件夾中找到scratch文件夾,隨便打開一個文件夾找到config.h ,拖到工程中。編譯後發現這個問題獲得瞭解決,此時工程結構以下:'libavcodec/avcodec.h' file not found
和 'compat/va_copy.h' file not found
,這個問題是因爲沒有找到對應的文件,咱們繼續到ffmpeg-3.0
對應的文件夾中去查找,並添加。添加規則以下:compat/va_copy.h
這個就是要在ffmpeg-3.0中的compat文件夾
中去找va_copy.h
文件。libavcodec/avcodec.h
就是要到ffmpeg-3.0
中的libavcodec文件夾
中去查找avcodec.h
。而後依次在工程的FFmpeg-iOS文件夾下的include文件夾
下建立相應的文件夾,例如:compat
、libavcodec
文件夾,並添加相關文件。