MP4を理解する
https://scrapbox.io/files/6417fcdba20576001c8e271f.png
Boxは、Header部(8バイト、オクテット)とData部で構成される。 Header部は、Box自身のバイトサイズを表すsize(4バイト)と、Boxのタイプを表すtype(4バイト)をこの順番で持つ。
Boxが木構造といわれる理由は、Data部にある。
BoxのData部には、子Boxか、Boxの持つデータが入るのである。
size - 8 = Data部のバイトサイズ
り、リンク切れしてる・・・;;
Boxの種類について詳しい.
1. 映像と音声をズレないよう同期させる
MPEG2ではDTS、PTS、PCRといったタイムスタンプ情報が充実しており同期に関してこれを越えるフォーマットは存在しないと思われる。
MPEG4ではDT(Decoding Time)、CT(Composition Time)というものがそれらに相当する。
2. ランダムアクセスを可能にする
MPEG2システムでは上記時刻情報を元にシークするしかない。ファイルのお尻のほうのPCRから全体の時間を求め、ファイルポインタを大雑把に進めてから細かい探索を行う。
MPEG4では基本的にオフセット情報で管理されているため直接目的の位置に飛べそうだ。
多分moov情報を元にmdat部分を読みに行く必要がある
疑問
メモ
デュレーションを → sttsで → サンプルのindexにする
→ stszで →
→ stscで → チャンクのindexにする
→ stco(co64)で → チャンクのバイトオフセットにする
この説明が一番深く掘られている
いろいろなところから参照されている!