MP4とWebM、どちらで書き出すべきか
サイトがMP4を要求していて、手元のファイルはWebM。これは変換が必要? それとも名前を変えるだけ?
この問いは、実は2つの問いである
MP4とWebMはコンテナです。コンテナは収納の仕組みです。1つ以上のトラックを収め、そのタイミングを記録し、プレーヤーがシークするための索引を保持し、メタデータを運びます。それ自体は何も圧縮しません。圧縮を行うのはコーデックであり、コンテナが運んでいるのは符号化されたビットストリームです。
つまり「MP4かWebMか」は入れ物の問いで、「H.264かVP9かAV1か」が圧縮の問いです。この2つを混同するために、入れ直すだけで済んだファイルを再エンコードし、意味もなく一世代分の画質を失う人が出てきます。
それぞれの中身として一般的なもの
| 項目 | MP4 | WebM |
|---|---|---|
| 基礎となる形式 | ISOベースメディアファイルフォーマット(ISO/IEC 14496-12) | Matroskaのプロファイル |
| 一般的な映像コーデック | H.264、HEVC、AV1 | VP8、VP9、AV1 |
| 一般的な音声コーデック | AAC、まれにAC-3やFLAC | Opus、Vorbis |
| ライセンスの性格 | 特許のあるコーデックが一般的 | ロイヤリティフリーのコーデックを前提に設計 |
| 無難な既定として使える場面 | スマートフォン、デスクトップの再生ソフト、編集ソフト、SNS | ウェブ、特にVP9やAV1と組み合わせる場合 |
どちらの一覧も規則ではありません。コンテナは大部分がコーデックに依存せず、どちらもAV1を運べます。変わるのは、受け取る側のソフトウェアが何を受け付ける用意があるかです。
実際にどこで再生できるか
H.264とAACを収めたMP4は、万能な動画ファイルに最も近い存在です。スマートフォンでもテレビでも、編集ソフトでもメッセージアプリでも再生でき、アップロードフォームが「動画」と言うとき通常想定しているのもこれです。この普及ぶりのおかげで、この15年に出荷されたほぼすべての機器にH.264のハードウェアデコーダーが載っており、それは互換性と同じくらいバッテリー持ちにも関わってきます。
WebMはウェブのために作られ、配信にロイヤリティ義務の生じないコーデックを採用しています。ブラウザでの扱いは良好です。ブラウザ以外のソフトウェアは当てになりません。一部の編集ソフト、一部のテレビ、一部のスマートフォンのギャラリーは開けませんし、同僚がダブルクリックしても何も表示されないことがあります。
リマックスと再エンコードの違い
ファイルの中のコーデックが送り先ですでに受け付けられるものなら、コンテナの変更はリマックスです。符号化されたフレームはそのままコピーされ、書き換わるのは入れ物だけです。速く、可逆で、映像はビット単位で同一です。コーデックが受け付けられない場合、たとえばH.264しか読めないプレーヤー向けにVP9をMP4へ入れる場合は、フレームをデコードして再度エンコードする必要があり、相応の時間がかかり、一世代分の画質を失います。
だからこそ、最初に立てるべき有益な問いは「拡張子は何か」ではなく「中に入っているコーデックは何か」です。FileSlimmerの動画ツールはまずトラックを調べ、送り先が許す限り再エンコードではなくリマックスを行います。
音声トラックを忘れない
音声を無視してコンテナだけを入れ替えると、相性の悪いプレーヤーでは無音のファイルになります。MP4は慣例としてAACを、WebMは慣例としてOpusかVorbisを運びます。OpusをMP4に入れることは仕様上は認められていますが、実際に使われているソフトウェアの多くが対応していません。ですからMP4への誠実な変換とは、通常、音声もAACにエンコードすることを意味します。
クリップに音声がまったくない場合は、書き出すファイルでその旨を明示してください。存在しないトラックを期待して停止してしまうプレーヤーもあります。
短い判断リスト
- 人、プラットフォーム、アップロードフォームに送る場合:H.264とAACのMP4。
- 自分のページからブラウザへ自分で配信する場合:VP9のWebM、またはどちらのコンテナでもAV1。対象が広いならMP4のフォールバックを添えます。
- あとで編集する場合:手元にある最も高品質な元ファイルを、届いたときのコンテナのまま残します。
- コンテナだけが合っておらず、コーデックはすでに適切な場合:再エンコードせずリマックスします。
- 中身が分からない場合:選ぶ前にコーデックを確認します。その答えが、この作業に数秒で済むか1時間かかるかを決めます。
知っておくべき制約
ブラウザでの動画エンコードは、端末が何を提供しているかに左右されます。ハードウェアエンコーダーは形式ごとに用意されているので、あるマシンではH.264は高速でもVP9は低速だったり、特定のコーデックをまったく受け付けなかったりします。対応状況は、同じマシン上でもブラウザによって異なりますし、同じブラウザでもスマートフォン版では異なります。ノートPCなら数秒で終わる変換が、発熱の管理も抱えるスマートフォンでははるかに長くかかることがあります。
内容が理由で大きくなっているファイルを、コンテナの選択で救うことはできません。長くて高解像度で動きの多いクリップは、どのコンテナに入れても大きいままです。それを決めるのは解像度とビットレートと再生時間であり、入れ物を替えてもこれらは変わりません。
この作業に使えるツール
出典
- ISO/IEC 14496-12 — ISO base media file format
- The WebM Project — container guidelines
- ITU-T H.264 — Advanced Video Coding
- MDN — Media container formats and codec support