ページ

2012年8月9日木曜日

久々にOgg Theora の話題

先日、WebRTCのMTI(Mandatory To Implement)コーデックの話題で、ビデオコーデックはVP8かH.264かでまだ揉めていると書きましたが、ふと、もう一つのパテントフリーかつオープンソースなビデオコーデックである「Theora」の事が頭に浮かんできました。

バージョンアップ版とも言えるVP8がオープンソース化された時点で、Theoraの重要度はかなり下がっているのは事実なのですが、調べてみると意外と使われてるみたいですね:-P

信ぴょう性は定かではありませんが、XiphのWikiによると、あの「Diablo III」のカットシーンにTheoraが使われているらしいです。同じブリザードの「StarCraft II」にも使われているらしいです。H.264はそんなにライセンス料は高くないですがMP4として使う場合、音声部分のAACは結構ボッタクリ値段らしいですからね。まぁMP3でも良いんでしょうけど。

ライセンス以外にクロスプラットホームの柔軟さもTheora選択の理由かもしれませんね。残念ながらLinuxにはネイティブで対応していませんが、Macには対応しているようですし。Theoraじゃなくて、Ogg Vorbisだと更にいろいろなゲームに使われてますからね。例えばPC版の「Halo」とか。ちなみにOgg Speexも、Xbox Liveチャットに使われてたりしたようです:-P

ちなみに、ライセンス料ですがMPEG2も高いみたいです。Raspberry PiのGPUはOpenMax経由でMPEG2のハードウェアデコードも可能なのですが、ライセンス料が3-4ドルくらい掛かるらしいので、諦めたそうです。何せ売値が35ドルと25ドルですからね。MPEG2の再生だけで10%も持ってかれるのは堪らんでしょうし。これ以外にH.264も払わないといけない訳ですし。

もう一つの話題は「TheoraPlay」です。これは、あの「Ryan C. Gordon」氏が「Humble Indie Bundle 4」の「Shank」というゲームをクロスプラットホーム化した際の副産物で、Ogg Theoraのゲーム内での取り扱いを簡素化するモノらしいです。

このTheoraPlay誕生の経緯も書かれていましたが、結構面白かったです。このShankというゲームは「Scaleform」というミドルウェアを使用しているそうなのですが、移植する最中に「Scaleform Video」のビデオコーデックだけが、どうしてもWindows以外へ移植する事が出来なかったらしいのです。ちなみに、このコーデックは「CRI Movie 2」らしい?

仕方がないので、Scaleform Videoのコーデックを「Bink Video」でエンコードし直そうと思ったらしいのですが、その時に「Ogg Theora」の事を思い出し、試してみた所、性能的には十分であると判断して、Shankで使えるように作ったプログラムが「TheoraPlay」らしいです。お金も浮きますからね:-P ちなみに以下のような特性があるそうです。
The benefits of this library are:
- It's simple to use.
- You don't need to know anything about Ogg Theora to pull video
and audio out of an .ogv file.
- It decodes on a background thread, behind the scenes, so you can get a
performance boost on multicore CPUs.
- It supports output in various video formats (YV12, IYUV, RGB, RGBA).
- It can decode from a filename, or from an i/o callback you provide.
- It's one .c source file and two .h headers that you drop right into
your project (plus libogg, libvorbis, and libtheora).
- It's zlib-licensed, which is even more liberal than the Theora license!
似たような事例は「ScummVM」にもあったそうです。以下、ウィキペディアから引用。
Broken Sword にはScummVM上でカットされたシーンがあるが、これはオリジナルがリリースされた際に Smacker video というフォーマットを使っていて、その開発元である RAD Game Tools が古い Smacker フォーマットの仕様を明らかにしておらず、ScummVMチームに対してもリバースエンジニアリングしないよう依頼したためである。そこで Revolution Software は再エンコードした版をScummVMのウェブサイトに置き、ダウンロード可能にした。
今はH.264とか汎用性があるビデオコーデックがいくつかありますから、ライセンスを気にしなければ、移植性はそんなに厳しくないでしょうが、Shankのような例もありますし、これからゲームを作ろうと思っている人は、参考になるかもしれませんね:-P

あと、Theora自体の話はないのですが、「Synology」という新興のNASメーカーのウェブサイトで、Ogg Theoraが使用されていました。使用例は少ないですが、こういった企業のPRビデオにも使われていると思うと、なかなか楽しいですよね。ちなみにSynologyのNASは、結構オススメです。オープンソースソフトウェアを上手く使っている印象を受けますし。日本だと価格がちょっと高めなのが玉に瑕ですけど:-(

#YouTube
Diablo III Cinematic Teaser - YouTube
http://youtu.be/EgbUSsblCSQ



Shank - Gameplay Trailer PAX 2009 [HQ] - YouTube
http://youtu.be/-uQv6blO350



#外部リンク
Games that use Theora - XiphWiki
http://wiki.xiph.org/Games_that_use_Theora

Games that use Vorbis - XiphWiki
http://wiki.xiph.org/Games_that_use_Vorbis

TheoraPlay
http://icculus.org/theoraplay/

Dog days are over.
http://icculus.org/cgi-bin/finger/finger.pl?user=icculus&date=2012-01-02&time=03-11-15

ScummVM - Wikipedia
ScummVM - Wikipedia

Scaleform - Features - Video / IME | Autodesk Gameware
http://gameware.autodesk.com/scaleform/features/videoime

Bink Video!
http://www.radgametools.com/jp/bnkmain.htm

Synology Inc. ネットワーク接続ストレージ (NAS) - 新しいNASの使用感
http://www.synology.com/index.php?lang=jpn

自分専用のクラウドとして活用する - Synology Inc. ネットワーク接続ストレージ (NAS) - 新しいNASの使用感
http://www.synology.com/support/video_your_cloud.php?lang=jpn

#内部リンク
BLOG.MINAWA.NET: Theoraってどうなるの?
http://blog.minawa.net/2010/05/theora.html

0 件のコメント:

コメントを投稿