記事一覧へ戻る
フォーマット比較

MP4 vs WebM vs MOV vs MKV — どの動画コンテナを選ぶべきか

動画コンテナ 4 種を、内部コーデック (H.264 / H.265 / VP9 / AV1)・互換性・用途 (配信 / 編集 / 保存) で比較。SNS 投稿・編集ソフト・Web 埋め込みでの最適解を整理します。

コンテナとコーデックは別物 — 4 つの判断軸

最初に押さえておきたいのは、MP4 / WebM / MOV / MKV は コンテナフォーマット であってコーデックではない、ということです。コンテナは「映像ストリーム + 音声ストリーム + 字幕 + メタデータをひとつのファイルに束ねる入れ物」で、中に入る映像コーデック (H.264 / HEVC / VP9 / AV1) と音声コーデック (AAC / Opus / Vorbis) は別の話。「.mp4 だから H.264 とは限らない」「同じ AV1 を MP4 にも WebM にも詰められる」のはこのためです。

判断軸は 4 つ。主に何のコーデックを束ねるか (実運用での組み合わせ) は再生互換性に直結します。互換性 は SNS / ブラウザ / iOS / Windows でどこまで素直に再生されるかを決めます。用途 は配信なのか編集なのか保存なのかで最適解が変わります。編集ソフト対応 は Final Cut / Premiere / DaVinci Resolve / Avid との相性で、ワークフローの摩擦に直結します。

4 コンテナの比較表

項目MP4WebMMOVMKV
主な映像コーデックH.264 / HEVC / AV1VP9 / AV1H.264 / ProRes / HEVC何でも (H.264 / HEVC / VP9 / AV1)
主な音声コーデックAAC / MP3Opus / VorbisAAC / PCM / ALACAAC / Opus / FLAC / AC3
ライセンスコーデック側に依存 (H.264 / HEVC は MPEG LA)ロイヤリティフリー (VP9 / AV1 / Opus)コーデック側に依存コンテナ自体は自由
SNS 対応X / Instagram / TikTok / YouTube 全部 OKYouTube 内部・Web のみアップロード時に再エンコードほぼ非対応 (要事前変換)
ブラウザ再生ほぼ全てChrome / Firefox / モダン EdgeSafari と一部ほぼ非対応 (要拡張)
字幕複数トラック限定的 (TX3G)限定的限定的得意 (PGS / SRT / ASS / 多言語)
編集ソフト全 NLE で読める限定的 (Web 寄り)Final Cut / Premiere の標準対応が分かれる
規格化2001 (ISO/IEC 14496-14)2010 (Google)1998 (Apple QuickTime)2002 (Matroska プロジェクト)

「主な」と書いた列は、コンテナの仕様ではなく 実運用で組み合わされる比率 を指しています。仕様上は MP4 に Opus を入れることも (2018 年に MP4 仕様改訂で公式対応) MKV に H.264 を入れることもできますが、再生互換性の現実は「典型的な組み合わせ」で決まります。

用途別のおすすめ

SNS 投稿 (X / Instagram / TikTok / YouTube): MP4 (H.264 + AAC)。プラットフォーム側で再エンコードされる前提でも、入稿時の互換性が最も安定します。HEVC や AV1 を MP4 に詰めて投稿しても受け付けますが、古い端末で再生できない問題は受け側に転嫁されます。

自分のサイトに埋め込む動画: WebM (VP9 または AV1) を第一選択に MP4 (H.264) フォールバック。<video> タグの <source> を 2 段にする構成です。WebM は同等品質で 30-50% サイズが小さくなることが多く、配信コストとページ表示速度に効きます。

Final Cut Pro / Premiere Pro での編集: MOV (ProRes または H.264)。Apple の QuickTime コンテナで、編集ソフトのネイティブ対応が最も厚い。プロジェクトの中間ファイルは ProRes が定番で、編集中の劣化を避けられます。

家庭サーバーや NAS への長期保存・多言語音声つき映画: MKV。複数音声トラック・複数字幕 (SRT / ASS / PGS) を 1 ファイルにまとめられ、コーデックも自由。再生環境を VLC / mpv / Plex 前提にできるなら最強の選択肢です。逆に Apple TV / iOS 標準アプリでは再生できないことが多く、配信用途には不向き。

ブラウザだけでコンテナを変換する方法

「H.264 入りの MOV を MP4 にしたい」「WebM を MP4 にして SNS に上げたい」のような変換は video-convert で完結します。ffmpeg.wasm を使って MP4 / WebM / MOV / MKV / AVI 間を相互変換し、出力コーデック (H.264 / VP9 など) も選べます。アップロード型のオンライン変換と違って、撮影素材や編集中の動画を外部サーバーに渡すコード経路がそもそも存在しません。

注意点は コンテナだけ詰め替えたいのか、コーデックも変えるのか を意識すること。MOV (H.264 + AAC) → MP4 (H.264 + AAC) のように中身のコーデックが同じならコンテナ詰め替えで済み、画質劣化はゼロです。一方で WebM (VP9) → MP4 (H.264) はコーデックが変わるので非可逆再エンコードになり、繰り返すと画質が削れます。サイズだけ落としたい場合は video-compress でビットレートを再選択する方が、コンテナ変換を繰り返すより安全です。実装は GitHub で公開しており、DevTools の Network タブで「変換中に映像データがどこにも送信されていない」ことを目視確認できます。