欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

ijkplayer 编译 for ios

程序员文章站 2022-07-03 18:41:55
文章目录1.系统配置2.编译流程参考3.编译过程遇到问题4.集成IJKPlayerFramework1.系统配置2.编译流程参考https://www.jianshu.com/p/9a69af13835ehttps://www.jianshu.com/p/65fb80dff4d63.编译过程遇到问题编译过程是曲折的,每个人遇到的问题也不尽相同,分享的力量是强大的,整合CSDN上各位朋友的帖子下,我也完成了自己的编译,感谢前辈们的分享!首先就遇到了执行init-ios.sh慢‘卡死的...

1.系统配置

ijkplayer 编译 for ios

2.编译流程参考

	https://www.jianshu.com/p/9a69af13835e
	https://www.jianshu.com/p/65fb80dff4d6

3.编译过程遇到问题

编译过程是曲折的,每个人遇到的问题也不尽相同,分享的力量是强大的,整合CSDN上各位朋友的帖子下,我也完成了自己的编译,感谢前辈们的分享!

  1. 首先就遇到了执行init-ios.sh慢‘卡死的问题 脚本执行的主要就是从 Github 下载 ffmpeg 源码,ffmpeg 源码大,国内下载速度又慢导致。解决办法:把ffmpeg的github仓库导入到码云。具体方式:码云上建立仓–》导入已有仓库-〉填写Github链接,等待完成。
    这些前辈们已经完成我们只需要将init-ios.sh做如下修改:

    #注释掉的是原来的地址
     #IJK_FFMPEG_UPSTREAM=https://github.com/Bilibili/FFmpeg.git
     IJK_FFMPEG_UPSTREAM=https://gitee.com/yuazhen/FFmpeg.git
    
     #IJK_FFMPEG_FORK=https://github.com/Bilibili/FFmpeg.git
     IJK_FFMPEG_FORK=https://gitee.com/yuazhen/FFmpeg.git
    
     #IJK_GASP_UPSTREAM=https://github.com/Bilibili/gas-preprocessor.git
    IJK_GASP_UPSTREAM=https://gitee.com/yuazhen/gas-preprocessor.git
    
  2. /libavutil/arm/asm.S:50:9: error: unknown directive编译过程中报此错误,网上大部分采用方法一其他还可以采用其他方式:
    #具体如下:
    1.在compile-ffmpeg.sh脚本中删除armv7, 修改如下:(无Armv7库)
    FF_ALL_ARCHS_IOS8_SDK=“arm64 i386 x86_64”
    2.即禁用汇编,将tools/do-compile-ffmpeg.sh文件里的armv7架构的情况,改为:
    elif [ “FFARCH"="armv7"];thenFFBUILDNAME="ffmpegarmv7"FFBUILDNAMEOPENSSL=opensslarmv7FFXCRUNOSVERSION="miphoneosversionmin=6.0"FFXCODEBITCODE="fembedbitcode"FFMPEGCFGFLAGS="FF_ARCH" = "armv7" ]; then FF_BUILD_NAME="ffmpeg-armv7" FF_BUILD_NAME_OPENSSL=openssl-armv7 FF_XCRUN_OSVERSION="-miphoneos-version-min=6.0" FF_XCODE_BITCODE="-fembed-bitcode" FFMPEG_CFG_FLAGS="FFMPEG_CFG_FLAGS --enable-pic”
    (有armv7架构的库)

  3. 其他无特殊说明根据README操作即可

4.集成IJKPlayerFramework

  1. 打开ios下IJKMediaPlayer,打开工程
  2. 随便选择一个device,commond +b编译生成一个模拟器 版本
    选择Generic IOS Device commond +b编译生成一个真机版本
  3. 合并,https://www.jianshu.com/p/65fb80dff4d6,采用此链接中的方法执行lipo时可以把用真机版本与模拟版本拷贝到桌面等浅层次文件中再操作,避免路径太长书写不便
    执行: lipo -create 真机framework路径 模拟器framework路径 -output 合并的文件路径
  4. 集成IJKMediaDemo中
    IJKMediaFramework.framework 包直接拖入到使用的项目中 ,然后根据github上的提示,完成其他依赖库的导入。

感谢贴友们的分享!

本文地址:https://blog.csdn.net/baidu_31868779/article/details/107412113

相关标签: ijkplayer git