iOS(Swift)中的基于FFmpeg的IJKPlayer从引入到使用

FFmpeg是音视频流相关的比较牛逼的东西吧,我不了解,然后从头开始学起!先从能看到结果的东西搞起,就是B站大牛写的IJKPlayer,从这个开始了解一下FFmpeg。

1. 编译FFmpeg类库

1.1 编译前的准备

按照github上(https://github.com/Bilibili/ijkplayer)bilibili所介绍的流程,首先先做一些编译FFmpeg的准备工作。

1.1.1 homebrew, git, yasm

首先,安装一下homebrew。homebrew这个东西应该是使用cocoaPods的时候接触过,反正用这个东西可以安装许多东西,使用起来方便。具体的安装这个的方法,就百度一下,肯定知道哈。

其次,安装一下git。git这个东西应该是比别的一些版本控制管理的要厉害吧,分布式的,而且github,看名字就……你懂得。我是一只用git的,但是我没有深入的去看git,只是用了一些比较简单的git的命令来管理app的版本。

最后安装一下yasm。这个yasm是一个完全重写的NASM汇编。目前,它支持x86和AMD64指令集,接受NASM和气体汇编语法,产出二进制, ELF32 , ELF64 , COFF , Mach - O的( 32和64 ) , RDOFF2 ,的Win32和Win64对象的格式,并生成STABS 调试信息的来源,DWARF 2 ,CodeView 8格式。(以上这些均来自于互联网,我并看不懂这些都是什么,但是大体的应该就是一个汇编器吧,一种编译的时候可以加快速度之类的一些环境吧)

在安装了homebrew的情况下,终端执行以下命令安装yasm:
brew install yasm

没有错误信息安装成功.png

1.2 编译FFmpeg

首先克隆下来IJKPlayer的项目,找一个你要克隆下来的文件夹,cd进去,然后直接克隆下来:

git clone https://github.com/Bilibili/ijkplayer.git ijkplayer-ios
克隆成功.png

然后进入到克隆到的文件夹中:

cd ijkplayer-ios
文件夹中的文件.png

其中的init-ios.sh是一个看名字用来初始化IJKPlayer的东西,实际上它做的工作是下载FFmpeg编译的相关的真机、模拟器框架(armv7、arm64、i386、x86_64)。然后我们执行这个脚本:

./init-ios.sh
其中一项类似的信息.png

之后依次执行下面的命令,来编译FFmpeg:

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

搂一眼期间没有Error的提示,应该就是顺利编译了。打开
ios/IJKMediaDemo/IJKMediaDemo.xcodeproj
这个路径的这个工程,看看官方给的demo能不能跑起来,跑起来的话,就没问题了。

demo中的直播画面.png

2. 把IJKPlayer集成到自己的项目中

具体的集成过程,可以看github上面的把整个工程给添加进去,也可以使用framework。已经有大神写的很清楚了:http://www.jianshu.com/p/1f06b27b3ac0,但是我按照这个教程直接弄,之后会出现问题,是一个连接的问题:

一个链接的问题.jpg

诸如这样的报错之类的把,是缺少了链接库之类的吧,我也不是太明白,总之是因为FFmpeg里面有一些C++的东西吧(这个问题看上去是个关于C++的问题)。解决的方案是,在other link flag 里面添加一个:

-lstdc++

或者是再加一个依赖库:

关于编译链接C++的库.png

这样问题就解决了,然后我们就可以参考demo,来进行直播画面的播放控制之类的了。

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

推荐阅读更多精彩内容