IJKPlayerFramework集成

一、环境准备

brew -v (检查homebrew版本)

安装homebrew: /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

卸载homebrew: /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)" 

homebrew安装软件,如:brew install oclint

homebrew卸载软件,如:brew uninstall oclint

homebrew搜索软件,如:brew search oclint

homebrew更新软件,如:brew upgrade oclint

homebrew安装列表:brew list

更新homebrew:brew update

git --version (检查git版本)

安装git:brew install git

yams --version (检查yams版本)

安装yams:brew install yams

pkg-config --version (检查pkg-config版本)

安装pkg-config:brew install pkg-config

二、使用git 克隆仓库到本地

1、git clone https://github.com/Bilibili/ijkplayer.git ijkplayer-ios

2、cd ijkplayer-ios (进入文件夹)

3、git checkout -B latest k0.8.8 (新建lastst分支)

三、下载编译FFmpeg

1、./init-ios.sh (这里等待时间较长,假如不需要支持https,只需要顺序执行1、3、6、8步骤)

2、./init-ios-openssl.sh (添加https支持,会生成支持https的静态文件 libcrypto.a 和 libssl.a,如果不需要可以跳过这一步)

3、cd ios (移动当前目录到ios文件夹下)

4、vim ../config/module.sh(预编译先,先vim一下module脚本)

5、export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-openssl"(添加预编译脚本内容为一下内容,然后点击 esc 退出 vim编译模式,执行 :wq 保存)

6、./compile-ffmpeg.sh clean

7、打开compile-openssl文件,commond + F 全局搜索删除armv7,然后执行 ./compile-openssl.sh all(这里等待时间较长,且可能出现执行超时或失败,重新执行命令即可)

8、打开compile-ffmpeg文件,commond + F 全局搜索删除armv7,然后执行./compile-ffmpeg.sh all (这里等待时间较长,且可能出现执行超时或失败,重新执行命令即可)

四、打包IJKMediaFramework

1、进入IJKMediaPlayer文件夹(目录:ijkpalyer-ios/ios/IJKMediaPlayer),选中IJKMediaPlayer.xcodeproj,右键显示包内容,双击打开project.pbxproj,全局搜索mainGroup,复制mainGroup的值替换掉下一行productRefGroup的值(这一步是为了在IJKMediaPalyer项目中显示Products文件夹)

2、用xcode打开IJKMediaPlayer项目

3、添加静态文件libcrypto.a 和 libssl.a (不需要支持https可跳过这一步,静态文件目录:ijkpalyer-ios/ios/build/universal)

4、选择iOS最低支持版本,我这里选择的是iOS11.0,一般情况下没特殊要求保持最新三个大版本即可,即:现在最新是iOS15,最低版本iOS12即可

5、选中要编译的项目为IJKMediaFramework,点击 Edit Scheme,将Build Configuration由Debug改为Release

6、commond + B 编译 (真机和模拟器都需要编译一次)

7、选择products文件下的IJKMediaFramework,右键show in finder

8、cd Release-iphonesimulator/IJKMediaFramework.framework,执行 lipo -remove IJKMediaFramework arm64 -output IJKMediaFramework (这一步是因为Xcode12模拟器支持arm64,合并framework会报错,lipo -info 命令可以查看当前framework支持的架构列表)

9、cd 到products目录

10、lipo -create Release-iphoneos/IJKMediaFramework.framework/IJKMediaFramework Release-iphonesimulator/IJKMediaFramework.framework/IJKMediaFramework -output IJKMediaFramework(此时products目录下会生成IJKMediaFramework文件)

11、将生成的IJKMediaFramework文件替换Products/Release-iphoneos/IJKMediaFramework.framework 下的IJKMediaFramework文件,此时Products/Release-iphoneos 下的IJKMediaFramework.framework就是我们生成好的支持模拟器和真机的framework

五、Demo测试

1、新建项目

2、添加依赖库

    IJKMediaFramework.framework

    AudioToolbox.framework

    AVFundation.framework

    CoreGraphics.framework

    CoreVideo.framework

    MediaPlayer.framework

    MobileCoreServices.framework

    OpenGLES.framework

    QuarzCore.framework

    UIKit.framework

    VidelToolbox.framework

    libbz2.tbd

    libz.tbd

    libc++.tbd 

3、简单demo使用代码

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容