一、FFmpeg简介
它包含可供应用程序使用的libavcodec,libavutil,libavformat,libavfilter,libavdevice,libswscale和libswresample。以及ffmpeg,ffplay和ffprobe可供最终用户用于转码和播放。
适用于开发人员的FFmpeg库
libavutil是一个包含用于简化编程的函数的库,包括随机数生成器,数据结构,数学例程,核心多媒体实用程序等等。
libavcodec是一个包含音频/视频编解码器解码器和编码器的库。
libavformat是一个包含多媒体容器格式的demuxers和muxers的库。
libavdevice是一个包含输入和输出设备的库,用于抓取并呈现许多常见的多媒体输入/输出软件框架,包括Video4Linux,Video4Linux2,VfW和ALSA。
libavfilter是一个包含媒体过滤器的库。
libswscale是一个执行高度优化的图像缩放和色彩空间/像素格式转换操作的库。
libswresample是执行高度优化的音频重采样,重新矩阵转换和样本格式转换操作的库。
二、FFmpeg集成过程
1、先下载文件:https://github.com/libav/gas-preprocessor,复制gas-preprocessor.pl到/usr/sbin下,
修改文件权限:chmod 777 /usr/local/bin/gas-preprocessor.pl;安装yams
2、下载脚本:https://github.com/kewlbear/FFmpeg-iOS-build-script,解压后会存在四个文件
进入文件夹
执行sh build-ffmpeg-iOS-framework.sh
如果没有按装yams会报错
按提示按装即可
编泽完成后会存在如下文件夹
FFmpeg-iOS即是我们需要的东西sdk
三、编泽过程出现的问题
1、yasm没有按装,按提示操作即可
2、报错xcrun -sdk iphoneos clang is unable to create an executable file.C compiler test failed 问题,进入生成的scratch文件夹,找到rebuild中的config.log文件,打开有详细的错误说明:xcrun -sdk iphoneos,是查找不到
sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer/,完美解决