以下內容翻譯自FFmpeg/Wiki/CompilationGuide/MacOSX 原網址可能需要翻墻
在OS X上編譯FFmpeg有以下幾種方法。
1. 自行編譯
在Mac OS X上編譯FFmpeg和在其他Unix機器上編譯一樣簡單,但是有幾處需要注意。常規流程是 獲取源代碼->./configure ->make && sudo make install。只需要輸入指定的flags就行了。?
2. 工具編譯
另一種方法可以用一些"編譯助手"工具來幫助你編譯安裝FFmpeg。?比如Homebrew 和Macports 。具體步驟請查看本文Homebrew章節
3. 下載安裝
如果你不能編譯或者你也不想安裝Homebrew,你可以直接下載FFmpeg For OS X穩定版,但是,有可能并不包含一些你想要的功能。典型的就是需要你解壓文件[如.zip文件],然后在剛解壓出來的文件夾中找到FFmpeg程序路徑,運行它。
通過Homebrew安裝FFmpeg?
Homebrew是一個安裝包管理器命令行,與分布式Linux系統上的`apt-get`方式十分類似。要使用Homebrew,你需要先安裝`brew`,如果你還沒有安裝,請使用以下命令安裝
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
?如果安裝成功,輸入以下命令以最少配置選項(和依賴庫)安裝最新版本的FFmpeg:
brew install ffmpeg
這些安裝包的版本都是Homebrew的方案(formulas),安裝程序會自動將FFmpeg的依賴庫安裝好。你可以輸入`brew info ffmpeg`查看額外的安裝選項,如:如果想要添加`libfdk_aac`或`libvpx`兩個庫(這兩個庫是高度推薦安裝的),可以輸入以下包含額外推薦選項的命令:
brew install ffmpeg --with-fdk-aac --with-ffplay --with-freetype --with-libass --with-libquvi --with-libvorbis --with-libvpx --with-opus --with-x265
??如果你不清楚怎么配置和編譯二進制文件,你會發現使用Homebrew相當簡單。以后如果要升級FFmpeg到最新版本時,只需要輸入以下命令即可:
brew update && brew upgrade ffmpeg
如果你想通過Homebrew安裝FFmpeg的最新Git版本,在第一條安裝命令后面添加`--HEAD`,如:
brew install ffmpeg --HEAD
如果你想手動編譯FFmpeg的最新Git版本,請繼續往下閱讀。?
手動編譯FFmpeg
-使用Xcode編譯?
從Mac OS X 10.7開始,Xcode已經在Mac App Store上可以免費下載了,并且在Mac上編譯任何東西都需要用到它。請確保你已經通過`Xcode->Preferences(command+,)->Downloads->Components`安裝了Command Line Tools.早期的版本需要一個AppleID和免費的開發者賬戶,可以在developer.apple.com注冊。
-使用Homebrew編譯?
要獲取Mac OS X的FFmpeg,首先,你需要安裝Homebrew。如果你不想安裝Homebrew,請閱讀下一節。Homebrew安裝命令:
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
然后輸入以下命令:
brew install automake fdk-aac git lam libass libtool libvorbis libvpx \ opus sdl shtool texi2html theora wget x264 xvid yasm
Mac OS X從10.7版本開始已經自帶Freetype(早期版本可以需要在安裝過程中選擇'X11',通常情況下X11的路徑是:`/usr/X11`)。然后在終端運行`freetype-config`就會顯示出獨立的文件夾,像頭文件(headers),庫文件(libraries),所以,請在輸入`./configure`配置命令之前,運行以下命令或將以下命令添加到`$HOME/.profile`文件中:
CFLAGS='freetype-config --cflags' LDFLAGS='freetype-config --libs' PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig:/usr/lib/pkgconfig:/usr/X11/lib/pkgconfig
不使用Homebrew手動安裝FFmpeg依賴庫
-Pkg-config & GLib?
Pkg-config是檢查可以被編譯進ffmpeg的庫的必要文件,它需要GLib,但是GLib并沒有安裝在Mac OS X(絕大多數Unix系統中都安裝了)系統中。你可能需要下載pkg-config 0.23,或從Gnome.org下載壓縮文件解壓并編譯它。pkg-config可以從Freedesktop.org下載。
要編譯GLib,你還要從GNU.org下載gettext,并且編輯stpncpy.c文件,在"#ifndef weak_alias"前加一行"#undef stpncpy"。Mac OS X從10.7開始有它自己版本的stpncopy功能(不兼容),在gettext里重復了。正常編譯gettext就行了。使用以下命令編譯Glib:
LIBFFI_CFLAGS=-I/usr/include/ffi LIBFFI_LIBS=-lffi
??????????./configure?
`make && sudo make install(這一步時,可能需要輸入管理員密碼)
要編譯pkg-config,輸入以下命令:?
GLIB_FLAGS="-I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include" GLIB_LIBS="-lglib-2.0 -lgio-2.0"
./configure --with-pc-path="/usr/X11/lib/pkgconfig:/usr/X11/share/pkgconfig:/usr/local/pkgconfig"
-Yasm
Yasm可以從tortall.net下載,Yasm是編譯包含機器獨立匯編代碼的C代碼必要文件。使用以下命令安裝Yasm:
./configure --enable-python
make && sudo make install(這一步,可能需要輸入管理員密碼)
-額外依賴庫
以下僅僅只是舉例,具體參數請輸入`./configure --help`查看:?
*x264 編碼H.264視頻。編譯參數--enable-gpl --enable-libx264
*fdk-aac編碼AAC音頻。編譯參數--enable-libfdk-aac
*libvpx。VP8/VP9視頻編碼器。編譯參數--enable-libvpx
*libvorbis 編碼Vorbis音頻。需要libogg。編譯參數--enable-libvorbis
*libopus編碼Opus音頻。
*LAME編碼MP3音頻。編譯參數--enable-libmp3lame
*libass字幕渲染器。編譯參數--enable-libass
正式編譯
如果你已經編譯好了所有你想要的編碼器/依賴庫,你就可以使用Git下載FFmpeg的源代碼或者從網站鏈接下載發布的壓縮文件。研究`./configure --help`的輸出,確保你已經啟用了所有你想要功能,記住`--enable-nonfree`和`--enable-gpl`兩個參數將是上面某些庫的依賴條件。下面是一個編譯例子:
git clone http://source.ffmpeg.org/git/ffmpeg.git ffmpeg
cd ffmpeg
./configure --prefix=/usr/local --enable-gpl --enable-nonfree --enable-libass\
--enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus \
--enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid
make && sudo make install
最后附上原文鏈接:MacOSX