Penguin
Annotated edit history of DVDVideo version 26, including all changes. View license author blame.
Rev Author # Line
17 LawrenceDoliveiro 1 A DVD-Video disc is a [DVD] with specific constraints on its file structure and file contents. It consists mostly of [MPEG]-2 video files (though apparently MPEG-1 is also allowed), plus additional data defining the navigation menus and possibly other optional extra features (like Karaoke) allowed by the DVD-Video spec.
2
3 !Directory and File Structure
4
5 At the top level of a DVD-Video disc, there are two directories: "AUDIO_TS" and "VIDEO_TS", where the "TS" stands for "titleset". A title set is a set of titles, where a "title" might be the entire movie, or an extra like a documentary about the making of the movie, or an episode of a TV series. The AUDIO_TS directory is only used on DVD-Audio discs, which are quite rare, nevertheless the DVD-Video spec requires it to be present, even though it is empty.
6
25 LawrenceDoliveiro 7 The VIDEO_TS directory is where all the real content of a DVD-Video disc is kept. It contains files with names ending in .IFO, .BUP and .VOB. The .IFO (info) files contain overall information about the titles, including the entry into the menu structure. The .BUP files are backup copies of the .IFO files, supposed to be kept on a physically separated area of the disc to increase reliability. And the .VOB ([video object|http://www.mpucoder.com/DVD/vobov.html]) files are [MPEG] files containing the actual titles and menus--menus are also MPEG movies, not that different from titles (apart from usually being much shorter).
17 LawrenceDoliveiro 8
9 Each MPEG file is allowed to contain just one video stream, one navigation stream, up to eight audio streams (for soundtracks in different languages), and up to 32 "subpicture" streams. At any moment during playback, the player will be playing one video stream, one audio stream, and possibly one subpicture stream, overlaid on the video stream. And of course processing the navigation stream to decide what to do next.
10
11 While an audio stream may have different numbers of channels (e.g. 2-channel stereo, 5.1 surround) and use a couple of different codecs, the sample rate must always be 48kHz.
12
13 !Subpictures
14
22 LawrenceDoliveiro 15 A ''subpicture'' is a generalization of the concept of a subtitle. On a DVD-Video disc, subtitles are not kept in text form: instead, they are stored as a bitmap, allowing for use of arbitrary fonts, language scripts, writing directions etc. Definition of transparent pixels allows the creation of graphics that overlay any part of the screen, and since the subpicture is stored in a stream just like the video and audio streams, it can animate as the title is playing.
17 LawrenceDoliveiro 16
22 LawrenceDoliveiro 17 A subpicture holds two bits per pixel, allowing the use of four different colours from a palette of 16. It is also possible to specify a 4-bit alpha (transparency) value for each of the four chosen colours.
17 LawrenceDoliveiro 18
19 !Menus & Titles
22 LawrenceDoliveiro 20 Menus are implemented as subpictures superimposed on top of a video background, together with additional information about button position and highlighting information.
21
17 LawrenceDoliveiro 22 Each titleset can have its own set of menus. The files comprising a titleset are named VTS_''nn''_''m''.IFO/BUP/VOB, where ''nn'' is the titleset number and ''m'' is incremented if the .VOB file needs to be broken up into multiple pieces because each file is not allowed to exceed 1GiB in size.
23
20 LawrenceDoliveiro 24 There is also another titleset-like grouping called the "Video Manager" (VMG), of which there can only be one on the disc. This is kept in the files VIDEO_TS.IFO/BUP/VOB. This is only allowed to contain menus, no titles. It is intended to act as a top-level set of menus for accessing the various titles, though how things are actually linked together is very much up to the people authoring the DVD. There are several ways to achieve the same effect, except that one titleset cannot jump to another, only to menus and titles within the same titleset or in the VMG.
17 LawrenceDoliveiro 25
26 !Commands
27 There is a standard, very simple VirtualMachine language understood by all DVD-Video players. This is used to implement menus and buttons (using "jump" and "call" commands to link between menus and titles), but is also capable of some more complicated effects. It does not support addressing arbitrary memory or any arithmetic beyond basic 16-bit integers; however, there is a set of 16 general-purpose parameter (GPRM) registers that may be used for any purpose, plus a set of 24 System Parameter (SPRM) registers, predefined to hold such settings as the number of the currently-selected menu button, or the currently-selected audio and subtitle tracks.
28
29 !Aspect Ratios
30 DVD-Video caters to a maximum frame resolution of 720*576 (PAL) or 720*480 (NTSC). Certain smaller fractions of these numbers are also allowed for lower-resolution discs. The target screen aspect ratio can be either 4:3 (conventional TVs and older cinema screens) or 16:9 (newer "widescreen" TVs).
31
32 You'll notice that the pixel numbers don't match either of these ratios: 720:576 is 5:4, and 720:480 is 3:2. That's because DVD-Video has ''non-square pixels''--the horizontal and vertical pixel densities are not equal. Not only that, but 16:9 widescreen titles do not have any more horizontal pixels than 4:3 ones: instead, the pixels are simply stretched out to the wider screen.
19 LawrenceDoliveiro 33
34 [DVDVideoTerminology] covers some more esoteric details.
17 LawrenceDoliveiro 35
36 Here endeth the good parts. The evil parts are described in [DVDVideoEvils].
37
38 !!See Also
24 LawrenceDoliveiro 39 * Lots of info now publicly accessible at [mpucoder.com|http://www.mpucoder.com/DVD/] including data structure diagrams and articles.
40 * [DVD-Video Information|http://dvd.sourceforge.net/dvdinfo/] collected at ~SourceForge, including copies of previously-inaccessible stuff from mpucoder.com
21 LawrenceDoliveiro 41 * Lots of links [here|http://www.le-hacker.org/dvd.html] to information, draft specs etc on MPEG, codecs, filesystems, device commands and other stuff.
17 LawrenceDoliveiro 42 * Pioneer's [DVD Technical Guide|http://pioneer.jp/crdl/tech/index-e.html]
43 * [DVD Workshop|http://stream.uen.org/medsol/dvd/home.html]
44 * [Archived packet details|http://web.archive.org/web/20011024182535/dvdpro.com/dvd.htm]
18 LawrenceDoliveiro 45 * The [Unofficial DVD Specifications Guide|http://www.dvd-replica.com/DVD/index.php] -- commercial site, some info available for free.

PHP Warning

lib/blame.php:177: Warning: Invalid argument supplied for foreach()