iOS编译ffmpeg

1. 下载ffmpeg

下载出现错误:
$ chmod 777 /usr/sbin/gas-preprocessor.pl
chmod: /usr/sbin/gas-preprocessor.pl: No such file or directory


iOS编译ffmpeg_第1张图片
ffempeg3.1.1下载成功
 $ 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,一般都会有说明。


    iOS编译ffmpeg_第2张图片

编译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

iOS编译ffmpeg_第3张图片
libicov.24.0.tbd库

OK,IJKMediaDemo编译通过了

你可能感兴趣的:(iOS编译ffmpeg)