ffmpeg音视频处理入门(一)

694 阅读1分钟

1、ffmpeg安装:

  • brew安装
brew search ffmpeg       //搜索ffmpeg
brew install ffmpeg      //安装ffmepg
//1.下载ffmpeg包
git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg
//2.编译ffmepg
$ ./configure --prefix=/usr/local/ffmpeg -enable-debug=3 //代码安装到/usr/local/ffmpeg,并打开debug模式
$ make -j 4 //-j指定同时有多个cpu并发执行,4核
$ make install //安装

我们可以通过此命令查询相应语句的作用:

./configure --help

设置环境变量:

export PATH=/usr/local/ffmpeg/bin:$PATH
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/ffmpeg/lib/pkgconfig

2、创建swift项目遇到的问题: 创建一个swift项目,并引入动态库后,编译成功,但是运行就崩,原因如下: code signature in(/usr/local/Cellar/sdl2/2.0.14/lib/libSDL2-2.0.0.dylib) not valid for use in process using Liabrary Validation: mapped file has no cdhash, completely unsigned? Code has to be at least ad-hoc signed

意思是要给/usr/local/ffmpeg/lib/下的所有dylib动态库签名后才能使用;
解决办法:

codesign -f -s "开发证书名称" /usr/local/ffmpeg/lib/*.dylib

扩展两个命令:

codesign --remove-signature xxx.dylib //清除动态库的签名
codesign -v xxx.dylib //查看签名

但执行后提示:error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/codesign_allocate: can't create output file: /usr/local/ffmpeg/lib/libavcodec.58.125.100.dylib.cstemp (Permission denied) /usr/local/ffmpeg/lib/libavcodec.58.125.100.dylib: the codesign_allocate helper tool cannot be found or used

提示当前用户无权限,解决: 修改/usr/local/ffmpeg目录的所属者为当前用户,并选择“使 __ 成为所有者”(在文件夹的简介中设置),如下:

修改之后再执行:codesign -f -s "开发证书名称" /usr/local/ffmpeg/lib/*.dylib命令,果断成功!
重新运行项目后又提示:
code signature in(/usr/local/Cellar/sdl2/2.0.14/lib/libSDL2-2.0.0.dylib) not valid for use in process using Liabrary Validation: mapped file has no cdhash, completely unsigned? Code has to be at least ad-hoc signed
和上述问题相同,也是动态库未签名导致;按上述方法再来一遍~
再运行,success~

另附上李超老师的常见问题答疑: zhuanlan.zhihu.com/p/128146338