ijkplayer iOS项目集成教程

重新回炉写了一篇带详细图文的,请移步这里

最近接到了视频直播方面的开发任务。第一次接触到视频领域并且周边也没有熟悉这块领域的大牛,只好先找些开源的方案来使用。

比较了两个网上讨论比较多并且支持Android/iOS的项目

  • Vitamio
  • IJKPlayer

首先说下Vitamio目前可以拿到的版本是4.20,商业使用需要付费。
目前手头上的iPhone6s iOS为9.0.2,在播放RTMP直播的情况下反复切到后台或者直接锁屏有很大的几率崩溃。另外Vitamio错误提示不完善,我们QA最喜欢用飞行模式测试大法:你断网了要暂停,网络恢复了要继续播放啊(策划需求)。但是在断网等情况下根本就没回调,即便用了AFNetWorking的网络监测暂停恢复Vitamio也有几率崩溃,根本没法过QA……

IJKPlayer是国内B站的bbcallen大大写的开源视频播放项目。除了B站,美拍和斗鱼的App都有在使用的样子,应该说经得起行业领域的考验了,对我采用IJKPlayer多了一份信心。
后面事实证明,IJKPlayer确实很省心。

将IJKPlayer集成到项目中其实还会遇到不少问题,我将遇到的问题记录下来,希望能帮助到各位,少走些弯路。

我的构建环境

  • OS:Mac OSX 10.11.2
  • iOS:Xcode 7.2
  • HomeBrew
  • Git

安装构建必要的环境

如果因为墙的关系或者速度太慢可以使用proxychains,网上教程很多,就不涉及了。

# install homebrew, git, yasm
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew install git
brew install yasm

构建

下载ffmpeg和编译ffmpeg会花费比较长的时间,可以去泡一杯咖啡:)

git clone https://github.com/Bilibili/ijkplayer.git ijkplayer-ios
cd ijkplayer-ios
git checkout -B latest k0.4.4.1
./init-ios.sh
cd ios
./compile-ffmpeg.sh clean
./compile-ffmpeg.sh all

运行

用Xcode打开ios/IJKMediaDemo/IJKMediaDemo.xcodeproj,验证是否构建正确并可以学习如何使用IJKPlayer。

IJKDemoSampleViewController.m //刚开始上手可以先从sampleList加些播放源来试试手
IJKMoviePlayerViewController.m  //这里学习IJKplayer的使用方法

集成

这是比较重要的一步,估计也是最容易卡住的一步。

# import ios/IJKMediaPlayer for MediaPlayer.framework-like interface (recommended)
# open ios/IJKMediaDemo/IJKMediaDemo.xcodeproj with Xcode

因为本人没Get到上面的点,只好在issue搜索,发现一条关于制作.a文件的提示结果就纠结在制作.a文件上卡了1天(大坑),这个离正确答案很近但它不是正确答案。

集成步骤

1.将ijkplayer整个目录复制到项目中,需要保持ijkplayer内的目录结构,可以删除Android和一些无关的文件,ijkplayer中的目录结构如下:


ijkplayer tree状结构

在ijkplayer目录下的结构

2.将IJKMediaPlayer.xcodeproj拽入项目中,并添加如下类库:


3.移植DEMO项目的代码示例,写死一个播放源,并运行。



完美!

Updated on 2016-05-13

为苦于各种奇怪原因而无法玩耍的小伙伴们提供了包装了ijkplayer的pod,仅供测试体验。
1.基于ijkplayer 5737ccc提交制作成的framework,需要注意的是需要iOS8+
2.如果使用ijkplayer过程中遇到BUG什么的,可以移步去ijkplayer作者的GitHub上提issue或者PR。
哦对了,地址在这里https://coding.net/u/shirokuma/p/IJKMediaLibrary/git,因framework超过100MB无法传到GitHub上,就放到Coding上了。祝各位玩的愉快!

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

推荐阅读更多精彩内容

  • 看到别人总能想到你 不知道是你像别人 还是别人像你
    麦子黄了cc阅读 129评论 0 0
  • 你是否有脚气困扰? 脚气知识知多少?很多人备受脚气伤害还无处诉说,虽然不是大毛病但是却真的难受,可能想了很多办法却...
    璎珞有话说阅读 617评论 0 2
  • 好种子开花:早上吃了一碗家人给我煮的热气腾腾的饺子。里面包含了家人对我的爱。伴随着外面新年的鞭炮声,心情格外的高兴...
    暖阳照耀阅读 153评论 0 0
  • 上幅和女儿完成一幅石头画,今天打算来幅纸的…… 翻看书本,女儿想画裙子,满足下她小小的心愿吧! 开工! 稿线是我握...
    五点人家阅读 586评论 2 3
  • 最近科室里乱七八糟的事层出不穷,让我疲于应付。 心很累很累,昨晚整整一夜未眠。在床上辗转反侧,直至晨间铃响起。 可...
    雪凝心阅读 134评论 0 0