上篇文章我刚介绍了ffmpeg的编译及基于它的kxmovie实现视频播放,但前两天刚看到一个视频直播软件bilibili,发现它用的B站的一个开源框架ijkplayer。ijkplayer 是一款做视频直播的框架, 也是基于ffmpeg, 支持 Android 和 iOS,所以研究下。网上也有很有帖子,但我还是想详细的总结下,给新人用。
地址:https://github.com/Bilibili/ijkplayer
PS:大家先不要急的下载官方demo,不然运行会有错误,先按以下步骤来配置环境,就可以无错误查看demo。
第一步:安装必要的工具
以下工具,上篇文章我详细的介绍过它的安装使用,这就不多介绍了,直接附命令
(1)安装 homebrew
命令:ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
(2)安装 git
命令:brew install git
(3)安装 yasm
命令: brew install yasm
PS:如之前安装过也可以检查下版本如图:
第二步:下载ijkplayer
可以从上面提供的链接下载,也可以用终端。我个人比较喜欢用命令行
(1)克隆项目
命令:git clone https://github.com/Bilibili/ijkplayer.git ijkplayer-ios
(2)进入ijkplayer-ios
命令:cd ijkplayer-ios
(3)切换分支
命令:git checkout -B latest k0.5.1
(4)查看 ls
第三步:下载ffmpeg并编译
(1)下载ffmpeg和相关的脚本
命令:./init-ios.sh
(2)进入ios目录
命令:cd ios
(3)clean
命令:./compile-ffmpeg.sh clean
(4)编译
命令:./compile-ffmpeg.sh all
PS:编译需要等很久,可能会等15到20分钟,大家可以先忙别的!
第四步:运行官方给出的学习demo,只要上面步骤不出错,编译是不会出错的。
第五步:将ijkplayer框架添加到项目中
方法一:按照官网说的将IJKMediaPayer.xcodeproj直接导入到工程。再次不做介绍
方法二:把ijkplayer打包成framework导入到工程 (和我上篇讲的.a打包步骤一样)
(1)首先打开IJKMediaPayer.xcodeproj
(2)设置scheme,上篇文章我也提过Debug和Release模式
(3)分别编译真机和模拟器
(4)右击 IJKMediaFramework.framework --> Show in Finder
(5)可以看到有真机和模拟器两个版本的编译结果
(6)合并真机模拟器framework
命令:lipo -create 真机.framework 模拟器.framework -output 合并后的framework
(7)将合并后的framework拖入到真机目录中
(8)将Debug-iphoneos中的IJKMediaFramework.framework添加到工程中
(9)添加相关类库
(10)相关工作做完了,下面开始编译吧,简单在ViewController做下测试
初步的入门妹子只能带大家做的这里!欢迎一起探索。。