您的位置:首页 > 移动开发 > IOS开发

FFMPeg-ios编译

2015-11-03 12:11 381 查看

FFMPeg使用详解

环境:

Mac 10.11.1
xcode 7.1


概述:

由于最近需要用到ios的流媒体播放器,花了很大功夫才搞了一个,大多数是从网上收集而来,给刚学习的做一个小小的参考~


准备工作:

下载最新ffmpeg2.8.1包;

安装yasm(建议最新版 1.2 or later),安装教程参考yasm安装教程

注:Mac 10.11系统、/usr/bin为Adminstrator权限,非root权限(解决办法:关机->按住Command + R 开机,待出现Logo和进度条后松开Command 和R键->选择实用工具->终端->csrutil disable->reboot.[!更改完毕后重新设回enable]);

下载gas-preprocessor.pl,下载地址:gas-preprocessor 使用方法:

1、拷贝gas-preprocessor.pl文件到 /usr/bin 和

/usr/local/bin 目录下

2、修改gas-preprocessor.pl文件的权 使用 chmod

a+rwx gas-preprocessor.pl

注:遇到权限问题参考第二条

下载FFMPeg脚本编译文件:build-ffmpeg.sh(最新版已支持2.8.1);

使用方法:拷贝脚本文件到ffmpeg-2.8.1目录下


开始编译

进入ffmpeg目录:cd /User/xxx/xxx/ffmpeg-2.8.1


编译选项:

编译所有平台:
./build-ffmpeg.sh

编译arm64平台:
./build-ffmpeg.sh arm64

编译arm64 armv7平台
./build-ffmpeg.sh armv7 x86_64

编译armv7 x86_64(64bit 模拟器可用)
./build-ffmpeg.sh armv7 x86_64


更多编译参数参照Usage.

编译截图:

耗时20分钟左右.




编译完成

ffmpeg2.8.1文件夹,出现了FFMPeg-ios 、thin、scratch文件夹.

thin:根据你编译的平台产生不同的平台文件夹
FFMPeg-ios:编译多平台时合并而成(包较大...)


集成项目

新建测试工程….;

将编译后的文件导入工程:lib、include这2个文件夹;

添加库:lib.tbd、libbz2.tbd、libiconv.tbd(注:xcode7后后库名称有所改变

配置Search Paths:Header Serach Paths->添加一条$(PROJECT_DIR)/你的工程名/头文件文件夹名,同样地配置library

开启C、OC混编:Language Modules->Enable Modules->YES

导入第三方播放器:KxMoviePlayer

KxMovie使用方法:

(1)不想编译ffmpeg的:直接使用此工程即可

(2)已编译ffmpeg的:拷贝kxmovie文件夹到工程目录,添

加库:MediaPlayer, CoreAudio, AudioToolbox,

Accelerate, QuartzCore, OpenGLES and libz.dylib .

提供一个RTSP实时流:

rtsp://218.204.223.237:554/live/1/66251FC11353191F/e7ooqwcfbqjoo80j.sdp

跳转到player:
ViewController *vc;
vc = [KxMovieViewController movieViewControllerWithContentPath:path parameters:nil];
[self presentViewController:vc animated:YES completion:nil];


具体例子可参照kxmoviePlayer的example.

播放截图:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息