轉發自白狼棧:檢視原文
關於ffmpeg的安裝,有的人可能要折騰很久,甚至折騰一個禮拜,究其原因,基本都是編譯安裝惹的禍。
我們提供4種安裝方式,最複雜的莫過於centos7上的編譯安裝。
- ffmpeg靜態庫下載安裝
- 在mac上安裝ffmpeg
- 在centos7上編譯安裝ffmpeg
- 使用 docker 安裝 ffmpeg
大家可以根據自己的喜好選擇安裝。
今天我們來看一下如何在mac上安裝ffmpeg。
在mac上我們有3種方法可以安裝ffmpeg。
第一種我們在ffmpeg安裝一文中已經提到過了,直接下載靜態庫;
第二種是編譯安裝,不僅要安裝xcode,還要安裝很多的依賴庫,還是讓我們的mac省省心吧,忽略;
第三種就是我們今天要說的,通過Homebrew安裝。
如果在此之前你通過 Homebrew 已經安裝過 ffmpeg,可以執行命令 brew uninstall ffmpeg 先進行解除安裝。
安裝之前,我們先看下 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 的版本不同,我們接下來又有兩種不同的操作方法。
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 -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的操作會有些複雜。