How IFO Files Control VOB Playback Navigation
This article explains the technical relationship between IFO and VOB files in standard DVD-Video architecture. While Video Object (VOB) files contain the actual multiplexed audio, video, and subtitle data, Information (IFO) files act as the navigational roadmap and control system. Without IFO files, a media player cannot interpret chapters, menus, audio track selections, or the intended playback order of the content stored inside the VOB containers.
The Role of VOB and IFO Files
A standard DVD directory (VIDEO_TS) separates content
from control data:
- VOB (Video Object): Contains the raw, interleaved MPEG-2 video, audio streams (such as AC-3 or DTS), and sub-picture streams (subtitles and menu highlights). VOB files are typically split into 1 GB segments to comply with file system limitations, regardless of where chapters or scenes begin and end.
- IFO (Information): Contains the header data, playback logic, user operations permissions, and sector addresses. It contains no media streams itself.
Logical Block Addressing and Pointers
Because VOB files are split arbitrarily by file size, a media player cannot rely on file boundaries to determine scenes. The IFO file solves this using Logical Block Addressing (LBA):
- VOBUs (Video Object Units): Inside a VOB, data is organized into small chunks called VOBUs, each typically containing 0.4 to 1.0 seconds of content starting with an MPEG I-frame.
- Sector Pointers: The IFO file stores explicit byte offsets and sector addresses pointing to the exact start and end of each VOBU, Cell, and Program. When you skip to a specific chapter, the player reads the IFO file to find the exact sector address within the corresponding VOB file and commands the drive to seek directly there.
Program Chains (PGC) and Playback Sequencing
DVD navigation relies on structures called Program Chains (PGCs), which are fully defined inside the IFO:
- Cell Mapping: A PGC is an ordered sequence of "Cells" (the smallest playback units in a DVD, usually corresponding to chapters or parts of chapters). The IFO defines which Cells play in what order.
- Non-Linear Playback: Multiple PGCs can reference the same physical data in a VOB file. For instance, a standard theatrical cut and a director's cut can exist on the same disc without duplicating footage; the IFO simply directs the player to skip or include specific VOB sectors depending on the chosen version.
- Parental Controls and Multi-Angle: The IFO dictates branching logic. For multi-angle scenes, the IFO tells the player how to jump between interleaved VOB blocks in real time based on user input.
Menu Navigation and Virtual Machine Instructions
DVD players feature a built-in virtual machine that executes instructions defined inside IFO files:
- Sub-picture Overlays: While the visual background of a DVD menu is rendered by a VOB file, the interactive buttons are managed by the IFO. The IFO specifies the coordinates of clickable button areas, their active states, and color palettes.
- Pre- and Post-Commands: IFO files contain small scripts executed before a scene plays (Pre-Commands), after a cell finishes (Cell Commands), or after an entire PGC ends (Post-Commands). These commands manage system registers—such as remembering which audio track was selected or determining which menu to display once a feature film finishes.
Stream Identification and Demultiplexing
A single VOB file can carry up to eight audio streams and 32 subtitle streams multiplexed together. The VOB identifies these streams only by numerical IDs (e.g., Sub-picture Stream 0, Audio Stream 1).
The IFO file provides the essential metadata for these streams:
- Language codes (e.g., tagging Stream 0 as English and Stream 1 as French)
- Audio formats (e.g., 2-channel LPCM vs. 6-channel Dolby Digital)
- Aspect ratio configurations (16:9 widescreen, 4:3 pan-and-scan, or letterbox)
When a user selects a language, the player references the IFO file to determine which internal stream ID within the VOB file needs to be demultiplexed and decoded.