以下內(nèi)容翻譯自FFmpeg/Wiki/CompilationGuide/MacOSX 原網(wǎng)址可能需要翻墻
在OS X上編譯FFmpeg有以下幾種方法瘸羡。
1. 自行編譯
在Mac OS X上編譯FFmpeg和在其他Unix機器上編譯一樣簡單麦牺,但是有幾處需要注意姑裂。常規(guī)流程是 獲取源代碼->./configure ->make && sudo make install亚隅。只需要輸入指定的flags就行了。?
2. 工具編譯
另一種方法可以用一些"編譯助手"工具來幫助你編譯安裝FFmpeg萧朝。?比如Homebrew 和Macports 腊尚。具體步驟請查看本文Homebrew章節(jié)
3. 下載安裝
如果你不能編譯或者你也不想安裝Homebrew略荡,你可以直接下載FFmpeg For OS X穩(wěn)定版庵佣,但是,有可能并不包含一些你想要的功能汛兜。典型的就是需要你解壓文件[如.zip文件]巴粪,然后在剛解壓出來的文件夾中找到FFmpeg程序路徑,運行它。
通過Homebrew安裝FFmpeg?
Homebrew是一個安裝包管理器命令行验毡,與分布式Linux系統(tǒng)上的`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
??如果你不清楚怎么配置和編譯二進制文件,你會發(fā)現(xiàn)使用Homebrew相當簡單抑月。以后如果要升級FFmpeg到最新版本時树叽,只需要輸入以下命令即可:
brew update && brew upgrade ffmpeg
如果你想通過Homebrew安裝FFmpeg的最新Git版本,在第一條安裝命令后面添加`--HEAD`谦絮,如:
brew install ffmpeg --HEAD
如果你想手動編譯FFmpeg的最新Git版本题诵,請繼續(xù)往下閱讀。?
手動編譯FFmpeg
-使用Xcode編譯?
從Mac OS X 10.7開始层皱,Xcode已經(jīng)在Mac App Store上可以免費下載了性锭,并且在Mac上編譯任何東西都需要用到它。請確保你已經(jīng)通過`Xcode->Preferences(command+,)->Downloads->Components`安裝了Command Line Tools.早期的版本需要一個AppleID和免費的開發(fā)者賬戶叫胖,可以在developer.apple.com注冊草冈。
-使用Homebrew編譯?
要獲取Mac OS X的FFmpeg,首先瓮增,你需要安裝Homebrew怎棱。如果你不想安裝Homebrew,請閱讀下一節(jié)绷跑。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版本開始已經(jīng)自帶Freetype(早期版本可以需要在安裝過程中選擇'X11'拳恋,通常情況下X11的路徑是:`/usr/X11`)。然后在終端運行`freetype-config`就會顯示出獨立的文件夾你踩,像頭文件(headers)诅岩,庫文件(libraries),所以带膜,請在輸入`./configure`配置命令之前吩谦,運行以下命令或?qū)⒁韵旅钐砑拥絗$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(絕大多數(shù)Unix系統(tǒng)中都安裝了)系統(tǒng)中式廷。你可能需要下載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(這一步,可能需要輸入管理員密碼)
-額外依賴庫
以下僅僅只是舉例缴挖,具體參數(shù)請輸入`./configure --help`查看:?
*x264 編碼H.264視頻袋狞。編譯參數(shù)--enable-gpl --enable-libx264
*fdk-aac編碼AAC音頻。編譯參數(shù)--enable-libfdk-aac
*libvpx映屋。VP8/VP9視頻編碼器苟鸯。編譯參數(shù)--enable-libvpx
*libvorbis 編碼Vorbis音頻。需要libogg秧荆。編譯參數(shù)--enable-libvorbis
*libopus編碼Opus音頻倔毙。
*LAME編碼MP3音頻。編譯參數(shù)--enable-libmp3lame
*libass字幕渲染器乙濒。編譯參數(shù)--enable-libass
正式編譯
如果你已經(jīng)編譯好了所有你想要的編碼器/依賴庫陕赃,你就可以使用Git下載FFmpeg的源代碼或者從網(wǎng)站鏈接下載發(fā)布的壓縮文件。研究`./configure --help`的輸出颁股,確保你已經(jīng)啟用了所有你想要功能么库,記住`--enable-nonfree`和`--enable-gpl`兩個參數(shù)將是上面某些庫的依賴條件。下面是一個編譯例子:
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