Bilbil/IJKPlayer 是由B站的大大们写的一款做视频/直播的开源框架,基于FFmpeg。该框架支持手机双端(Android and iOS)的集成!
下载地址:
IJKPlayer GIthub地址:https://github.com/Bilibili/ijkplayer
一、编译IJKPlayer
可参照IJKPlayer Github上的说明指南(请各位按照图片一步一个往下操作):
命令行:
git clonehttps://github.com/Bilibili/ijkplayer.gitijkplayer-ios
cd ijkplayer-ios
git checkout -B latest k0.6.0
./init-ios.sh
cd ios
./compile-ffmpeg.sh clean
./compile-ffmpeg.sh all
参照图:
(注:在创建IJK的文件夹时,注意文件夹的名字规范[不能有 空格等],不然在编译FFmpeg时终端会提示找不到指定目标文件而导致失败噢~~/(ㄒoㄒ)/~~)
二、打包 IJKPlayer (IJKMediaFramework.framework框架)
经过上面的编译后,相信我们使用Xcode 打开 “IJKPlayer-ios -> iOS ->IJKMediaDemo或IJKMediaPlayer”都能成功编译/运行;
OK,进入正题,首先我们先打开“IJKMediaPlayer”文件夹里的“IJKMediaPlayer.xcodeproj”工程文件,按照以下图片标记的操作:
图一:
图二:
图三:
图四:设置好后,分别 选择”模拟器"和“真机" 各编译(command + B)一次!
之后右键“Show in Finder”打开该项目,目录里的Products文件夹下的IJKMediaFramework.framework
如下图五:(PS:如果没有编译过,IJKMediaFramework.framework没选中时则呈现成红色)
Show in Finder 后的界面
如图六:
接下来准备将真机和模拟器 两个合并!
(注意:这里合并的并不是它们的文件夹而是"它们的文件夹” -> “IJKMediaFramework.framework” -> “IJKMediaFramework”文件 && 两个文件里面的 IJKMediaFramework 都是同样的命名!!(⊙o⊙)!)
如图七:
那么就让我们愉快的开始合并 IJKMediaPlayer.framework
1.在终端 CD 到Products 目录里(就是进入(真机和模拟器)编译后的IJKMediaFramework 里的 Products文件夹下的IJKMediaFramework.framework 鼠标右键的 Show in Finder的文件夹!)
2.使用命令进行合并
命令:lipo -create"真机版本路径" "模拟器版本路径" -o "合并后的文件路径"
“lipo -create Release-iphoneos/IJKMediaFramework.framework/IJKMediaFramework Release-iphonesimulator/IJKMediaFramework.framework/IJKMediaFramework -o IJKMediaFramework”
如图八:
此时Products文件夹就会多出一个合并好的文件“IJKMediaFramework”
如图九:
3.拷贝出来(真机或模拟器)的任意一个IJKMediaPlayer.framework 到 Products 里面
如图十:
4.把编译好的“IJKMediaFramework”放入拷贝过来的 “IJKMediaPlayer.framework” 里面
如图十一: