1. 下载ffmpeg
下载出现错误:
$ chmod 777 /usr/sbin/gas-preprocessor.pl
chmod: /usr/sbin/gas-preprocessor.pl: No such file or directory
$ cd /Users/m_li/Downloads/FFmpeg-iOS-build-script-master/FFmpeg-iOS/lib
$ lipo -info libavcodec.a
Architectures in the fat file: libavcodec.a are: armv7 i386 x86_64 arm64 成功
2. 下载完ijk后运行出现 'libavformat/avformat.h' file not found
原因:因为libavformat是ffmpeg中的库,而ijkplayer是基于ffmpeg这个库的,因此需要导入ffmpeg
-
解决方案:查看ijkplayer的README.md,一般都会有说明。
编译ffmpeg
编译ffmpeg第一步:进入ijkplayer-master 执行以下的脚本文件
$ cd /Users/m_li/Downloads/ijkplayer-master
$ ./init-ios.sh
成功出现
Switched to a new branch 'ijkplayer'
/Users/m_li/Downloads/ijkplayer-master
编译ffmpeg第二步:进入到ijkplayer-master下的iOS目录下执行命令行为编译ffmpeg.sh做准备
./compile-ffmpeg.sh clean
编译ffmpeg第三步:进入到ijkplayer-master下的iOS目录下执行命令行编译各个平台的ffmpeg库,生成个平台的通用库.
./compile-ffmpeg.sh all
再次运行Demo,还是不成功的
,因为IJKMediaPlayer虽然获取到ffmpeg库,但是缺少libicov.24.0.tbd库
project->target->build phases->Link Binary With libraries ->libicov.24.0.tbd
OK,IJKMediaDemo编译通过了