iOS FFmpeg编译

安装方式

可以通过以下两种方式安装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!
依赖库文件.png

使用FFmpeg

后续会接着介绍
Demo地址整理后奉上。
有其他不明白的,可以留言,看到就会回复。
如果喜欢,请帮忙点赞。支持转载,转载请附原文链接。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容