#文件依赖
- 最新版的gas-preprocessor
- FFmpeg-iOS-build-script
- yasm
gas-preprocessor
下载最新的gas-preprocessor
- cd gas-preprocessor目录
- sudo cp -f /Users/username/Desktop/gas-preprocessor-master/gas-preprocessor.pl /usr/local/bin/
- chmod 777 /usr/local/bin/gas-preprocessor.pl
如果第三步失败,可以试试chmod +x gas-preprocessor.pl
yasm
无需下载,直接执行以下命令
- brew install yasm
- yasm --version
FFmpeg-iOS-build-script
- cd 下载目录 如:cd /Users/username/Downloads/FFmpeg-iOS-build-script-master
- ./build-ffmpeg.sh 执行脚本
- 等待编译结束 编译结束后,会下载一个最新的FFmpeg如下图
编译常见错误
执行脚本./build-ffmpeg.sh时出现
错误:GNU assembler not found, install/update gas-preprocessor
原因: gas-preprocessor不是最新版
xcode新建工程
- 把编译好的文件lib 和 include添加到工程中
- 添加依赖
– libz.tbd
– libbz2.tbd
– libiconv.tbd
– VideoToolBox.framework- 添加Header Search Path
$(PROJECT_DIR)/FFmpegDemo/FFmpeg/include- 编译工程
注意:Header Search Path的添加的目录
编译好的Demo
- 第三方kxmovie基于FFmpeg音视频播放器
- 导入工程后会出现编译错误
– KxMovieDecoder 找不到UIImage 解决方案:#import <UIKit/UIKit.h>
–报错找不到 libavformat/avformat.h 解决方法:Header Search Path添加include目录,Xcode编译工程中已经提到
– Implicit declaration of function ‘avpicture_deinterlace’ is invalid in C99 方法:对应的代码注释掉,应为在FFmpeg3.0以后已经失效
– 枚举值根据提示替换掉即可
Demo
链接:https://pan.baidu.com/s/1oYYQS7abQKSumRTZy_WD9A
密码:di9e