FFMPEG -MAC編譯指南

以下內(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萧朝。?比如HomebrewMacports 腊尚。具體步驟請查看本文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

對翻譯有疑問甘有,請聯(lián)系微博指出诉儒。謝謝!轉載請注明本文鏈接

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末亏掀,一起剝皮案震驚了整個濱河市忱反,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌滤愕,老刑警劉巖温算,帶你破解...
    沈念sama閱讀 206,214評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異间影,居然都是意外死亡注竿,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,307評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來巩割,“玉大人裙顽,你說我怎么就攤上這事⌒福” “怎么了愈犹?”我有些...
    開封第一講書人閱讀 152,543評論 0 341
  • 文/不壞的土叔 我叫張陵,是天一觀的道長蒲祈。 經(jīng)常有香客問我甘萧,道長,這世上最難降的妖魔是什么梆掸? 我笑而不...
    開封第一講書人閱讀 55,221評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮牙言,結果婚禮上酸钦,老公的妹妹穿的比我還像新娘。我一直安慰自己咱枉,他們只是感情好卑硫,可當我...
    茶點故事閱讀 64,224評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著蚕断,像睡著了一般欢伏。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上亿乳,一...
    開封第一講書人閱讀 49,007評論 1 284
  • 那天硝拧,我揣著相機與錄音,去河邊找鬼葛假。 笑死障陶,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的聊训。 我是一名探鬼主播抱究,決...
    沈念sama閱讀 38,313評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼带斑!你這毒婦竟也來了鼓寺?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 36,956評論 0 259
  • 序言:老撾萬榮一對情侶失蹤勋磕,失蹤者是張志新(化名)和其女友劉穎妈候,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體朋凉,經(jīng)...
    沈念sama閱讀 43,441評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡州丹,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,925評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片墓毒。...
    茶點故事閱讀 38,018評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡吓揪,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出所计,到底是詐尸還是另有隱情柠辞,我是刑警寧澤,帶...
    沈念sama閱讀 33,685評論 4 322
  • 正文 年R本政府宣布主胧,位于F島的核電站叭首,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏踪栋。R本人自食惡果不足惜焙格,卻給世界環(huán)境...
    茶點故事閱讀 39,234評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望夷都。 院中可真熱鬧眷唉,春花似錦、人聲如沸囤官。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,240評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽党饮。三九已至肝陪,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間刑顺,已是汗流浹背氯窍。 一陣腳步聲響...
    開封第一講書人閱讀 31,464評論 1 261
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留捏检,地道東北人荞驴。 一個月前我還...
    沈念sama閱讀 45,467評論 2 352
  • 正文 我出身青樓,卻偏偏與公主長得像贯城,于是被迫代替她去往敵國和親熊楼。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,762評論 2 345

推薦閱讀更多精彩內(nèi)容