把影音檔案壓小小
因為「荒島筆電」實驗的關係,我最近在測試,利用新一代的編碼器 Opus 和 AV1,到底能把影音檔案壓縮到多小,還能保持我能接受的音質和畫質。
荒島筆電是一個思想實驗:如果要帶一台筆電去沒有網路的荒島住 50 年,只有 200 GB 的可用空間,裡面該裝什麼?在這個前提下,來挑選該打包的音樂、書、軟體、遊戲、資料,藉由這個過程想想自己真正需要什麼。
Opus:同樣的享受,一半的檔案大小
通常 MP3 檔案我覺得至少要 128-160 kbps 聽起來才舒服。但最近認真試用新一代的 Opus 編碼器之後,發現 Opus 只要 64-96 kbps 音質就很可以了耶!相同的享受,檔案大小直接砍半。
如果是純講話的 podcast,用 Opus 甚至降到 32 kbps 我聽起來也都毫無怨言。
不過我暫時還不會把網站上的音檔全部換成 Opus,因為 macOS 和 iOS 對 Opus 的支援度很差,一直到最近兩年的版本才勉強可以播。不過對於離線運作的 Linux / FreeBSD 荒島筆電來說,這完全不是問題。
TSAC:8 kbps 的黑魔法
說到極限壓縮,就不能不提到 Fabrice Bellard 這位神人。他是 FFmpeg 和 QEMU 的作者──換句話說,現代社會有很大一部分是靠這個人寫的東西在運轉的──他開發了一個叫做 TSAC 的聲音編碼器。
TSAC 可以把聲音壓縮到超小的 8 kbps(!),還能維持很不錯的音質。沒錯,真的沒有打錯字,8 kbps,幾乎是一般 MP3 檔案的二十分之一大小。可惜 TSAC 是用神經網路做的,要跑得動基本上需要一張 Nvidia 的 GPU 才行,實用度不太高,但技術還是超厲害!
試聽
以下用我的作品〈你還在這裡做什麼〉當作測試曲目,來比較一下各種格式的音質吧:
(如果你是用比較舊的 iOS 裝置,以下的 Opus 格式檔案也許會無法播放。那是蘋果在藉機提醒你該換新機囉!)
- MP3 160 kbps,檔案大小 2.85 MB:
- Opus 96 kbps,檔案大小 1.77 MB:
- Opus 64 kbps,檔案大小 1.18 MB:
- Opus 32 kbps,檔案大小 0.61 MB:
- TSAC 8 kbps1,檔案大小 0.14 MB:
AV1 讓我可以帶影片去荒島了
我原本覺得荒島筆電裡面不該放影片,因為太占空間了;但玩過新一代的 AV1 編碼器之後,我覺得好像行得通喔!
如果影片用 AV1 編碼,聲音配上剛才說的 Opus,解析度降到 240p,全部裝進 WebM 檔案裡面,這樣可以把影片檔壓到大概 350 kbps,而且畫質還在「可以接受」的範圍內──當然,我的「畫質可以接受」可能跟你的標準不一樣;畢竟我可是活過撥接時代,曾經真心覺得 VCD 畫質很棒的老人。
總之,這樣壓縮的話,一分鐘的影片只要 2.6 MB,那麼 100 GB 的空間可以塞進 641 個小時的影片!如果儲存空間限制放寬一點的話,我們真的也可以帶不少電影去荒島了!
一向死守著 MP3(聲音)和 H.264(影片)的我,好像該是時候跳槽到新一代的 Opus 和 AV1 了。