1.背景
移动端学习音视频开发,FFmpeg可以说是必学的框架,FFmpeg在linux平台下开发,但它同样也可以在其他操作系统环境中编译运行,包括Windows、Mac OS X等。FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序,它包括了目前领先的音/视频编码库libavcodec。
FFmpeg有非常强大的功能,包括视频采集功能、视频格式转换、视频抓图、给视频加水印等。同时还支持以RTP方式将视频流传送给支持RTSP的流媒体服务器,支持直播应用。
2.安装方式
可以通过如下两种方式安装ffmpeg
1.下载iOS版本ffmpeg静态库: 即不用手动编译,我们只需要下载得到头文件及.a库文件.
2.手动编译: 下载源码, 可以在更改一些flag或源码后再编译脚本,较为灵活.
如何选择
如果仅仅是想简单直接使用ffmeg可以下载一个稳定版本的静态库, 建议用第一种方式.
如果需要在iOS项目中自定义使用ffmpeg, 以及修改一些ffmpeg中的源码以适应项目,使用第二种方式.
注意: 文本仅仅编译真机使用的arm64环境,所以模拟器下无法运行项目,如需添加其他架构自行更改两个脚本文件.
2.1下载gas-preprocessor
此文件是编译FFmpeg必备的脚本文件,使用如下命令将其拷贝进bin下
cp -f /xxx/gas-preprocessor.pl /usr/local/bin/
2.2安装yasm
Yasm是一个完全重写的NASM汇编并且支持x86和AMD64指令集.
brew install yasm
2.3下载x264-iOS编译脚本及源码
下载x264编译脚本解压后如下