Ogg Theoraはどのくらい良いのか?

フリーな動画フォーマット、Ogg Theora。こないだ晴れてバージョンが1.0になったので注目を浴びている。いまどきはだいたいMP4(H.264/AAC)が良いとは思うが、永続的に保存する場合はフリーなものという選択肢もある。H.264もいつまで主流か分からないしね。

TheoraはWindows用のコーデックを入れればメディアプレイヤーで再生できるようになる。H.264のMP4はffdshowを入れれば同様にメディアプレイヤーでの再生が可能(ffdshowの新しいのはTheoraにも対応してるのかな?)。デジカメのMotion JPEGのaviは何も入れなくても再生可能。

というわけで、圧縮率を比較してみよう。デジカメを買い替えて、時代によって動画の構成が変わるので、それぞれについて、全部エンコードしてみた。

theoraはffmpeg2theoraでオプションなしでエンコード。H.264は以下のようにエンコード。

# ffmpeg -i $input -f mp4 -vcodec libx264 -qscale 20 -acodec libfaac -ar 8000 -ab 32 $outp
ut

H.264の動画はこの設定では音声がかなり不自然になってしまうような…。実際に使うためにはオプションを調整することになるだろうけど、サイズの比較には使えるんじゃないかと思う。

  元データ(motion JPEG) Theora H.264
EXILIM時代 35.54MB 24.88MB(70%) 17.39MB(49%)
Optio時代 70.93MB 22.55MB(32%) 18.32MB(26%)
GRD時代 3763.20MB 1458.04MB(39%) 705.16MB(19%)

GRD時代のファイルがやたらに大きいのは、子供をたまに撮るようになったということと、解像度とFPSが上がったため(320×240/15FPS → 640×480/30FPS)。目安的には、1分で100MBくらいになるという印象。

サイズはやはりTheoraよりもH.264のほうがかなり小さくなる。Theoraもmotion JPEGよりはだいぶ良いと思います。

エンコード時間に関しては、H.264がGR時代の動画をほぼ1倍(動画の長さ=エンコード時間)、悪く見てもせいぜい1.5倍の時間でエンコードできているのに対し、Theoraはだいたい3倍くらいと遅い。これはちょっと分が悪いな。

しかし全部エンコードするのには大変な時間がかかりましたよ…

コメント

  1. gzipとbzip2を比較するならともかく、非破壊圧縮同士を比較しても、エンコーダのデフォルト設定を比較することにしかならないと思います。

  2. 動画の壊れ方(?)の指標ってどう求めるのですかね~。
    オリジナルのmotion JPEGの絵と、エンコード→デコードした後の絵をそれぞれ対応するフレームごとに比較、差分を見てスコアにしていけばいいのかな…

  3. ×非破壊→○破壊でした。。。

    その評価方法で良さそうですね。他のサイトでは、同じビットレートにしておいて「こっちの方がきれい」などと言っているのをよく見かけます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です