首先要注意,如果系统比较高如10.11.。。我们需要先将/usr/bin读写权限打开,默认情况是无法打开的,
由于系统启用了SIP(System Integrity Protection), 导致root用户也没有权限修改/usr/bin目录。按如下方式可恢复权限。
屏蔽方法:重启Mac,按住command+R,进入recovery模式。选择“实用工具”下的“终端”,输入:csrutil disable并回车,然后正常重启Mac即可
接下来就简单了
1、下载编译脚本https://github.com/kewlbear/FFmpeg-iOS-build-script,使用它可以自动编译
当然,还依赖两个东西如下
a、https://github.com/libav/gas-preprocessor
b、yasm
但是不用担心,脚本里面已经设置好了,会自动下载安装这两个,如果没有自动安装成功,再手动安装。
2、打开终端,进入FFmpeg-iOS-build-script目录,然后输入命令./build-ffmpeg.sh;接着就开始编译,如果不选择性编译,编译时间会较长,耐心等待即可
手动安装:
自动安装失败,手动安装a、b两个依赖,步骤如下
-
先下载文件:https://github.com/libav/gas-preprocessor,
复制gas-preprocessor.pl到/usr/sbin下,
修改文件权限:chmod 777 /usr/local/bin/gas-preprocessor.pl
-
安装yasm
接下来和上面一样了,按照步骤2进行即可
3、编译完后“FFmpeg-iOS”这个文件夹内就是编译好的,而且已经模拟器真机库都整合为一,直接用即可,使用时拖入项目中,配置路径,修改工程的Build Settings -> Search Paths,
a、Header Search Paths修改或添加 include 的路径
b、Library Search Paths修改或添加 lib 的路径
c、添加General->Linked Frameworks and Libraries 添加依赖库
libz.dylib
libbz2.dylib
libiconv.dylib
如果以后使用时还报错 导入CoreMedia.framework和VideoToolbox.framework尝试
现在可以编译了,
添加#include <libavcodec/avcodec.h>
printf("%s",avcodec_configuration());
运行成功打印ffpemg相关信息
xocde8后,如果不打印东西,是因为printf函数需要后面添加 \n
printf("%s\n",avcodec_configuration());这就可以了\n
ffmpeg比较正式的教程:http://dranger.com/ffmpeg/ffmpeg.html