残念ながら、一般的なブラウザーはそれぞれ、HTML 5 ビデオの色を異なる方法で処理するため、一貫した色を得ることが困難です。
H.264 (MP4) ビットストリームは、オプションで、使用している原色、伝達特性、マトリックス係数のセットをエンコードできます。これらは、たとえば次のように設定できますffmpeg -x264opts colorprim=bt709:transfer=bt709:colormatrix=smpte170m
. 少なくとも Mac OS X では、Safari と Quicktime は H.264 ビデオのこれらのビットに注意を払い、色を指定されたエンコーディングからモニターのカラー プロファイルに変換して、きれいで一貫した色を生成します。ただし、Chrome はこれらのビットを無視するだけで、H.264 と VP8 ビデオの両方が BT.709 原色を使用していると想定しているようです (VP8 仕様では BT.601 である必要がある VP8 SD ビデオの場合でも)。モニターのカラー プロファイル。一方、Firefox は VP8 ビデオ要素の出力変換をスキップしているようで、モニターが sRGB であると想定しているだけなので、カラー プロファイルが異なるモニター間で色が一貫しておらず、広色域モニターではかなりずれている可能性があります。(私は Mac でのみテストしました。ブラウザーは別の OS では異なる動作をする可能性があります。)
申し訳ありませんが、良い解決策はありません。canvas を使用して Javascript でビデオを操作することで問題に対処できる場合がありますが、そのような方法ではパフォーマンスが低下する可能性があります。