FFmpeg 是一套可以用來記錄盔性、轉(zhuǎn)換數(shù)字音頻、視頻呢岗,并能將其轉(zhuǎn)化為流的開源計算機(jī)程序纯出。采用 LGPL 或 GPL 許可證。它提供了錄制敷燎、轉(zhuǎn)換以及流化音視頻的完整解決方案暂筝。由于公司項目要用到實時視頻監(jiān)控播放,所以在這里記下如何移植 FFmpeg 開源框架到 iOS 上面硬贯。
準(zhǔn)備條件
1.安裝 yasm焕襟。點(diǎn)擊這里,版本是yasm-1.2.0饭豹。解壓后
2.到https://github.com/libav/gas-preprocessor 下載 gas-preprocessor.pl
文件鸵赖,復(fù)制gas-preprocessor.pl
到/usr/bin
下,修改文件權(quán)限chmod 777 /usr/local/bin/gas-preprocessor.pl
搭建步驟
1.下載腳本文件
https://github.com/kewlbear/FFmpeg-iOS-build-script拄衰。
這個腳本可以一次編譯它褪,就生成適合各個版本的iPhone。ffmpeg官網(wǎng)翘悉,可以找到適合所對應(yīng)操作系統(tǒng)下載源碼包茫打。
2.編譯腳本
解壓后找到 build-ffmpeg.sh 文件,輸入
腳本則會自動從github中把ffmpeg源碼下到本地并開始編譯妖混。 編譯結(jié)束后老赤,文件目錄如下:
ffmpeg-2.6.2是源碼, FFmpeg-iOS是編譯出來的庫制市,里面是我們需要的.a 靜態(tài)庫抬旺,一共有7個。 終端輸入
可以查看.a 包支持的架構(gòu)祥楣,包括 armv7 armv7s i386 x86_64 arm64這幾個架構(gòu)开财。
3.把 FFmpeg-iOS 導(dǎo)入工程汉柒。
這里我下載一個 demo 工程iFrameExtractor-master
,git代碼參考:https://github.com/lajos/iFrameExtractor
或者RTSPPlayer https://github.com/SutanKasturi/RTSPPlayer
demo目錄如下:
然后在
Build Settings
中找到Search Paths
责鳍,設(shè)置Header Search Pahts
和 Library Search Paths
如下竭翠。不然會報include“l(fā)ibavformat/avformat.h” file not found
錯誤。
$(PROJECT_DIR)/FFmpeg-iOS/include
4.在工程中導(dǎo)入其他庫文件薇搁。
libz.dylib libbz2.dylib libiconv.dylib
是必須要導(dǎo)入的。配置好如下目錄:
5.編譯和運(yùn)行
點(diǎn)擊 play
,出現(xiàn)下圖小娃娃視頻传货,搭建成功
參考:
- http://www.cocoachina.com/ios/20150514/11827.html
- http://www.mamicode.com/info-detail-476094.html
- http://blog.csdn.net/leixiaohua1020/article/details/44064715