2009/6/18

顛覆網路 35 天 (7a): 開放影片編碼格式的品質

這篇主要比較開放影片編碼格式的品質問題,緣起是 Google 的 Chris DiBona 在 WhatWG 郵件群組貼了一篇文章,裡頭提到

如果 YouTube 要採用 Theora 編碼、還得維持目前的播放品質,那會佔掉全世界大部份的頻寬。

目前關於影片編碼的論戰已經慢慢嘴炮化、缺乏實質的比較,所以 Greg Maxwell 回了他一篇、並放上下列的比較結果。(本篇由原作者授權張貼於顛覆網路 35 天專欄,柏強我只依據往例、節譯重點。)

以下是將同一段影片分別以兩種尺寸編碼、丟上 YouTube 處理後再下載,然後與 Ogg/Theora+Vorbis 比較的情形,各位可以下載觀看以便比對。

~499kbit/sec 比較

YouTube

Download (H.264+AAC; 17MiB)

Ogg/Theora+Vorbis

Download / Watch (Ogg/Theora+Vorbis; 17MiB)

~327kbit/sec 比較

YouTube

Download (H.263+MP3; 12MiB)

Ogg/Theora+Vorbis

Download / Watch (Ogg/Theora+Vorbis; 12MiB)

位元率都分別標示出來了,而 Theora 的版本故意稍稍降一點位元率,以防止略大一些的檔案大小會被懷疑是故意提高品質。要真的公平比較的話,請把音效也考慮進去,光看靜態圖片絕非比較影片品質的好方法。這邊的靜態圖片只是為了方便讀者而做。

製作方法

以下是這四個檔案的完整製作方法:

  1. 影片來源是 Blender 基金會以創用 CC 授權的動畫片 Big Buck Bunny,版權無慮。在此使用 media.xiph.org 上下載的無失真 640x360 PNG 與 FLAC 版。
  2. 以 ImageMagick 的轉換工具重新取樣成 480x270。
  3. 使用 gstreamer 的 jpegenc,設為 quality=100 的 mjpeg + PCM,產出大約 1.5GB、位元率約為 20Mbit/sec 的檔案。
  4. 將檔案裁剪至 1G 以便符合 YouTube 的限制,產生 input_mjpeg.avi 檔 (706MiB)。
  5. 將檔案上傳到 YouTube,交給它轉換。
  6. 下載 YouTube 產出的 FLV 即 H.264 格式檔,工具很多種、在此用的是 keepvid
  7. 將原始的 input_mjpeg.avi 以 libtheora 1.1a2 與 Vorbis aoTuv 5.7 產出位元率約當於 499kbit/sec 的檔案,這個數值與 YouTube 產出的檔案相同。
  8. 將 input_mjpeg.avi 再重新取樣產出一個 400x226 的檔案。
  9. 接下來步驟同上一個檔案,最後再以一樣 libtheora 1.1a2 與 Vorbis aoTuv 5.7 產出位元率約當於 327kbit/sec 的檔案,這個數值與 YouTube 利用 400x226 的影片產出的檔案相同。

Greg Maxwell 的結論

  1. 較低品質的兩段影片很難辨出高下,而就算是高一點的品質、YouTube 目前所採用的方式也不見得就高到哪裡去。這樣的品質下四段影片檔必定各有缺點,而取捨就見仁見智。
  2. 就以我 (Greg) 的觀點,在 327kbit/sec 的影片 Theora+Vorbis 的格式遠勝過 YouTube 使用的 H.263。遇上聲音更明顯:Vorbis 版可以聽到片頭的蟲鳴、而 YouTube 的檔案中就聽不見了。
  3. 高品質的部份,在細細比較後可能大家會比較偏好 H.264 的版本,但差異不很大,大部分的人應該都分不出來。

Greg Maxwell 的信件可以查閱原文

更高畫質的影片呢?

拜我偷懶到今天才動手看這篇所賜,有另一篇補充的文章可以即時一併翻譯。Maik Merten 為 HD 畫質的影片也做了比較,截圖如下:說實在差異不大,而且 Theora 的仔細看感覺好像還比 H.264 更好 (注意頭髮的地方)。別忘了看看影片來比較喔:

所以綜上所述,別嘴炮了,要比較畫質還是實際用眼睛看看吧。

6 則留言:

  1. 這篇文章中許多地方寫了 H.263,不過應該是在說 H.264 吧?

    回覆刪除
  2. 原文:"In the case of the 499kbit/sec H.264 I believe that under careful comparison many people would prefer the H.264 video." 能夠比libtheora 1.1a2好的,應該是H.264喔!
    http://web.mit.edu/xiphmont/Public/theora/demo7.html

    回覆刪除
  3. BCSEEATI, 有部份是 H.263 沒錯, 但 Y.Chao 指出的那邊是 264

    參考:http://zh.wikipedia.org/wiki/H.263

    回覆刪除
  4. 充滿實驗精神呀!!!
    BobChao 真男人

    回覆刪除
  5. 人名打錯了,是 Chris DiBona

    回覆刪除

歡迎留下您的意見