安装方式
可以通过以下两种方式安装FFmpeg
- 1.下载iOS版本FFmpeg静态库:即不用手动编译,我们只需要下载就可以得到头文件及.a库文件。
- 2.手动编译:下载源码,可以再更改一些源码后再编译脚本,更为灵活。
如果仅仅是想简单使用FFMpeg,可以下载一个稳定版本的静态库,建议使用第一种方式,如果需要在iOS项目中自定义使用FFMpeg以及修改一些源码以适应项目,使用第二种方式。
编译FFMpeg
- 下载FFmpeg-iOS编译脚本,这里可以只下载脚本,不用下载源码,脚本会自动下载源码。如果不想每次下载源码,只需要稍微修改脚本即可,会在后续说明。
- 下载FFmpeg
- 编译说明
编译脚本的仓库中,明确要求编译脚本需要的安装项:
yasm
gas-preprocessor
编译脚本有对yasm和gas-preprocessor的支持判断,没有该环境会自动下载并配置,也可以自己安装,建议自己安装。
使用方法:
Use build-ffmpeg-tvos.sh for tvOS.
To build everything:
./build-ffmpeg.sh
To build arm64 libraries:
./build-ffmpeg.sh arm64
To build fat libraries for armv7 and x86_64 (64-bit simulator):
./build-ffmpeg.sh armv7 x86_64
To build fat libraries from separately built thin libraries:
./build-ffmpeg.sh lipo
编译
按照实际需要修改配置,支持的版本越多,构建的库越大。
Tips:
FFmpeg有自己的编解码库,封装了codec层,但有些编解码库有自己的许可协议,例如libx264、FDK_AAC等,没有默认添加,但是开发者可以以插件的形式添加进来,为开发者提供统一的接口。这个后续会进行讲解。
iOS项目集成FFmpeg
- 编译成功后,会在脚本目录里面生成相应文件夹,打开之后,里面会有相应的库文件,添加进Xcode。
- 设置头文件搜索路径,在工程文件->Bulid Setting->Search Paths->Header Search Paths添加
$(SRCROOT)/$(PRODUCT_NAME)/FFmpeg-iOS/include,(请根据自己实际路径更改)
- 添加依赖库
libz.tdb、libbz2.tdb、libiconv.tdb、CoreMedia.framework、AVFoundation.framework、VideoToolbox.framework、AudioToolbox.framework!
使用FFmpeg
后续会接着介绍
Demo地址整理后奉上。
有其他不明白的,可以留言,看到就会回复。
如果喜欢,请帮忙点赞。支持转载,转载请附原文链接。