参考链接:58同城iOS 客户端视频的实现
ijkplayer是B站开源的一款基于ffmpeg的轻量级视频播放器。支持Android和iOS双平台,支持播放本地和网络视频,也支持流媒体播放。目前使用ijkplayer框架的有斗鱼,美拍。它支持iOS7.0以上的系统,API易于集成,编译配置可裁剪,方便控制安装包大小。支持硬件加速解码,更加省电。网上也有很多集成说明,但是个人在集成的时候还是遇到了一些问题,在此整理一下,希望后来的同学可以直接集成成功。
1、下载ijkplayer
下载地址:https://github.com/Bilibili/ijkplayer
下载后打开如下:
文件目录大致如上,我们需要操作的就是iOS目前的文件。
2、编译执行
当然现在还是不行的,我们需要下载ffmpeg并编译。
1、在github上给的终端命令:
./init-ios.sh
cd ios
./compile-ffmpeg.sh clean
./compile-ffmpeg.sh all
2、58同城iOS 建议的终端命令:
./init-ios-openssl.sh
./init-ios.sh
cd ios
./compile-openssl.sh clean
./compile-ffmpeg.sh clean
./compile-openssl.sh all
./compile-ffmpeg.sh all
为什么58给的命令似乎不太一样呢?
因为ijkplayer默认是不支持https的,but,个人在实践操作中发现执行这两个命令没什么区别
这就尴尬了,but,之前别的项目有 libcrypto.a libssl.a 于是,没错我就是把这两个静态库 复制导入了IJKMediaPlayer中。
接下来运行打开IJKMediaDemo 妥妥的没有问题了
(ps:提供我在网上找的两个视频地址
1、https://ojhu910up.qnssl.com/o_1bcepsdns1qa21r6ovq51tq7a2f7.mp4
2、http://flv2.bn.netease.com/videolib3/1608/30/zPuaL7429/SD/zPuaL7429-mobile.mp4)
经测试都完美的播放了,接下来就是重头戏了。
3、打包 生成IJKMediaFramework.framework
最后执行一下:lipo "真机路径" "模拟器路径" -output "导出路径"
最后,新建工程,导入我们的项目中并配置如下图。