轉發自白狼棧:查看原文
關於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的操作會有些復雜。