2010 年の Google I/O で発表された video 要素のコーデック WebM.
Lab 版では対応してるけども,Weekly は対応してないし,10.53 以前もやっぱり対応してない.
ただし,LGPL でコードは公開されてるGStreamer source code ので作ってみたらあっさり gstreamer ディレクトリを入れ替えるだけで再生出来るようになったので,その作成方法のメモ.
d100301_opera_1050_gstreamer_dll のWebM 対応版.
準備
- git
Perl
- Msys 環境なら perl 5.6.1 がデフォルトで入るはずなので特に問題無し
- ActivePerl や strawberryPerl を入れるも良し
VC / Visual Studio 2008
- VCEE でも動くだろうけど未確認
- MS VS 2010 Pro. RC でも行けるだろうけど未確認
Yasm
ビルド
GStreamer source code のページに従って最新の gstramer のソースを落としてくる.
Yasm を Visual Studio から使えるようにしておく.
- http://www.tortall.net/projects/yasm/wiki/VisualStudio2005 に従って,yasm.exe を vc\bin におき,yasm.rules を vc\vcprojectdefault に置く.
- Program Files 以下の書き換えは UAC 的にどうかと思うけど,手っ取り早く.
- http://www.tortall.net/projects/yasm/wiki/VisualStudio2005 に従って,yasm.exe を vc\bin におき,yasm.rules を vc\vcprojectdefault に置く.
gst-opera\libvpx\vpx.sln を開いて,ビルド
gst-opera.sln を開くまえに,各プロジェクトの中間フォルダの設定を変える.
- コンパイルにとくに支障はないがエラーが鬱陶しいので各 vcproj で使う中間フォルダを別々のフォルダになるようにしておく.
- 具体的には,
IntermediateDirectory="$(ConfigurationName)"
となっているのを,IntermediateDirectory="$(ConfigurationName)\$(ProjectName)"
とすべて書き換える.
ここまで来たら,perl にパスを通した上で,Visual Studio 2008 コマンドプロンプトから, devenv gst-opera.sln /rebuild release
としてビルド.
うまく行けば,gst-opera\Release
以下に gstreamer.dll
と 各種 codec 用の dll が出来上がるので,opera のインストールディレクトリの gstreamer\gstramer.dll
と gstreamer\plugins
をそれぞれ差し替えてみる.
適当に video を使ってるページhttp://www.youtube.com/watch?v=HOfdboHvshg&html5=True を開いてWebM で再生できればOk.
とりあえず,10.54.3394, 10.60.3400, 10.60.3403 では再生出来るようになった.が,再生出来ないものもあるし,再生途中でOpera が落ちるなど不安定すぎるので,実験以外にはおすすめしない.