这是我参与更文挑战的第3天,活动详情查看: 更文挑战
FFmpeg环境安装
确保已经安装了
brew
安装FFmpeg
在终端执行命令行
brew install ffmpeg
查看安装情况
安装完成之后,执行如下命令:
brew info ffmpeg
✘
标识的为没有安装此依赖库,需要安装此依赖库
安装依赖库
brew install nasm
确认FFmpeg及其依赖库安装情况
安装成功
FFmpeg-iOS-build-script脚本
下载FFmpeg-iOS-build-script脚本
下载地址
修改FFmpeg
版本
将build-ffmpeg-iOS-framework.sh
文件中的FFMPEG_VERSION
修改为当前安装的FFmpeg
的版本,此处安装的为4.3.1
版本
执行脚本编译
以下四个脚本命令请按照自己的情况,选择一个执行
./build-ffmpeg.sh
// 支持全部架构./build-ffmpeg.sh arm64
// 只支持arm64架构./build-ffmpeg.sh armv7 x86_64
// 支持armv7 x86_64架构./build-ffmpeg.sh lipo
// 从单独构建的瘦库构建胖库
修复错误
因为命令行安装gas-preprocessor.pl
大概率会失败,此处直接下载,然后将gas-preprocessor.pl
文件放在 /usr/local/bin
目录下
gas-preprocessor.pl下载地址
然后可以使用命令which gas-preprocessor.pl
查看文件路径
重新执行脚本
./build-ffmpeg.sh
Xcode编译
1、添加文件
将目录下生成的FFmpeg-iOS
文件夹拖进Xcode
项目
可能需要添加头文件路径:
Bulid Setting->Search Paths->Header Search Paths添加$(SRCROOT)/$(PRODUCT_NAME)/FFmpeg-iOS/include
2、添加文件
在生成的ffmpeg-4.3.1
文件夹下的fftools
目录下,复制以下文件到工程
3、解决编译错误
可能需要将#include "libavutil/avutil.h"
此种引入修改为#include "avutil.h"
config.h
file not found 在FFmpeg-iOS-build-script-master
目录下找到scratch
目录,在里边随便打开一个架构文件夹,找到config.h
文件,复制到项目中libavcodec/avcodec.h
file not found 在工程的FFmpeg-iOS/include
文件夹下创建文件夹libavcodec
,然后将FFmpeg-iOS-build-script-master/ffmpeg-4.3.1/libavcodec
目录下的avcodec.h
文件复制到FFmpeg-iOS/include/libavcodec
文件夹下,然后Add Files to *****
compat/va_copy.h
file not found 在工程的FFmpeg-iOS/include
文件夹下创建文件夹compat
,然后将FFmpeg-iOS-build-script-master/ffmpeg-4.3.1/compat
目录下的va_copy.h
文件复制到FFmpeg-iOS/include/compat
文件夹下,然后Add Files to *****
缺少的文件就去FFmpeg-iOS-build-script-master/ffmpeg-4.3.1
目录下查找,放在FFmpeg-iOS/include/
相同的文件夹下,没有文件夹的就创建
原文 iOS中安装FFmpeg环境 - 掘金
★文末名片可以免费领取音视频开发学习资料,内容包括(FFmpeg ,webRTC ,rtmp ,hls ,rtsp ,ffplay ,srs)以及音视频学习路线图等等。
见下方!↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓