VIDEO BASICS
MP4は圧縮方式ではない:動画形式の基本
動画について調べると、MP4、H.264、AACといった名前が並びます。しかし、これらはすべて同じ種類の「動画形式」ではありません。動画ファイルの構造を層に分けて見ると、再生できない理由や、画質と容量が変わる仕組みを整理して理解できます。
MP4は動画の圧縮方式ではない
「この動画の圧縮方式は何ですか」と聞かれたとき、ファイル名の末尾を見て「MP4です」と答える人がいるかもしれません。しかしMP4は映像を圧縮する方式の名前ではありません。
MP4は、映像、音声、字幕、再生時間などの情報をひとつのファイルにまとめるコンテナです。その中に入る映像や音声は、それぞれ別の方式で圧縮されています。その圧縮・展開の規則がコーデックです。
たとえば、次の組み合わせはWebでよく使われます。
sample.mp4
├─ 映像:H.264で圧縮
├─ 音声:AACで圧縮
└─ 再生時間などのメタデータ
同じ.mp4という拡張子でも、中の映像がH.264の場合もあれば、H.265やAV1の場合もあります。そのため、MP4ファイルであることだけでは、ブラウザで再生できるとは限りません。
コンテナとコーデックの違い
コンテナとコーデックは、役割を分けて考えると理解しやすくなります。
| 概念 | 役割 | 主な例 |
|---|---|---|
| コンテナ | 映像、音声、字幕などをひとつのファイルにまとめる | MP4、WebM、MOV、MKV |
| 映像コーデック | 映像データを圧縮し、再生時に展開する | H.264(AVC)、H.265(HEVC)、VP9、AV1 |
| 音声コーデック | 音声データを圧縮し、再生時に展開する | AAC、Opus、MP3、FLAC |
たとえるなら、コンテナは荷物をまとめる箱、コーデックは箱に入れる荷物を小さくする方法です。ただし、どの荷物でもどの箱に入れられるわけではありません。コンテナごとに格納できるコーデックの組み合わせが決まっています。
コンテナがいくつも存在するのは、企業や標準化団体、オープンソースプロジェクトが、それぞれ異なる時代や用途、ライセンス方針を背景に開発してきたためです。たとえばMP4は幅広い機器での互換性、MKVは多様な映像・音声・字幕やメタデータを格納できる柔軟性、WebMはオープンなWeb動画としての扱いやすさを重視しています。
映像・音声コーデックにも多くの種類があるのは、画質・音質、圧縮効率、処理負荷、遅延、ライセンス、対応機器など、重視する条件が用途や時代によって異なるためです。新しいコーデックは、同程度の品質をより少ないデータ量で表現することを目指す場合が多い一方、再生時の処理負荷や対応機器の少なさが課題になることもあります。
動画を再生する側には、次の両方が必要です。
- コンテナを読み、内部のデータを取り出せること
- 取り出した映像と音声のコーデックをデコードできること
このどちらかに対応していなければ、ファイルを開けても映像が出ない、映像は出ても音が出ない、といったことが起こります。
動画ファイルの中には複数のトラックがある
コンテナ内の映像や音声は、ストリームまたはトラックと呼ばれる単位で格納されます。一般的な動画は映像トラックと音声トラックをひとつずつ持ちますが、複数のトラックを持つこともできます。
movie.mp4
├─ 映像トラック:本編映像
├─ 音声トラック1:日本語
├─ 音声トラック2:英語
├─ 字幕トラック1:日本語字幕
└─ 字幕トラック2:英語字幕
再生ソフトはコンテナを読み取り、必要なトラックを選び、それぞれを対応するコーデックでデコードします。ひとつのファイルで音声言語や字幕を切り替えられるのは、この構造によるものです。
コンテナには、タイトル、撮影日時、回転方向、チャプターなどのメタデータを保存できる場合もあります。スマートフォンで縦向きに撮影した動画が正しい向きで表示されるかどうかにも、映像そのものだけでなく、回転情報の扱いが関係します。
画質と容量を決める3つの要素
コンテナとコーデックが同じでも、画質やファイルサイズは同じにはなりません。特に影響が大きいのが、解像度、フレームレート、ビットレートです。
解像度
解像度は、1フレームを構成する画素数です。1920×1080はフルHD、3840×2160は4Kと呼ばれます。解像度が高いほど細部を表現できますが、その分だけ圧縮前の情報量が増えます。
ただし、4Kだから必ず高画質とは限りません。ビットレートが不足すると、輪郭が崩れたり、動きの多い場面にブロック状の乱れが出たりします。
フレームレート
フレームレートは、1秒間に表示する画像の枚数で、fpsという単位で表します。24fps、30fps、60fpsなどが一般的です。フレームレートが高いほど動きを滑らかに表現できますが、同程度の画質を維持するには、より多くのデータが必要になります。
ビットレート
ビットレートは、1秒間の映像や音声に使うデータ量です。一般に、同じコーデック、解像度、フレームレートなら、ビットレートを高くするほど圧縮による劣化は少なくなり、ファイルサイズは大きくなります。
ファイルサイズは、おおよそ次の式で見積もれます。
ファイルサイズ ≒ 映像と音声の合計ビットレート × 再生時間 ÷ 8
たとえば、合計5Mbpsの動画が10分ある場合、概算サイズは約375MBです。実際の容量は、可変ビットレートの使い方、メタデータ、映像の内容などによって変わります。
コーデックには「同じ見た目を、どれだけ少ないデータ量で表現できるか」という圧縮効率の違いもあります。そのため、異なるコーデックの動画をビットレートだけで単純に比較することはできません。
圧縮とシークに関係するキーフレーム
圧縮された動画には、1枚の画像として完結しているキーフレームと、前後のフレームとの差分を記録したフレームがあります。キーフレームから次のキーフレームまでのまとまりは、GOP(Group of Pictures)と呼ばれます。
キーフレームの間隔を長くすると圧縮効率を上げやすい一方、途中位置からの再生やシークには不利になることがあります。動画の扱いやすさは、解像度やビットレートだけでなく、時間方向にどう圧縮されているかにも左右されます。
Webで再生できるかは組み合わせで決まる
Webブラウザでの再生可否は、拡張子だけでは決まりません。少なくとも、次の組み合わせが影響します。
- コンテナ
- 映像コーデックと、そのプロファイル・レベル
- 音声コーデック
- 色深度やピクセルフォーマット
- ブラウザ、OS、端末が利用できるデコーダー
たとえばH.264には、Baseline、Main、Highなどのプロファイルがあります。プロファイルは圧縮に使える機能を、レベルは解像度、フレームレート、ビットレートなどの上限を表します。高度な設定ほど、古い端末では対応できないことがあります。HDRや10ビットカラーも、ブラウザだけでなくディスプレイやOSを含めた対応が必要です。
現在の主要なブラウザを広く対象にする場合、MP4コンテナ、H.264映像、AAC音声は互換性を確保しやすい組み合わせです。一方で、MP4という名前だけを確認しても、中のコーデックまでは分かりません。最終的には、実際に使用するブラウザと端末で再生を確認する必要があります。
Web向けMP4では「再生開始までの位置」も重要
MP4には、映像の構成や再生時間を示すmoovと呼ばれる情報があります。この情報がファイルの末尾にあると、ブラウザは動画を多く読み込むまで再生を始められない場合があります。
moovをファイルの先頭側へ移す処理は、一般にWeb最適化またはFast Startと呼ばれます。これは画質を変える設定ではなく、ファイルをすべて取得する前に再生を始めやすくするための配置変更です。
また、配信するサーバーがHTTPのRangeリクエストに対応していると、ブラウザは動画の必要な範囲だけを取得できます。途中位置へのシークや、再生再開のしやすさに関係するため、Web動画ではファイル形式以外の配信設定も重要です。
Tamareelが推奨する動画形式
Tamareelでは現在、アップロード時に選択した動画をそのブラウザで再生できるか確認し、再生可能な動画を元の形式のまま保存・再生します。そのため、ファイル名が.mp4かどうかだけで判定するのではなく、実際のコンテナとコーデックの組み合わせが重要です。
幅広いブラウザと端末で再生しやすくするため、次の形式を推奨しています。
| コンテナ | MP4 |
|---|---|
| 映像コーデック | H.264(AVC) |
| 音声コーデック | AAC |
| Web向け設定 | Web最適化(Fast Start)を有効にする |
動画を選択したときに再生非対応と表示される場合は、HandBrakeのFast 1080p30プリセットを使用し、ウェブ用に最適化を有効にして変換してください。詳しい手順は「動画を変換してアップロードする」で説明しています。
まとめ
動画形式を理解する第一歩は、コンテナとコーデックを分けて考えることです。そのうえで、トラック、解像度、フレームレート、ビットレートまで押さえると、動画ファイルの中身と画質・容量の関係が見えてきます。
Webで確実に再生するには、さらにブラウザや端末の対応、コーデックのプロファイル、色の形式、MP4のWeb最適化、サーバーのRangeリクエスト対応も関係します。「MP4なら必ず再生できる」のではなく、コンテナ、中身、再生環境の組み合わせで決まると覚えておくのがポイントです。
参考にした情報
- MDN:メディアコンテナ形式
- MDN:Web動画コーデックガイド
- MDN:HTMLMediaElement.canPlayType()
- HandBrake公式ドキュメント:プリセット
- HandBrake公式ドキュメント:コンテナ形式
内容は2026年9月時点の情報とTamareelの現在の仕様をもとにしています。ブラウザや端末の対応状況、サービスの仕様は変更されることがあります。