转发自白狼栈:查看原文html
关于ffmpeg的安装,有的人可能要折腾好久,甚至折腾一个礼拜,究其缘由,基本都是编译安装惹的祸。linux
咱们提供4种安装方式,最复杂的莫过于centos7上的编译安装。git
你们能够根据本身的喜爱选择安装。github
今天咱们来看一下如何在mac上安装ffmpeg。web
在mac上咱们有3种方法能够安装ffmpeg。docker
第一种咱们在ffmpeg安装一文中已经提到过了,直接下载静态库;centos
第二种是编译安装,不只要安装xcode,还要安装不少的依赖库,仍是让咱们的mac省省心吧,忽略;xcode
第三种就是咱们今天要说的,经过Homebrew安装。ruby
若是在此以前你经过 Homebrew 已经安装过 ffmpeg,能够执行命令 brew uninstall ffmpeg 先进行卸载。app
安装以前,咱们先看下 Homebrew 的版本,这取决于咱们采用哪一种方式安装。终端执行 brew -v
» brew -v Homebrew 1.8.3 Homebrew/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 的版本不一样,咱们接下来又有两种不一样的操做方法。
此时能够先看下 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 ......
若是你的 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 -version ffmpeg 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的操做会有些复杂。