Why Streaming Uses fMP4 and WebM Instead of VOB
Modern streaming platforms have abandoned legacy containers like DVD Video Objects (VOB) and MPEG Program Streams (MPEG-PS) in favor of fragmented MP4 (fMP4) and WebM. This transition is driven by the requirements of modern web delivery: adaptive bitrate streaming, low latency, native browser playback via HTML5, and efficient bandwidth management. While VOB and Program Streams were built for linear playback from physical media, fMP4 and WebM are engineered specifically to transmit media in lightweight, isolated chunks over HTTP networks.
The Architectural Limitation of VOB and Program Streams
VOB files and standard MPEG Program Streams were designed in the 1990s primarily for physical media, such as DVDs. Their architecture relies heavily on MPEG-2 compression and a continuous, interleaved data stream:
- Monolithic Structure: Program Streams assume a continuous, stateful connection to the storage medium. They lack standard metadata segmentation for random access over the internet, requiring players to read linear byte ranges rather than discrete, time-indexed media segments.
- Lack of Adaptive Bitrate (ABR) Support: Streaming services require the ability to dynamically scale video resolution up or down based on the user's current network throughput. VOB files cannot seamlessly switch bitrates on the fly without causing playback stalls or buffer collapses.
- Obsolete Codec Integration: VOB is fundamentally coupled with MPEG-2 video and AC-3 or PCM audio. These legacy codecs require dramatically higher bitrates to achieve acceptable visual fidelity compared to modern compression formats like H.264 (AVC), H.265 (HEVC), VP9, and AV1.
- Absence of Web Support: Modern web browsers do not contain native demuxers or decoders for MPEG-PS or VOB files, rendering them unplayable without third-party plugins.
Why Fragmented MP4 (fMP4) Dominates Streaming
Standard MP4 files utilize a single unified index table—the "moov"
atom—which outlines the timing, frame offsets, and metadata for the
entire media file. If the moov atom is placed at the end of
a file or becomes too large, playback cannot begin until it is
downloaded.
Fragmented MP4 solves this by breaking the file into a sequence of self-contained segments using two repeating structures:
- Movie Fragment (
moof): Contains the playback timing, duration, and sample offsets for a short segment of video (typically 2 to 6 seconds). - Media Data (
mdat): Contains the actual raw encoded video/audio payloads associated with that specific fragment.
This segmentation allows streaming servers to deliver small chunks over standard HTTP (via protocols like HLS and MPEG-DASH). When a viewer's bandwidth fluctuates, the player requests the next two-second fragment at a higher or lower bitrate. Media Source Extensions (MSE) in web browsers read these fragments directly into the playback buffer without reloading the video pipeline.
The Role of WebM in Web Delivery
WebM, an open-source format derived from the Matroska (MKV) container, serves a role similar to fMP4 but focuses on royalty-free web distribution:
- Modern Codec Optimization: WebM is natively designed to carry VP8, VP9, and AV1 video streams paired with Opus audio. These codecs deliver equal or superior quality to proprietary alternatives at much lower bandwidths.
- Native Browser Integration: WebM was built explicitly for the web ecosystem. Major browsers feature built-in WebM demuxers, enabling direct playback without runtime container conversion.
- Lightweight Chunking: Like fMP4, WebM streams can be segmented into discrete clusters for adaptive delivery, making it a staple for platforms like YouTube to deliver high-resolution content without paying patent licensing fees on container formats.
Key Advantages of fMP4 and WebM Over Legacy Streams
- Efficiency Over HTTP: Media is transmitted as
standard static files (
.m4s,.mp4, or.webm) that can be cached by standard Content Delivery Networks (CDNs) globally. - Instant Seeking: Viewers can skip to any point in a video timeline by requesting only the exact segment corresponding to that timestamp, rather than downloading continuous stream data.
- Live Streaming Compatibility: Broadcasters can
append newly generated
moof/mdatfragments in real-time, enabling low-latency live streaming without knowing the total duration of the file in advance.