MPEG-4規格はあらゆるニーズに応える事を狙っていますので、方式が3つあります:
- 1)ビデオビットストリームレベルで指定する方式:
- 現時点ではこれが最も実用的で、広く使われているやりかたでしょう。PAR(*Pixel Aspect Ratio*)を指定できるコデック(例:3ivx、ffmpeg/ffvfw、XviD)を使って、出来上がったAVIをMP4 muxerでMP4にmuxします。この場合、MP4 muxerはなんでも構いません( 3ivx mp4 muxer, MP4Box または、 mp4UI)。
既にエンコード済みのビットストリームのPARを変更するには、MPEG-4 ASPではMoitahの MPEG4 Modifier、AVCでは hhanhの ARChange を使います。どちらのフォーマットでも、MP4BoxでPARを変更できます。
自動アナモルフィック再生に対応したプレイヤは、VideoLAN、MPlayer。DShowでは、3ivx、Nero か Haali parsers と XviDの組み合わせ(ARをautoに)、3ivx("force overlay"を使う)、Nero か ffdshow("overlay mixer"を使う)のdecoder filter。
- 2)コンテナレベルで指定する方式:
- MP4 では"Composition Matrix"を使う方式も定義しています。これはアスペクトレシオを変更したり、ピクチャを回転させたり、複数のレイヤーを扱ったり、再生中にオーディオストリームを二個ミックス(台詞と音楽が分離している映画など)したり、、、、。
Quicktime/Pro
ではこうしたたくさんのcompositionを扱う事ができます。Movie -> Get Movie Properties -> Video/Sound Track -> Size/Layer/Volume/...。またそうしたcompositionを持つMP4ファイルを正しく再生できます。
- 3)BIFSレベルで指定する方式:
- 最も幅広いオーサリングができる方式です(Q9参照)。この方式では、アスペクトレシオの変更もできます(例えばTransform2D.scaleを使うなど)。BIFS control streamの作成と再生にはGPAC project tools、つまりMP4BoxとOsmo4を使いましょう。