標籤:
編譯環境:Mac OS X 10.10.2 ,Xcode 6.3 iOS SDK 8.3
FFmpeg庫的是 http://www.ffmpeg.org/releases/ 。FFmpeg是一個跨平台的用C語言寫成的庫,包含了編碼,解碼,色彩空間轉換等的庫。
第一步:
下載編譯FFmpeg所需要的指令檔gas-preprocessor.pl,: https://github.com/mansr/gas-preprocessor 。在mac終端中使用cp命令將指令檔gas-preprocessor.pl複製到 /usr/sbin/目錄,並賦予可執行許可權。執行命令為:
(1)sudo cp -f /Users/dev.temobi/Downloads/gas-preprocessor-master/gas-preprocessor.pl /usr/sbin/ (備忘:/Users/dev.temobi/Downloads/gas-preprocessor-master/ 是指令碼gas-preprocessor.pl所在的路徑)
(2)chmod +x /usr/sbin/gas-preprocessor.pl
執行命令後,前往檔案夾/usr/sbin/中查看是否複製成功。
看到指令檔gas-preprocessor.pl已經成功複製到到 /usr/sbin/目錄中了。
第二步:
根據實際項目需要修改build-ffmpeg.sh指令碼中的FFmpeg和iOS SDK版本。運行build-ffmpeg.sh指令碼
build-ffmpeg.sh 這玩意還不好找,連結基本失效,費了一點時間終於找到了,我把build-ffmpeg.sh存到了我的百度網盤,為:http://pan.baidu.com/s/1pJOb2L9
該指令碼中預設採用的FFmpeg是2.0版本,使用iOS 7.0的SDK編譯,c語言編譯器採用clang,可以根據實際項目需要選中不同的FFmpeg和iOS SDK版本。(FFmpeg和iOS SDK的版本這裡,需要根據實際情況修改build-ffmpeg.sh指令碼)
我想使用FFmpeg最新版本,最新版本是ffmpeg-2.6.2,理論上就需要將VERSION改成VERSION="2.6.2",但是build-ffmpeg.sh 指令碼不支援,那就只能跟隨主流使用2.0的版本了
SDKVERSION 是XCode中iOS SDK的版本。我使用的Xcode 6.3,iOS SDK 8.3,就要將SDKVERSION改成了SDKVERSION="8.3"
ARCHS 是指定庫要支援的編譯器指令架構,這雷根據實際工程所支援的指令集作修改。
#!/bin/bash############################################################################ Choose your ffmpeg version and your currently-installed iOS SDK version:#VERSION="2.0"SDKVERSION="8.3"ARCHS="armv7 armv7s i386"############################################################################### Don‘t change anything under this line!############################################################################DEVELOPER=`xcode-select -print-path`
在Mac終端上通過命令進入到build-ffmpeg.sh指令碼的目錄下,使用命令sh build-ffmpeg.sh 運行該指令碼。
編譯完成後,結果為:
實戰FFmpeg--編譯iOS平台使用的FFmpeg庫