FFmpeg:パソコン画面を無劣化で録画&WebM形式に変換(2015/05/10)に書いた方法だと、なぜかChromium43やOpera28で正常に再生されないと分かり、Chrome43でも同様でした。いろいろ試した結果、FFmpegの使い方はそのまま変えず、できたWebMをMKVToolNix(に含まれるコマンドラインツールのmkvmerge)で単純に保存し直たらChome他で正常再生できるようになり、これまでUPした動画を全て差し替えました。実行環境はWindows 7 32bit + MkvToolNix 7.9.0。
» MKVToolNix - Matroska tools for Linux/Unix and Windows
WebM再保存コマンドと、エンコード用バッチファイル修正版
上記ウェブページからWindows用ファイルが置いてあるサイトへ行き、Windows portable (32bit)を選択してmkvtoolnix-32bit-7.9.0.7zをダウンロード。中にいろいろ入っていますが ↓ 今回必要だったのはmkvmerge.exeだけで、適当なフォルダに解凍します。
単純に保存し直すだけなので、mkvmerge [入力.webm] -o [出力.webm]というコマンド。リファレンスでは入力ファイルを最後に置く書式になっているところ、逆でも動きました。実行すると一瞬で終わり(最後の行にMuxing took 0 secondsと)↓ 何も変わらないと思いきやファイルサイズが微妙に減っており、これでChromeが正常再生できるWebMになりました。
この再保存コマンドを、パソコン画面を無劣化で録画&WebM形式に変換(2015/05/10)に書いたエンコード用バッチファイルに追加した例 ↓ です。mkvmergeでは上書き保存ができないようなので、一時ファイルが一つ増えます。ついでに、エンコード時にオプション「-quality best」を指定したら少しファイルサイズが減ったので追加。
ビフォー&アフター
↓ 修正前・後のWebMをローカルに置き、Chromium43で開いた様子の静止画です。修正前はアプリケーション内がほぼ真っ黒で、動画を背景が白のウェブページに埋め込むと真っ白になるので、アルファチャンネル絡みの問題だったのかも。
↓ 修正前・後の埋め込み動画。Firefox38など正常に再生される環境では差がないと思います。