FFMPEG -MAC編譯指南

以下內容翻譯自FFmpeg/Wiki/CompilationGuide/MacOSX 原網址可能需要翻墻

在OS X上編譯FFmpeg有以下幾種方法。

1. 自行編譯

在Mac OS X上編譯FFmpeg和在其他Unix機器上編譯一樣簡單,但是有幾處需要注意。常規流程是 獲取源代碼->./configure ->make && sudo make install。只需要輸入指定的flags就行了。?

2. 工具編譯

另一種方法可以用一些"編譯助手"工具來幫助你編譯安裝FFmpeg。?比如HomebrewMacports 。具體步驟請查看本文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

對翻譯有疑問,請聯系微博指出。謝謝!轉載請注明本文鏈接

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,333評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,491評論 3 416
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,263評論 0 374
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,946評論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,708評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,186評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,255評論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,409評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,939評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,774評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,976評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,518評論 5 359
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,209評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,641評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,872評論 1 286
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,650評論 3 391
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,958評論 2 373

推薦閱讀更多精彩內容