如何在Linux下編譯並安裝FAAC?


AAC(進階音訊編碼, Advanced Audio Coding)被許多人認為是目前音訊有損壓縮品質最好的格式,相較於MP3格式,AAC支援更多的聲道,更高的採樣率和位元率,以及更精確的音樂訊號。若拿相同大小的MP3AAC格式的音樂檔案來比較,AAC音質通常會比MP3還要來得好。AAC取樣精度最高可到32位元,MP3則只有16位元;AAC取樣頻率最高可以達到96kHz,MP3則只有48kHz。FAAC開放原始碼AAC編碼器,可以直接在Linux下編譯使用。本篇文章將會實際在Linux環境下編譯FAAC

內建的軟體庫就有提供FAAC了,為什麼還要編譯FAAC

因為授權條款的關係,Linux軟體庫提供的FAAC大多沒有MP4的功能,因此無法將AAC封裝成常見的m4A等格式。如果要查看FAAC有無MP4的功能,可以使用以下指令:

faac --help

若是看到「MP4 support unavailable」,就代表這個FAAC工具不支援MP4

如何在Linux下編譯並安裝FAAC?

為了使FAAC可以支援MP4,方便流通編碼出來的AAC檔案,我們需要手動編譯FAAC

編譯FAAC For Linux

編譯環境:Linux Mint 17 MATE

取得FAAC

FAAC的原始碼可以直接在FAAC的SourceForge上取得:

http://sourceforge.net/projects/faac/

產生「configure」檔案

若是在FAAC原始碼根目錄找不到「configure」檔案,就需要自己產生出來。

如何在Linux下編譯並安裝FAAC?

可以使用sh指令來執行「bootstrap」這個指令檔:

sh bootstrap

如何在Linux下編譯並安裝FAAC?

如果執行過程中出現奇怪的語法錯誤,可能是因為「bootstrap」指令檔的換行字元不相容Linux的關係。這時可以使用以下指令來轉換換行字元的格式:

dos2unix bootstrap

如何在Linux下編譯並安裝FAAC?

如何在Linux下編譯並安裝FAAC?

轉換換行字元格式後,再次執行以下指令來產生「configure」檔案。

sh bootstrap

如何在Linux下編譯並安裝FAAC?

配置FAAC

使用以下指令執行「configure」檔案。

./configure

如何在Linux下編譯並安裝FAAC?

如果在configure過程中出現錯誤,可能也是字元編碼格式的問題。此時如果再使用「dos2unix」工具來轉換「configure」檔案,可能會出現「configure」檔案擁有Binary資料的訊息。

如何在Linux下編譯並安裝FAAC?

要解決這個問題的話,可以直接用純文字編輯工具開啟「configure」檔案,再重新存檔一次,讓文字編輯工具對「configure」檔案重新編碼。

如何在Linux下編譯並安裝FAAC?

再次執行以下指令,應該就可以成功了。

./configure

如何在Linux下編譯並安裝FAAC?

編譯與安裝FAAC

使用以下指令編譯FAAC

make

如何在Linux下編譯並安裝FAAC?

如果「mpeg4ip.h」檔案檔案出現「strcasestr有ambiguous」的訊息,需修改「common/mp4v2」目錄下的「mpeg4ip.h」檔案,將有問題的那行註解掉。

如何在Linux下編譯並安裝FAAC?

如何在Linux下編譯並安裝FAAC?

FAAC編譯成功後,可以使用以下指令來安裝:

sudo make install

如何在Linux下編譯並安裝FAAC?

安裝好自己編譯的FAAC之後,再使用以下指令來查看FAAC,可以發現MP4相關的選項出現,並且可以使用了!

faac --help

如何在Linux下編譯並安裝FAAC?

有關FAAC指令更詳細的用法可以參考底下這篇文章:

https://magiclen.org/linux-faac-2/

關於作者

Magic Len

各位好,我是Magic Len,是這網站的管理員。我是台灣台中大肚山上人,畢業於台中高工資訊科和台灣科技大學資訊工程系,曾在桃機航警局服役。我熱愛自然也熱愛科學,喜歡和別人分享自己的知識與經驗。如果你有興趣認識我,可以加我的Facebook,並且請註明是從MagicLen來的。

相關文章