2016最新FFmpeg-iOS靜態庫編譯

一直在電商圈混跡,最近想自己找找視頻圖像方面的項目做做練手,於是打算從FFmpeg這個比較流行的框架開始,但是竟然因爲一個“GNU assembler not found, install/update gas-preprocessor”問題,困擾了我一整天,所以寫篇博客記錄編譯過程。希望能幫到打算做嘗試的朋友們。

下載gas-preprocessor.pl

github地址:https://github.com/libav/gas-preprocessor
官方最新地址,github上也有以下其他的地址,但是其gas-preprocessor是幾年前的,這種日期的gas-preprocessor在編譯的時候會出現文章開始說的“GNU assembler not found, install/update gas-preprocessor”的問題。所以一定要下載最新的。

  1. 複製gas-preprocessor.pl到/usr/sbin下;
  2. 修改文件權限,終端輸入以下信息:chmod 777 /usr/sbin/gas-preprocessor.pl

    修改gas-preprocessor, 打開gas-preprocessor根據項目需求進行改動

use strict;

# Apple's gas is ancient and doesn't support modern preprocessing features like
# .rept and has ugly macro syntax, among other things. Thus, this script
# implements the subset of the gas preprocessor used by x264 and ffmpeg
# that isn't supported by Apple's gas.

下載安裝yasm

下載yasm最新版本:http://www.tortall.net/projects/yasm/releases/
cd 進入你的yasm最新版中,執行以下命令行代碼:

MacBook-Pro:FFmpeg-iOS-build-script-master wenzhan$ ./configure
MacBook-Pro:FFmpeg-iOS-build-script-master wenzhan$ make
MacBook-Pro:FFmpeg-iOS-build-script-master wenzhan$ sudo make install

下載FFmpeg最新版本

FFmpeg官方地址:http://ffmpeg.org/download.html#build-mac
下載完成後,將FFmpeg放入到yasm目錄下。

運行build-ffmpeg.sh腳本

下載build-ffmpeg.sh:http://download.csdn.net/detail/perfect_promise/9435587
cd進入下載build-ffmpeg.sh目錄下,執行代碼:

MacBook-Pro:FFmpeg-iOS-build-script-master wenzhan$./build-preprocessor.sh

展示一下編譯結束的命令行:

building fat binaries...
lipo -create /Users/wenzhan/Downloads/FFmpeg-iOS-build-script-master/thin/arm64/lib/libavcodec.a /Users/wenzhan/Downloads/FFmpeg-iOS-build-script-master/thin/armv7/lib/libavcodec.a -output FFmpeg-iOS/lib/libavcodec.a
lipo -create /Users/wenzhan/Downloads/FFmpeg-iOS-build-script-master/thin/arm64/lib/libavdevice.a /Users/wenzhan/Downloads/FFmpeg-iOS-build-script-master/thin/armv7/lib/libavdevice.a -output FFmpeg-iOS/lib/libavdevice.a
lipo -create /Users/wenzhan/Downloads/FFmpeg-iOS-build-script-master/thin/arm64/lib/libavfilter.a /Users/wenzhan/Downloads/FFmpeg-iOS-build-script-master/thin/armv7/lib/libavfilter.a -output FFmpeg-iOS/lib/libavfilter.a
lipo -create /Users/wenzhan/Downloads/FFmpeg-iOS-build-script-master/thin/arm64/lib/libavformat.a /Users/wenzhan/Downloads/FFmpeg-iOS-build-script-master/thin/armv7/lib/libavformat.a -output FFmpeg-iOS/lib/libavformat.a
lipo -create /Users/wenzhan/Downloads/FFmpeg-iOS-build-script-master/thin/arm64/lib/libavutil.a /Users/wenzhan/Downloads/FFmpeg-iOS-build-script-master/thin/armv7/lib/libavutil.a -output FFmpeg-iOS/lib/libavutil.a
lipo -create /Users/wenzhan/Downloads/FFmpeg-iOS-build-script-master/thin/arm64/lib/libswresample.a /Users/wenzhan/Downloads/FFmpeg-iOS-build-script-master/thin/armv7/lib/libswresample.a -output FFmpeg-iOS/lib/libswresample.a
lipo -create /Users/wenzhan/Downloads/FFmpeg-iOS-build-script-master/thin/arm64/lib/libswscale.a /Users/wenzhan/Downloads/FFmpeg-iOS-build-script-master/thin/armv7/lib/libswscale.a -output FFmpeg-iOS/lib/libswscale.a
Done

文件夾中會多出一個FFmpeg-iOS的靜態庫文件,這就是我們編譯要得到的庫,如下

將FFmpeg拖入項目中就可以使用了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章