集成
- 下載FFmpeg For iOS編譯腳本;
- 打開
terminal執(zhí)行sh build-ffmpeg.sh; - 步驟2執(zhí)行完成后運行
sh build-ffmpeg.sh lipo將.a文件合并成一個; - 步驟3執(zhí)行完成將FFmpeg-iOS文件夾拖到目標工程并添加
libz.dylib、libbz2.dylib、libiconv.dylib三個庫,xcode7及以上則是添加libz.tbd、libbz2.tbd、libiconv.tbd,并添加框架VideoToolbox.frameworkAudioToolbox.frameworkCoreGraphics.frameworkCoreMedia.framework(此框架是 iOS8 新增的,用于硬解碼)
808722-d3048bbc9202cb68.png
808722-61bef0e3ffeb3dd7.png - 設(shè)置頭文件路徑
$(PROJECT_DIR)/$(PRODUCT_NAME)/FFmpeg-iOS/include:
808722-1f5a99010d43fd8c.png - OC 工程在調(diào)用的時候直接#include "avformat.h";
-
swift 工程創(chuàng)建橋接頭文件,在頭文件內(nèi)添加#import "avformat.h"
808722-d3032eb0fb3f1740.png
使用
通過以上我們得到一個集成了FFmpeg
的工程,接下來進行測試。為了方便,我們使用github
上一個基于FFmpeg
的框架 kxmovie。
kxmovie編譯
- 終端運行:
git clone https://github.com/kolyvan/kxmovie cd kxmoviegit submodule update --initrake- 將
kxmovie目錄下的kxmovie文件夾拖到工程中
808722-d5d75e9202084717.png
808722-b58708cc6e776405.png - 在橋接文件里添加要使用到的目標文件,如
#include "KxMovieViewController.h"
808722-d3032eb0fb3f1740.png
代碼
vitamio 這里有一些視頻鏈接供測試用。
- 按下按鈕彈出視頻窗口
@IBAction func playVedio(sender: AnyObject) {
let paths = ["http://live.3gv.ifeng.com/zixun.m3u8",
"http://devimages.apple.com/iphone/samples/bipbop/gear1/prog_index.m3u8"]
guard let vedioVc = KxMovieViewController.movieViewControllerWithContentPath(paths[1], parameters: nil) as? UIViewController else {
print("err")
return;
}
self.presentViewController(vedioVc, animated: true, completion: nil);
}






