What's
on a DVD?
What
exactly is on a DVD disc? What are VOB, IFO and BUP
files? All this will be explained here.
When
you access the DVD drive you'll see at least 2 directories:
22.08.2000
03:20 <DIR> AUDIO_TS
22.08.2000 05:53 <DIR> VIDEO_TS
AUDIO_TS
is presumably used for DVD Audio (I have yet to see
such a disc) whereas VIDEO_TS is used to store all data
for the movie. There might be more directories which
contain DVD-ROM features for your PC.
Now
let's have a look at the VIDEO_TS directory:
22.08.2000
05:53 <DIR> .
22.08.2000 03:20 <DIR> ..
22.08.2000 05:23 12'288 VIDEO_TS.BUP
22.08.2000 05:23 12'288 VIDEO_TS.IFO
22.08.2000 05:23 333'824 VIDEO_TS.VOB
22.08.2000 05:23 59'392 VTS_01_0.BUP
22.08.2000 05:23 59'392 VTS_01_0.IFO
22.08.2000 05:23 8'192 VTS_01_0.VOB
22.08.2000 05:27 1'073'643'520 VTS_01_1.VOB
22.08.2000 05:31 1'073'631'232 VTS_01_2.VOB
22.08.2000 05:32 104'785'920 VTS_01_3.VOB
22.08.2000 05:32 88'064 VTS_02_0.BUP
22.08.2000 05:32 88'064 VTS_02_0.IFO
22.08.2000 05:32 59'379'712 VTS_02_0.VOB
22.08.2000 05:36 1'073'436'672 VTS_02_1.VOB
22.08.2000 05:40 1'073'549'312 VTS_02_2.VOB
22.08.2000 05:45 1'073'502'208 VTS_02_3.VOB
22.08.2000 05:49 1'073'371'136 VTS_02_4.VOB
22.08.2000 05:53 1'073'555'456 VTS_02_5.VOB
22.08.2000 05:57 810'952'704 VTS_02_6.VOB
As
you can see there's 3 types of files on a DVD: .VOB,
.IFO and .BUP:
VOBs
- Video OBjects
A
VOB contains several streams multiplexed together: Video,
Audio and Subtitles. Video is MPEG-2, audio can be AC-3,
Linear PCM, Mpeg 2 multichannel or MPEG1 layer2 2 channel
audio. AC3 is pretty much the standard and MPEG-2 multichannel
can only be found on very few discs (one example is
"In the line of fire, PAL edition") as this format was
initially considered to be the standard format in Region2
(Europe and Japan) but was later dropped. PCM is mostly
found on music DVDs and MP2 on cheaper productions.
PCM is high quality uncompressed audio which takes a
lot of space, hence it's not an ideal choice for full
length movies with extras and possibly multiple languages.
AC3 streams have a bitrate between 192 and 448kbit/s.
192kbit/s is used for 2 channel sound, and 384-448kbit/s
for 5.1channel surround.
A
VOB can contain one main video stream and several multiangle
streams, allowing you to switch (as an example) the
perspective during the movie. This feature is mostly
used to display storyboards or other extra features
during playback. The maximum bitrate of the video stream
is 9.8mbit/s. Together, video and audio stream must
be below 10mbit/s at any given moment. It's possible
to have up to 9 different audio streams and you can
usually switch the audio stream during playback (this
feature can be disabled during the authoring phase of
a DVD). It's also possible to have up to 32 different
subtitle streams. Subtitles are 4 color bitmaps which
are overlayed over the video stream, they're usually
not encoded into the video stream.
Let's
have a closer look at a VOB using our old favorite vStrip:
Scanning
for stream id's, press control-c to quit...
Found 0xBF = Private 2 [@LBA 0]
Found VOB-ID: 01/CELL-ID: 01 [@LBA 0]
Encountered encrypted sector, attempting key recovery
[@LBA 1]
Deduced key: 0xC00374C61C (2/2 vkey(s))
Found 0xE0 = Video 0 [PTS 0:00:00.290 @LBA 1]
Width = 720
Height = 480
Aspect-ratio = [3] 16:9 display
Frame-rate = [4] 29.97 (30000/1001) fps
Found 0xBD = Private 1, sub 0x80 [PTS 0:00:00.224 @LBA
99]
Found 0xBD = Private 1, sub 0x81 [PTS 0:00:00.224 @LBA
100]
Found 0xBD = Private 1, sub 0x82 [PTS 0:00:00.224 @LBA
101]
Found 0xBD = Private 1, sub 0x83 [PTS 0:00:00.224 @LBA
102]
Found 0xBE = Padding [@LBA 117]
Found 0xBD = Private 1, sub 0x20 [PTS 0:00:00.724 @LBA
169]
Found 0xBD = Private 1, sub 0x21 [PTS 0:00:00.724 @LBA
170]
Found VOB-ID: 02/CELL-ID: 01 [@LBA 378]
As
said before there's usually just one video stream and
it always has ID 0xE0. PTS is the Program Time Stamp
and states when a certain stream starts with respect
to the beginning of the VOB. As you can see the resolution
is 720x480 so it's an NTSC DVD. The frame-rate of 29.97
basically states the same fact. The DAR of the stream
is 16:9. Then there's 4 audio streams: 0x80 - 0x83.
Note that these are AC3 streams. All AC3 streams are
in stream 0xBD, substreams 0x8x. When there's a DTS
stream it usually has stream id 0xBD 0x88 or 0xBD 0x89.
PCM streams are also located in stream 0xBD, they have
stream IDs 0xAx, from 0xA0 up to 0xA9. MP2 audio finally
is located in the stream 0xCx. Here's an example from
a PCM and MP2 stream:
Found
0xBD = Private 1, sub 0xA0 [PTS 0:11:01.479 @LBA 4]
Found 0xC0 = Audio 0 [PTS 0:00:00.440 @LBA 25]
There
are also 2 substreams, 0x20 and 0x21. All subtitle streams
are located in the 0xBD stream as well.
Furthermore
there are usually padding streams (0xBE) but they don't
concern us.
You
might also have noticed the VOB and Cell IDs. A Cell
is the smallest unit on a DVD. On a simple DVD this
usually represents a chapter but it gets more complicated
in many discs. If you're interested about Cells on a
DVD I suggest you start learning how to use Scenarist,
because only then will you truly understand how these
works. When it comes to VOB IDs I still haven't found
how they are created exactly and to what kind of structure
they correspond. Usually each unit on its own has its
own VOB ID, for instance the main movie and the trailer.
In multiangle and seamless branching titles each angle
has its own VOB ID.
IFOs
- InFOrmation
IFO
Files give the player important navigational information,
like where a chapter starts, where a certain audio or
subtitle stream is located, etc. This is the reason
why it's only possible to rip certain parts of a movie
(like a chapter) with a ripper which can read this files.
Or
old friend vStrip can and let's have a glimpse at the
output we get when using ifo parsing (sample command
line: vStrip f:\video_ts\vts_02_1.vob -if:\video_ts\vts_02_0.ifo)
Parsing
"f:\video_ts\vts_02_0.ifo"...
0. Length: 02:07:15:24 in 15 cell(s).
1. Length: 00:00:01:01 in 1 cell(s).
Scanning for stream id's, press control-c to quit...
As
you can see there's 2 PGCs or ProGram Chains in this
movie. PGC 0 represents the main movie whereas PGC 1
the studio logo at the beginning. This structure might
be a lot more complicated but usually it's as easy as
shown above. Multiangle movies will give you several
PGCs having the same length, and seamless branching
movies several PGC with different length. By selecting
the right PGC you can get the right version of the movie.
Also.. the PGC corresponds to the Title number being
displayed in your player. Here's just an example (Matrix
- follow the white rabbit feature = Title 6 or in other
words PGC 5 since the PC starts counting at 0 internally).
Last
but not least IFO files are not encrypted.
BUPs
- BackUP
BUP
files are just backup files off the IFOs. As their counterparts
they are not encrypted.
Look
closer
Now
that we know what each filetype is for let's look at
the actual example again:
22.08.2000
05:23 12'288 VIDEO_TS.BUP
22.08.2000 05:23 12'288 VIDEO_TS.IFO
22.08.2000 05:23 333'824 VIDEO_TS.VOB
22.08.2000 05:23 59'392 VTS_01_0.BUP
22.08.2000 05:23 59'392 VTS_01_0.IFO
22.08.2000 05:23 8'192 VTS_01_0.VOB
22.08.2000 05:27 1'073'643'520 VTS_01_1.VOB
22.08.2000 05:31 1'073'631'232 VTS_01_2.VOB
22.08.2000 05:32 104'785'920 VTS_01_3.VOB
22.08.2000 05:32 88'064 VTS_02_0.BUP
22.08.2000 05:32 88'064 VTS_02_0.IFO
22.08.2000 05:32 59'379'712 VTS_02_0.VOB
22.08.2000 05:36 1'073'436'672 VTS_02_1.VOB
22.08.2000 05:40 1'073'549'312 VTS_02_2.VOB
22.08.2000 05:45 1'073'502'208 VTS_02_3.VOB
22.08.2000 05:49 1'073'371'136 VTS_02_4.VOB
22.08.2000 05:53 1'073'555'456 VTS_02_5.VOB
22.08.2000 05:57 810'952'704 VTS_02_6.VOB
The
VIDEO_TS.* files represent the first play item. This
is an item being set during authoring and is the first
thing being played when the disc is inserted in the
player. Usually this is just a copyright notice, but
it could also be a menu where to select the language
of the menu, some trailers, etc. The video_ts.vob contains
the video and audio data, the video_ts.ifo the navigational
data and video_ts.bup is the backup for video_ts.ifo.
There's
2 more ifo files: vts_01_0.ifo and vts_02_0.ifo. The
first 2 numbers in the name tell the title number. vts_01_*
is title 1, vts_02_* title 2, etc. Obviously there can
be 99 titles at the maximum (vts_00_* does not exist).
Each title can have 10 VOB files, whereas the first
VOB (vts_XX_0.vob) always contains the menu for that
title. Each title has at least 2 VOBs (one for the menu
and one for the main feature) and exactly one ifo and
bup file.
In
our case title 1 contains the behind the scenes featurette
and has its own menu. Title 2 contains the main movie,
also with its own menu.
As
you can see the maximum size of a VOB file is 1GB. In
fact the files must be smaller as exactly one GB (1024x1024x1024Bytes),
but there are certain which aren't and these can't be
played on a PC.
Now
the last question: how to locate the main movie on a
disc? The largest .ifo file will give you the title
number and then you need all the VOB files except for
the menu VOB (unless you want the menu as well, of course).
Most Rippers (if they don't do ifo parsing) proceed
according to this rule to select the main movie and
the ifo to be copied.
|