MPEG-1 File Format Specification

Disclaimer: I'm not a specialist of MPEG by any means. I just needed to create an MPEG encoder, so I gathered the informations I found here.

This is a very pretentious title for a very few information, but if you've spent hours looking for the format of an MPEG file, like I did, you may be happy with it.

We're supposed to find every information we need from the ISO 11172 document ("Coded representation of picture, audio and multimedia/hypermedia information"), but you'll have to pay for it. This makes me increasingly wonder if standards bodies like ISO make things go faster or slower (if not everybody can freely get access to a standard, what does this standard mean ?). I've been told that ISO was thinking to another way to get support, in order to be able to give documents away for free. If they need the same time to find a new economic model that they usually need to timestamp a three-pages standard (proportionally), we'll have to wait for centuries.

(This was the anarchist thought of the day, now back to the real work).

First, there is nothing like an "MPEG file format". There is an MPEG stream format, and so MPEG is "catenative" (or supposed so). Each stream is a set of independent video sequences. Each video sequence contain a sequence header, includes one or more group of pictures (GOP), and ends with an end of sequence code.

Each Group of Pictures starts with a header, and a series of one or more pictures intended to allow random access into the seq
Christophe Tronche,