macOS編譯 lame, fad-aac, x264, ffmpeg

簡(jiǎn)介

做音視頻開(kāi)發(fā)悲立,除了平臺(tái)提供的SDK外冯遂,我們經(jīng)常會(huì)用到一些優(yōu)秀的第三方開(kāi)源庫(kù),這里我們將介紹下lame, fad-aac, x264的編譯及使用薪铜。

lame

目前,LAME被認(rèn)為是中高比特率和VBR的最佳MP3編碼器恩溅,主要得益于其開(kāi)發(fā)人員的專(zhuān)注工作和開(kāi)源許可模式隔箍,使該項(xiàng)目能夠利用來(lái)自世界各地的工程資源。 質(zhì)量和速度的提升仍在繼續(xù)脚乡,可能使LAME成為唯一仍在積極開(kāi)發(fā)的MP3編碼器蜒滩。

fdk-aac

Fraunhofer FDK AAC是由Fraunhofer IIS開(kāi)發(fā)的高質(zhì)量開(kāi)源AAC編碼器庫(kù)。 它是針對(duì)Android正式發(fā)布的奶稠,但已被移植到其他平臺(tái)俯艰。 Winamp中包含的許可Fraunhofer AAC編解碼器(通常稱(chēng)為FhG AAC)與FDK AAC編解碼器不同。FDK AAC是一個(gè)目前效率很高的aac編解碼庫(kù)锌订。

x264

x264是一個(gè)免費(fèi)的開(kāi)源軟件庫(kù)和VideoLAN開(kāi)發(fā)的命令行實(shí)用程序蟆炊,用于將視頻流編碼為H.264 / MPEG-4 AVC格式。 它是根據(jù)GNU通用公共許可證條款發(fā)布的瀑志。

編譯

lame, fad-aac, x264的編譯其實(shí)很簡(jiǎn)單涩搓,github上有現(xiàn)成的build shell, 但有些并非在機(jī)器上就能跑起來(lái)污秆。所以針對(duì)一些錯(cuò)誤,我對(duì)一些build shell做了少許改動(dòng)昧甘,支持 x86_64, arm64e, arm64, armv7s, armv7架構(gòu)的編譯良拼。

接下來(lái)我們就要開(kāi)始編譯了,請(qǐng)先從這里下載編譯需要用的代碼充边、腳本和一些說(shuō)明庸推,下載后,直接進(jìn)行編譯就行浇冰,省時(shí)省力贬媒。

Build lame

  1. 進(jìn)入目錄 lame-3.100 , cd lame-3.100.
  2. 更改腳本文件的權(quán)限, sudo chmod 777 build-lame.sh.
  3. 運(yùn)行腳本, ./build-lame.sh

你也可以參考腳本使用說(shuō)明 lame shell 腳本使用說(shuō)明.

Build fdk-aac

  1. 進(jìn)入目錄 fdk-aac-2.0.0 , cd fdk-aac-2.0.0.
  2. 更改腳本文件的權(quán)限, sudo chmod 777 build-fdk-aac.sh.
  3. 運(yùn)行腳本, ./build-fdk-aac.sh

你也可以參考腳本使用說(shuō)明 fdk-aac shell 腳本使用說(shuō)明.

Build x264

  1. 進(jìn)入目錄 x264-20190809-2245 , cd x264-20190809-2245.
  2. 更改腳本文件的權(quán)限, sudo chmod 777 build-x264.sh.
  3. 運(yùn)行腳本, ./build-x264.sh

你也可以參考腳本使用說(shuō)明 x264 shell 腳本使用說(shuō)明.

ffmpeg

一種完整的跨平臺(tái)解決方案,用于錄制肘习,轉(zhuǎn)換和流式傳輸音頻和視頻际乘。

Build ffmpeg

  1. 進(jìn)入目錄 ffmpeg-4.2 , cd x264-20190809-2245.
  2. 更改腳本文件的權(quán)限, sudo chmod 777 build-ffmpeg.sh.
  3. 如果想讓ffmpeg使用x264, lame, fdk-aac的話,還請(qǐng)手動(dòng)將之前編譯環(huán)節(jié)中產(chǎn)生的fat-x264, fat-lame, fat-fdk-aac三個(gè)文件夾復(fù)制到ffmpeg-4.2/external-libs下面漂佩。反之脖含,你需要把X264, LAME, FDK_AACbuild-ffmpeg.sh中注釋掉.
  4. 運(yùn)行腳本, ./build-ffmpeg.sh
  5. 最后投蝉,你可以在fat-ffmpeg目錄下找到相關(guān)靜態(tài)庫(kù)养葵。

你也可以參考腳本使用說(shuō)明 ffmpeg shell 腳本使用說(shuō)明.

編譯可能碰到的問(wèn)題

  • No working C compiler found.
    可能是xcode路徑問(wèn)題,終端輸入命令:
    sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer/

  • Found no assembler,Minimum version is nasm-x.x.x
    Found no assembler,Minimum version is yasm-x.x.x
    原因是沒(méi)有安裝yasm/nasm或yasm/nasm版本太低瘩缆,需要重新安裝nasm/yasm关拒。
    brew install nasmbrew install yasm.

  • 編譯i386遇到No working C compiler found
    有兩種解決辦法,任選一種就好:

    1. 可以直接將i386略過(guò)編譯庸娱,將i386從編譯腳本ARCHS="arm64 x86_64 i386 armv7 armv7s" 中刪除夏醉,然后重新編譯
    2. 在終端輸入./build-x264.sh arm64e arm64 x86_64 armv7s進(jìn)行編譯。

參考

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末涌韩,一起剝皮案震驚了整個(gè)濱河市畔柔,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌臣樱,老刑警劉巖靶擦,帶你破解...
    沈念sama閱讀 212,454評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異雇毫,居然都是意外死亡玄捕,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,553評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén)棚放,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)枚粘,“玉大人,你說(shuō)我怎么就攤上這事飘蚯♀善” “怎么了福也?”我有些...
    開(kāi)封第一講書(shū)人閱讀 157,921評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)攀圈。 經(jīng)常有香客問(wèn)我暴凑,道長(zhǎng),這世上最難降的妖魔是什么赘来? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,648評(píng)論 1 284
  • 正文 為了忘掉前任现喳,我火速辦了婚禮,結(jié)果婚禮上犬辰,老公的妹妹穿的比我還像新娘嗦篱。我一直安慰自己,他們只是感情好幌缝,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,770評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布灸促。 她就那樣靜靜地躺著,像睡著了一般狮腿。 火紅的嫁衣襯著肌膚如雪腿宰。 梳的紋絲不亂的頭發(fā)上呕诉,一...
    開(kāi)封第一講書(shū)人閱讀 49,950評(píng)論 1 291
  • 那天缘厢,我揣著相機(jī)與錄音,去河邊找鬼甩挫。 笑死贴硫,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的伊者。 我是一名探鬼主播英遭,決...
    沈念sama閱讀 39,090評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼亦渗!你這毒婦竟也來(lái)了挖诸?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,817評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤法精,失蹤者是張志新(化名)和其女友劉穎多律,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體搂蜓,經(jīng)...
    沈念sama閱讀 44,275評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡狼荞,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,592評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了帮碰。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片相味。...
    茶點(diǎn)故事閱讀 38,724評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖殉挽,靈堂內(nèi)的尸體忽然破棺而出丰涉,到底是詐尸還是另有隱情拓巧,我是刑警寧澤,帶...
    沈念sama閱讀 34,409評(píng)論 4 333
  • 正文 年R本政府宣布昔搂,位于F島的核電站玲销,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏摘符。R本人自食惡果不足惜贤斜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,052評(píng)論 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望逛裤。 院中可真熱鬧瘩绒,春花似錦、人聲如沸带族。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,815評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)蝙砌。三九已至阳堕,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間择克,已是汗流浹背恬总。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,043評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留肚邢,地道東北人壹堰。 一個(gè)月前我還...
    沈念sama閱讀 46,503評(píng)論 2 361
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像骡湖,于是被迫代替她去往敵國(guó)和親贱纠。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,627評(píng)論 2 350