iOS 编译ffmpeg及打包IJKPlayer
下面是打包IJKPlayer,如只需编译ffmpeg,将文件路径替换成自己想要的文件路径就可以了
1.下载
下载IJKPlayer:https://github.com/Bilibili/ijkplayer
2.编译ffmpeg
(1)下载ffmpeg:
cd .../ijkplayer-master 打开终端,cd到下载解压的文件包位置
./init-ios.sh 终端命令,下载ffmpeg
(2)编译iOS文件包
cd .../ijkplayer-master/ios 打开终端,cd到下载解压的文件包中的我们需求的ios文件夹下
./compile-ffmpeg.sh clean 终端命令,清除已编译的ffmpeg
./compile-ffmpeg.sh all 终端命令,编译新的ffmpeg
注意:
a.如出现xcrun -sdk iphoneos clang is unable to create an executable file. C compiler test failed.错误,
需先执行终端命令 sudo xcode-select --switch /Applications/Xcode.app//修改xcode配置
b. 如出现unknown directive .arch armv7-a错误
将ios文件夹下的compile-ffmpeg.sh文件中的FF_ALL_ARCHS_IOS8_SDK="armv7 arm64 i386 x86_64"改为FF_ALL_ARCHS_IOS8_SDK="arm64 i386 x86_64"//
(3)打包IJKPlayer:打开ijkmediaplayer,编译包
打开Edit Scheme,将debug改为release
编译并打开product文件夹
合并真机版本和模拟器版本下的IJKMediaFramework.framework包中的IJKMediaFramework
合并SDK包:lipo -create Release-iphoneos/IJKMediaFramework.framework/IJKMediaFramework Release-iphonesimulator/IJKMediaFramework.framework/IJKMediaFramework -output IJKMediaFramework
(4)IJKPlayer需要的依赖库
libc++.tbd
libz.tbd
libbz2.tbd
AudioToolbox.framework
AVFoundation.framework
CoreGraphics.framework
CoreMedia.framework
CoreVideo.framework
MediaPlayer.framework
MobileCoreServices.framework
OpenGLES.framework
QuartzCore.framework
UIKit.framework
VideoToolbox.framework