MP4ファイルの内部構造|映像・音声ストリームとコンテナの仕組み
2026-04-03
MP4は現代で最も広く使われる動画コンテナフォーマットです。「.mp4」という拡張子の中には、映像ストリーム・音声ストリーム・字幕・メタデータが構造化されて格納されています。MP4の内部構造を理解することで、VideoAudioTuneのような音声処理ツールの仕組みが深く理解できます。
MP4の規格:ISO Base Media File Format
MP4ファイルフォーマットはISO/IEC 14496-12規格(ISO Base Media File Format・ISOBMFF)を基盤としています。同じ規格を基盤とするフォーマットにMOV(QuickTime)・3GP(モバイル動画)・HEIF(静止画)などがあります。これが、MP4とMOVが内部的に似た構造を持つ理由です。
IOSOBMFFは「box(またはatom)」と呼ばれる階層構造のデータブロックで構成されます。各boxはサイズ・タイプ識別子(4バイトのASCII文字)・データの3つの要素を持ちます。boxは入れ子(ネスト)構造を取ることができ、ファイル全体が木構造として組織されています。
主要なboxの種類と役割
ftyp(File Type Box):ファイルの先頭に位置し、ファイルの互換性情報(ブランド・バージョン)を格納します。mp4プレーヤーはこのboxを見てMP4ファイルと識別します。moov(Movie Box):動画全体のメタデータを格納する最重要のboxです。再生時間・トラック情報・コーデック情報・チャプター情報・再生速度などが含まれます。mvhd(Movie Header Box):動画の全体的な情報(タイムスケール・再生時間・著者情報等)を持ちます。
trak(Track Box):1つのメディアストリーム(映像または音声)を表すboxです。通常、動画には少なくとも2つのtrakがあります(映像トラックと音声トラック)。mdat(Media Data Box):実際の映像・音声の圧縮データが格納される場所です。VideoAudioTuneで処理されると、音声トラック(音声のtrak)のデータが置き換えられ、映像トラック(映像のtrak)のデータはそのまま保持されます。
映像ストリームと音声ストリームの分離
MP4ファイル内の映像トラック(trak)と音声トラック(trak)は独立した構造として格納されています。このため、映像トラックと音声トラックを個別に操作することが技術的に可能です。映像トラックをコピーしながら音声トラックだけを入れ替えるという操作が、ストリームコピー技術の根拠です。
ffmpegの-c:v copyオプションはmdatの映像データをデコードせずにそのまま出力ファイルのtrak/mdatに複製します。これにより映像の品質が完全に保たれます。新しい音声データは処理されたAACとしてエンコードされ、音声trakとして合成されます。最終的なmoovボックスには新しい音声トラックの情報が更新されます。
コーデックとコンテナの関係
MP4コンテナは特定のコーデックに依存しない設計です。映像コーデックにはH.264(AVC)・H.265(HEVC)・VP9・AV1が格納でき、音声コーデックにはAAC・MP3・AC3・EAC3・PCMなどが格納できます。ただし、特定のコーデックの組み合わせは互換性の観点から制限がある場合があります。
最も広く対応されている組み合わせはH.264 + AACです。これがYouTube・SNS・ブラウザでの動画再生において事実上の標準です。VideoAudioTuneの出力は入力ファイルの映像コーデック(H.264またはH.265)をそのまま保持し、音声コーデックをAACに設定します。これにより、出力ファイルは最大限の互換性を持ちます。
faststart(moovのpre-positioning)
MP4のストリーミング再生最適化として「faststart」(QuickTimeでは「progressive download」とも呼ばれる)があります。通常のMP4では、動画全体のメタデータ(moovボックス)はファイルの末尾に置かれることがあります。この場合、Webブラウザでの再生でファイル全体をダウンロードするまで再生できません。
fasttartを設定すると、moovボックスがファイルの先頭(またはftypの直後)に移動します。これによりブラウザはファイルの冒頭のメタデータを読み込むだけで再生開始でき、バッファリングなしにプログレッシブ再生(ストリーミング再生)が可能になります。ffmpegでは-movflags +fasttartオプションで設定できます。VideoAudioTuneもMP4出力時にfaststartを適用することで、Webブラウザでの再生互換性を高めています。
まとめ
MP4ファイルはISO Base Media File Formatに基づく階層構造のコンテナで、映像・音声を独立したトラックとして格納しています。この構造により、映像品質を保ったまま音声トラックだけを差し替えることが技術的に可能です。VideoAudioTuneはこの特性を活用して、映像を再エンコードせずに音声だけを高音質化しています。