ijkplayer 开箱使用(iOS版)

为我司伟大的bilibili 干杯

打开github找到ijkplayer 的开源库 https://github.com/bilibili/ijkplayer

废话不多说,直接开文档-只放干货;

1.环境配置

如果读者能提前仔细阅读 ijkplayer README.md 文档会有更好的理解;

Build Environment Require(环境要求)

  • Mac OS X 10.11.5(以上)
  • Xcode

Features(特性)

  • 支持平台 iOS 7.0 ~10.2
  • 支持ARM指令集 rmv7, arm64, i386, x86_64, (armv7s is 不推荐)
  • 视频输出 OpenGL ES 2.0
  • 音频输出 AudioQueue, AudioUnit
  • 支持iOS 硬编码(iOS8 以上)
  • 依赖:AVFoundation.Framework.AVPlayer, MediaPlayer.Framework.MPMoviePlayerControlelr (推荐适配iOS8以上)

NOT-ON-PLAN(不再支持)

  • 不支持ios 6.0
  • 过时的 ARMv5, ARMv6, MIPS 架构

注:需要安装 homebrewgityasm等开发工具;

安装bomebrew;

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

安装git;

brew install git

安装yasm;

brew install yams

安装pkg-config;

brew install pkg-config

检查工具是否成功安装检查;

brew --version
git --version
yasm --version
pkg-config --verison 

git clone 项目(项目较大建议使用https);

git clone https://github.com/Bilibili/ijkplayer.git

开源项目目录及其介绍图如下:

ijkplayer 文件结构.jpg

切换到稳定分支(README.md 这么写的)

切到 latest 分支 k0.8.8 版本

git checkout -B latest k0.8.8

2.编译ffmpeg

通过 终端 进入到 ijkplayer文件夹 执行./init-ios.sh 脚本,初始化iOS项目;

./init-ios.sh 

进入ios 目录 执行 compile-ffmpeg.sh脚本;

cd ios
./compile-ffmpeg.sh clean
./compile-ffmpeg.sh all

两条命令分别执行成功的截图如下:

./compile-ffmpeg.sh clean 成功截图
./compile-ffmpeg.sh all 成功截图
注意(如果需要ijkplayer 支持https 执行了另一个脚本)(如果不需要请跳过)
./init-ios-openssl.sh 
/* ijkplayer支持https的情况 */

最后打开 /ijkplayer/ios/IJKMediaDemo/ 下的 工程 IJKMediaDemo.xcodeproj既可以(脚本执行之前build project工程是失败的)

demo 运行成功截图

3.引入framework

按照 REDME.md 的介绍;

3.1 集成framework (参考 README.md 即可)

注意:ijkplayer 依赖的库别忘记导就ok了

# Import into Your own Application
#     Select your project in Xcode.
#     File -> Add Files to ... -> Select ios/IJKMediaPlayer/IJKMediaPlayer.xcodeproj
#     Select your Application's target.
#     Build Phases -> Target Dependencies -> Select IJKMediaFramework
#     Build Phases -> Link Binary with Libraries -> Add:
#         IJKMediaFramework.framework
#
#         AudioToolbox.framework
#         AVFoundation.framework
#         CoreGraphics.framework
#         CoreMedia.framework
#         CoreVideo.framework
#         libbz2.tbd
#         libz.tbd
#         MediaPlayer.framework
#         MobileCoreServices.framework
#         OpenGLES.framework
#         QuartzCore.framework
#         UIKit.framework
#         VideoToolbox.framework
#
#         ... (Maybe something else, if you get any link error)

3.2 打包Framework

3.2.1 打包模拟器debug 的Framework;

1.1 选择 IJKMediaFramework
1.2 选择 模拟器(例如:iphone X)
1.3 选择 debug 模式
如图:


debug Framework 编译
3.2.2 打包真机Release 的Framework;

1.1 选择 IJKMediaFramework
1.2 选择 Generic iOS Device
1.3 选择 release 模式
如图:

release Framework 编译
3.2.3 成功截图
release 和debug 编译framework 成功截图
3.2.4 合并 debug 和release 包

通过终端 进行合并,合并命令如下
注意 :合并后的文件路径需要有文件名

lipo -create "真机版本路径" "模拟器版本路径" -output "合并后的文件路径"

如图:

3.2.5 替换Framwork
合并后的包,替换Release 中的Framework
3.2.6 导入farmework 到项目开发
111586950630_.pic.jpg

4.注意事项

4.1 编译ijkplayer 报错
编译报错截图

修复链接 https://blog.csdn.net/liuzehn/article/details/88049389

编译Framework报错截图:


51586948322_.pic_hd.jpg

修复方法:

avconfig.h 文件报错
config.h 文件报错

参考链接

B站开源播放框架ijkplayer(iOS版)使用教程
iOS直播之ijkplayer的集成与简单使用(播放)
ijkplayer 的编译、打包 framework 和 https 支持

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 157,198评论 4 359
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 66,663评论 1 290
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 106,985评论 0 237
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,673评论 0 202
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 51,994评论 3 285
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,399评论 1 211
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,717评论 2 310
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,407评论 0 194
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,112评论 1 239
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,371评论 2 241
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,891评论 1 256
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,255评论 2 250
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,881评论 3 233
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,010评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,764评论 0 192
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,412评论 2 269
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,299评论 2 260

推荐阅读更多精彩内容