ijkplayer视频直播框架的编译和集成

2016-07-23 21:33小小哆iOSDev评论(0)

简介

ijkplayer是BiliBili开源的一款做视频直播的框架,基于FFmpeg,支持Android和iOS,国内已经有多个App使用,其中包括知名的映客、斗鱼和美拍客户端,在这里详细的讲下如何编译ijkplayer框架并进行集成。

下载

ijkplayer这款框架开源在GitHub,地址:https://github.com/Bilibili/ijkplayer
先将其下载到本地,然后解压出来。

编译

说是编译ijkplayer, 其实是编译FFmpeg,下面就开始进行编译
首先打开终端,进入到你解压ijkplayer的根目录(ijkplayer-master)

cd /Users/xushuduo/Desktop/ijkplayer-master

然后执行命令行脚本,这一步会进行联网下载FFmpeg,时间示网速而定,需耐心等待

./init-ios.sh

QQ20160717-0.png
脚本执行完毕后,进入iOS目录

cd ios

最后在终端依次执行下列命令,编译FFmpeg,编译时间较久,需耐心等待。

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

QQ20160722-0.png

打包框架

这一步,我们将把编译好的ijkplayer打包成Framework,就可以导入到工程中使用了

1、打开工程

打开IJKMediaPlayer.xcodeproj,位置如下图:
QQ20160722-1.png
打开后如下图:
QQ20160722-2.png

2、设置工程的scheme

点击左上角的“Edit Scheme”,操作如下图:
QQ20160722-3.png
在“Build Configuration”选择为“Release”,操作如下图:
QQ20160722-4.png

3、编译Framework包

设置好Scheme后,下面开始编译,分别用选择真机和模拟器进行编译(⌘ + B)
QQ20160722-5.png
编译完成后,在Products中选择编译好的Frameword包,右键“Show in Finder”
QQ20160722-6.png
进入Finder后, 可以看到有真机和模拟器两个版本的编译文件,如下图:
QQ20160722-7.png

4、合并Framework文件

这一步将对两个Framework包进行合并,这样既可在真机和模拟器使用这个框架
注意:合并的非.framework这个包,而是里面的IJKMediaFramework文件
QQ20160723-0.png
打开终端,进行合并,命令行具体格式为

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

QQ20160723-1.png
合并后文件如下图:
QQ20160723-2.png

5、替换Framework文件

这一步就替换掉未合并的Framework文件,先把随便一个Framework包(下图选的是真机版本)里面的IJKMediaFramework文件删掉,然后把上面合并的IJKMediaFramework文件替换上去,如下图:
QQ20160723-3.png
替换完,这个Framework包就是我们需要的,将其复制出来,导入工程即可使用。

总结

经过上面的步骤,就成功编译好ijkPlayer的Framework包。
这几天我将抽空写一个demo,来说说怎么使用这个ijkPlayer框架。

上一篇 macOS上搭建Nginx+rtmp服务器macOS中在终端下使用Sublime Text打开文本文件 下一篇
评论 0
由于之前使用多说插件出现问题,导致以前的评论丢失,在此深表歉意!

站点统计

  • 建站日期:2014-12-06
  • 最后更新:2016-07-23
  • 运行时间:1749 天
  • 文章数量:46 篇