标签:
sh build-ffmpeg.sh
;sh build-ffmpeg.sh lipo
将.a
文件合并成一个;FFmpeg-iOS
文件夹拖到目标工程并添加libz.dylib
、libbz2.dylib
、libiconv.dylib
三个库,xcode7 及以上则是添加libz.tbd
、libbz2.tbd
、libiconv.tbd
,并添加框架VideoToolbox.framework
(此框架是 iOS8 新增的,用于硬解码)$(PROJECT_DIR)/$(PRODUCT_NAME)/FFmpeg-iOS/include
:#include "avformat.h"
;#include "avformat.h"
通过以上我们得到一个集成了FFmpeg
的工程,接下来进行测试。为了方便,我们使用github
上一个基于FFmpeg
的框架 kxmovie。
git clone https://github.com/kolyvan/kxmovie
cd kxmovie
git submodule update --init
rake
kxmovie
目录下的kxmovie
文件夹拖到工程中#include "KxMovieViewController.h"
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);
}
有些人应该听过或用过Libav,从网上搜索到的资料:
原来FFmpeg
的一群开发者不满FFmpeg
的项目管理方式,所以fork了新的一个项目,叫Libav
。FFmpeg
更侧重底层的效率。(由于开发者大多是设备厂家的人希望自己的设备尽快的run起来,于是更偏向底层些),Libav
更侧重软件构架。(也是此原因分裂的,不满对软件框架的混乱,为了更好的代码结构,分裂出来)
标签:
原文地址:http://www.cnblogs.com/haohao-developer/p/5398929.html