• VP9とvideoタグを試す

    2014年03月22日 22時22分
    Firefox 28のリリースノートの中にVP9に対応したというのが書いてあるのを見て
    VP9をいつか試そうと思っていたのを思い出したので試しました。


    VP9にエンコードするにはリファレンスエンコーダのvpxencがあります。
    vpxencはlibvpxに含まれているので、さっそくソースを入手してきたのですが
    ビルド手順はまずCygwinをインストールして~から始まっていたので面倒くさくなってやめました。

    古いドキュメントだとVSのプロジェクトファイルを使ってビルドしてねとか書いてあるのですがそんなものは入っていません。
    たぶんCygwinでええやん?みたいなノリで切られたのだと思われます。

    Unix系の環境の方は普通にlibvpxをビルドすればいいと思いますが
    私の環境ですとエンコ出来るパワーを持つマシンはWindowsなのでWindowsで動くものが欲しいわけです。


    その他の手段としてFFmpegがlibvpxを取り込んでいるのでこれを使うのが簡単だと思います
    自分でビルドするのは面倒なのでもちろんZeranoe FFmpeg Buildsを使います。

    今回はとりあえず動けばいいのでエンコードオプションは特に詰めてません。
    このあたりこだわり出すときっと大変なので・・・

    ひとまず品質だけ適度に指定してエンコードしました。
    VP9でエンコードするにはvideo codecにlibvpx-vp9を指定します。
    ffmpeg -i test.avi -f webm -vcodec libvpx-vp9 -b 2048k -level 100 -threads 4 -acodec libvorbis -aq 8 test_20140322.webm


    完成した物がこちらです。FirefoxとChromeは見られると思います。(映像ソースはFF14を録画した1920 * 1080 FPS30の動画です)

    ※回線がやばそうだったりディスクがやばそうだったりした場合このファイルは予告なく削除されます。ファイルが無くなったらそういうことです。


    エンコードして驚いたのが速度です。
    FPS 1.1とか衝撃的なスピードが出ています。
    一応使用したマシンのCPUがCore i7 3770というそこそこいい奴にもかかわらずです。

    level設定失敗したか?と思って300でも試してみたのですがFPS 3とかで大差ありません。(いやまあ3倍といえば3倍なのですが)
    いくらなんでももう少し早くないと実用には厳しいのではないでしょうか。(設定調整で改善するか?)

    映像のクオリティについては私はよくわからないので何とも言えません。
    この先は君の目で確かめてくれ!!

    コメントを書く

    名前
    本文
    編集用パスワード
    管理者のみ閲覧