Causes of PTS Discontinuity When Splicing VOB Files

A Presentation Time Stamp (PTS) discontinuity error occurs when splicing distinct VOB (Video Object) files because each file contains its own independent, non-continuous timing metadata. When two separate MPEG-2 Program Streams are merged without recalculating these internal timestamps, the playback engine encounters unexpected jumps, resets, or gaps in the timebase. This article explains the technical mechanics behind PTS discontinuities during VOB concatenation, detailing how clock resets, packet dependencies, and container specifications trigger playback failures.

Independent Timebases and Timestamp Resets

VOB files are specialized MPEG-2 Program Streams commonly used on DVD-Video media. Each independent VOB file or DVD cell maintains its own Presentation Time Stamp (PTS) and Decoding Time Stamp (DTS) timeline.

When a VOB file is authored, its PTS typically starts at an arbitrary offset or resets to zero. When you append a second VOB file directly onto the first using basic binary concatenation (such as the command-line copy or cat commands), the PTS does not smoothly increment. Instead, the timestamp suddenly drops from the ending time of the first file (e.g., 00:45:00.000) back to the starting timestamp of the second file (e.g., 00:00:00.000). Decoders expect monotonically increasing timestamps to display frames sequentially; a sudden regression triggers a critical discontinuity error.

System Clock Reference (SCR) Mismatches

MPEG Program Streams rely on the System Clock Reference (SCR) stored in pack headers to synchronize the decoder’s System Time Clock (STC).

In standard DVD authoring, a change in STC is explicitly declared using DVD navigation files (IFO files) or specific sequence end codes and pack flags. Splicing raw VOB files preserves the original, unadjusted SCR values. When the decoder encounters a new SCR stream that does not align with the rate of the preceding packets, the internal buffer models (Video Buffer Verifier or VBV) fail, leading to buffer underflows, freezes, or immediate decoder halts.

Open GOP Structures and Inter-Frame Dependencies

VOB video tracks use Groups of Pictures (GOPs). Unless authored as strictly "closed" GOPs, the leading frames of a second VOB file may rely on bidirectional predictive frames (B-frames) that require reference data from preceding P-frames or I-frames.

When two distinct VOB streams are joined without re-indexing:

Audio and Video Packet Boundary Misalignment

Within a VOB container, elementary audio (often AC-3, PCM, or DTS) and video (MPEG-2) streams are multiplexed into fixed 2048-byte sectors. Audio frames and video frames do not share the exact same duration or packet boundaries.

At the exact cut point of a raw splice:

When the second file begins, the slight difference between audio and video starting offsets creates an immediate relative desynchronization. Media players encountering this mismatch register a PTS discontinuity to signal that the audio and video clocks must be realigned.

Resolving the Discontinuity

Because a VOB file is a delivery container rather than an editing format, fixing PTS discontinuities requires demultiplexing (demuxing) the elementary streams, recalculating monotonic timestamps across the combined length, and remultiplexing (remuxing) the streams into a modern container like MKV or MP4, or using specialized tools that recalculate standard DVD MPEG-2 packet headers.