转发自白狼栈:查看原文

对于ffmpeg的装置,有的人可能要折腾很久,甚至折腾一个礼拜,究其原因,根本都是编译装置惹的祸。

咱们提供4种装置形式,最简单的莫过于centos7上的编译装置。

  1. ffmpeg动态库下载安装
  2. 在mac上装置ffmpeg
  3. 在centos7上编译装置ffmpeg
  4. 应用 docker 装置 ffmpeg

大家能够依据本人的爱好抉择装置。

明天咱们来看一下如何在mac上装置ffmpeg。

在mac上咱们有3种办法能够装置ffmpeg。

第一种咱们在ffmpeg装置一文中曾经提到过了,间接下载动态库;

第二种是编译装置,不仅要装置xcode,还要装置很多的依赖库,还是让咱们的mac省省心吧,疏忽;

第三种就是咱们明天要说的,通过Homebrew装置。

如果在此之前你通过 Homebrew 曾经装置过 ffmpeg,能够执行命令 brew uninstall ffmpeg 先进行卸载。

装置之前,咱们先看下 Homebrew 的版本,这取决于咱们采纳哪种形式装置。终端执行 brew -v

» brew -v Homebrew 1.8.3Homebrew/homebrew-core (git revision 38eb; last commit 2018-11-19)

如果你的电脑显示 command not found,请先执行上面的命令装置 Homebrew。

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

请留神,因为 Homebrew 的版本不同,咱们接下来又有两种不同的操作方法。

1、Homebrew 版本小于2.0

此时能够先看下 Homebrew 反对哪些配置选项,而后抉择装置咱们须要的options即可。

» brew options ffmpeg --with-chromaprint Enable the Chromaprint audio fingerprinting library--with-fdk-aac Enable the Fraunhofer FDK AAC library--with-fontconfig Build with fontconfig support  ..............................

装置的时候,相似上面这样,你能够自行抉择要装置哪些配置选项,这里倡议大家把下面所有的option都加上

brew install ffmpeg --with-chromaprint --with-fdk-aac --with-xxx ......
2、Homebrew 版本大于2.0

如果你的 Homebrew 版本大于2.0,通过 brew options ffmpeg,你会发现终端没有输入任何 options。这是怎么回事呢?

ffmpeg官网说了 “Since v2.0, Homebrew does not offer options for its core formulae anymore. Users who want to build ffmpeg with additional libraries (including non-free ones) need to use so-called taps from third party repositories. These repositories are not maintained by Homebrew.”,大略意思是说从Homebrew2.0 开始,Homebrew 不再为其外围公式提供配置选项。所以想要扩大其余库的小伙伴须要抉择第三方的存储库 homebrew-ffmpeg。当然你也能够间接抉择 brew install ffmpeg,不带任何扩大库,然而这样装置的后果短少很多编解码库,略微简单的命令都执行不了。

首先执行 brew tap 命令

brew tap homebrew-ffmpeg/ffmpeg

而后再看下这个仓库反对的 options

brew options homebrew-ffmpeg/ffmpeg/ffmpeg

最初 install 的时候同样把这些 options 加上,相似上面这样

brew install homebrew-ffmpeg/ffmpeg/ffmpeg --with-chromaprint --with-fdk-aac --with-xxx ......

装置须要肯定的工夫,装置完之后间接在终端测试 ffmpeg 是否装置胜利

» ffmpeg -versionffmpeg version 4.1 Copyright (c) 2000-2018 the FFmpeg developers  built with Apple LLVM version 10.0.0 (clang-1000.10.44.4)  configuration: --prefix=/usr/local/Cellar/ffmpeg/4.1 --enable-shared --enable-pthreads --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags='-I/Library/Java/JavaVirtualMachines/jdk1.8.0_251.jdk/Contents/Home/include -I/Library/Java/JavaVirtualMachines/jdk1.8.0_251.jdk/Contents/Home/include/darwin' --host-ldflags= --enable-ffplay --enable-gpl --enable-libmp3lame --enable-libopus --enable-libsnappy --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libxvid --enable-lzma --enable-chromaprint --enable-frei0r --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libfdk-aac --enable-libfontconfig --enable-libfreetype --enable-libgme --enable-libgsm --enable-libmodplug --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-librsvg --enable-librtmp --enable-librubberband --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtesseract --enable-libtwolame --enable-libvidstab --enable-libwavpack --enable-libwebp --enable-libzmq --enable-opencl --enable-openssl --enable-videotoolbox --enable-libopenjpeg --disable-decoder=jpeg2000 --extra-cflags=-I/usr/local/Cellar/openjpeg/2.3.0/include/openjpeg-2.3 --enable-nonfree  libavutil      56\. 22.100 / 56\. 22.100  libavcodec     58\. 35.100 / 58\. 35.100  libavformat    58\. 20.100 / 58\. 20.100  libavdevice    58\.  5.100 / 58\.  5.100  libavfilter     7\. 40.101 /  7\. 40.101  libavresample   4\.  0\.  0 /  4\.  0\.  0  libswscale      5\.  3.100 /  5\.  3.100  libswresample   3\.  3.100 /  3\.  3.100  libpostproc    55\.  3.100 / 55\.  3.100

如果你用的仓库是 homebrew-ffmpeg/ffmpeg/ffmpeg,版本应该也是4.x的,惟一的不同可能多了几个options。

然而无论下面哪种状况,你都应该至多指定配置选项option,因为咱们前面针对ffmpeg的操作会有些简单。