というわけである程度検証も終わりまして公開の基準に達していることを確認しましたのでこのタイミングで公開します。
VisualStudio2010への更新がメイン
どちらもメインはそれです。内部のライブラリを更新したり本体のプロジェクトを更新したりといろいろと大変でした。前に書いたVS2005からVS2010への更新の仕上げtの一つ、というところですね。なお、この更新でOSのサポートからWin2000を外すようにしています。一応WinXPでも(仮想マシン上ですが)動作することは確認していますので動作可能OSには残してあります。OSのサポートが切り替わったが機能的に何も変わっていない・・・と思ったら大間違い。
WebMでのVP9に対応
VS2005からVS2010に書き換えるときに各種ライブラリも一気に新しくしました。おかげでライブラリの状態を整合させるのに苦労したのですが。まあ、それはおいておくとしても、そのタイミングでWebMや関連ライブラリも最新になりました。おかげでいつの間にか発表されて実装されていたVP9にも対応した形になっています。WebM経由なのでそこまで使用されるわけではありませんがそれでも対応している形式が増えるのはいいことだと思います。
ただ、テスト環境を作るのにとてつもなく苦労しました。最大の問題点はVP9のエンコードが遅いこと遅いこと・・・プログラムの最適化の問題かどうか知りませんがVP8を選択したときに比べてだいたい数十倍時間がかかる状態に。おかげでVP9に対応しているのかどうかを確認しているか確認するためのサンプル動画を作るだけで莫大な時間がかかってしまいました。・・・ちゃんとテストはしたので再生できますよ。
そういえばWebMのライブラリにDirectShow向けのライブラリとMediaFoundation向けのライブラリの両方が含まれていたんですよね・・・。うまく使えばMediaFoundation側の処理も拡張できたかも。再生できるのであれば無視して良さそうな気がするので今のところは無視で。
サウンドのCodecにOpusというものがあるのか~
前まではWebMにはVorbisを組み合わせるのが常套だと思っていましたが、その辺の形式も自由度が上がったらしく、テストで使ったエンコーダではWebM形式選択時にサウンドラインにOpusという形式が使用できるようになっていました。はじめこれに気がつかずに変換してしまいサウンドラインがテストできない、という事態に。ちょっと焦ってしまいました。その後でVorbis形式でテストし直しました・・・。
そうなると次の改良点はOpusに対応するところでしょうか。ちょっと調べてみるとVorbisなどと同じビットレートで同等の音質でありながら低遅延の処理が可能でインターネット経由のストリーミング形式として使用するとよい、ということが書いてありました。そうなると時間があれば次のゲームシステムに組み込んだり今回バージョンアップした二つで再生できるようにしてみたりといろいろと用途はありそうな感じです。ライセンスもBSD系のライセンス(Mozilla系列が使うライセンス)のようでしたのでちょっと考えてみたいと思います。