美文网首页
项目集成ijkplayer直播框架总结--下载、编译、打包、集成

项目集成ijkplayer直播框架总结--下载、编译、打包、集成

作者: wg刚 | 来源:发表于2019-06-11 19:52 被阅读0次

1、 下载

打开终端,在桌面新建一个文件夹,例如LiveStreaming

cd 到LiveStreaming中,依次执行
git clone https://github.com/Bilibili/ijkplayer.git ijkplayer-ios
cd ijkplayer-ios
git checkout -B latest k0.8.8

  • ijkplayer是基于ffmpeg这个库的,因此需要导入ffmpeg

同级路径下执行:
./init-ios.sh

执行 ./init-ios.sh前

执行 ./init-ios.sh后

  • 支持https(可选)

如果不需要支持,可不进行这一步

获取 openssl 并初始化
./init-ios-openssl.sh
cd ios
在模块文件中添加一行配置 以启用 openssl 组件
echo 'export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-openssl"' >> ../config/module.sh

2、编译

cd到次级目录ios下,先执行

./compile-ffmpeg.sh clean

如果设置了支持https,则

先执行,编译openssl
./compile-openssl.sh all
再执行,编译ffmpeg
./compile-ffmpeg.sh all

如果没有设置https,则只需

编译ffmpeg
./compile-ffmpeg.sh all

这里可能会报错
./libavutil/arm/asm.S:50:9: error: unknown directive

        .arch armv7-a

        ^
解决方案:

打开如图

第24行改为:FF_ALL_ARCHS_IOS8_SDK="arm64 i386 x86_64"
第120行改为:if [ "$FF_TARGET" = "armv7s" -o "$FF_TARGET" = "arm64" ]; then
第159行改为:echo "  compile-ffmpeg.sh arm64|i386|x86_64"
运行完成后如图

3、打包(制作静态库)

打开项目IJKMediaPlayer,要把这个做成静态库

  • 如果做了支持https设置,则进行下一步

点击上图加号

成功添加ibcrypto.a 和 libssl.a 文件。
  • 打包真机和模拟器两个版本

1、如果进行了https设置,则需要删除armv7
2、分别选择真机和模拟器,进行编译(command+b)
3、合并两个framework

打开终端

cd到Products路径下

执行
lipo -create Release-iphoneos/IJKMediaFramework.framework/IJKMediaFramework Release-iphonesimulator/IJKMediaFramework.framework/IJKMediaFramework -output IJKMediaFramework

得到合并后的framework

替换合并后的framework替换真机目录下的,可按下图进行直接覆盖

4、保存最终得到的IJKMediaFramework.framework(真机编译目录下的)

4、集成IJKMediaFramework.framework到自己项目

  • 简单粗暴的方法:

直接复制IJKMediaFramework.framework,然后拷贝到自己项目的根目录下

  • 添加相关依赖,如下图
  • 下面三个一定要添加,不然报错

command+shift+g,弹出

输入:/usr/lib 进入

到这里,就已经完成集成,项目可成功运行。

相关文章

网友评论

      本文标题:项目集成ijkplayer直播框架总结--下载、编译、打包、集成

      本文链接:https://www.haomeiwen.com/subject/fvlcfctx.html