Purpose and scope
Meta handles billions of video uploads per day across Facebook, Instagram, Messenger, WhatsApp and Oculus. The content ranges from short clips such as Stories and Reels to multi-hour live broadcasts and high-resolution 360 content for Oculus headsets. To process this range of material, Meta built virtual video files together with FFUSE and FUSE file systems, allowing video bytes to be transferred around its data centres.
- Covers Facebook, Instagram, Messenger, WhatsApp and Oculus uploads
- Handles short clips through to multi-hour live broadcasts
- Supports high-resolution 360 content for Oculus headsets
How it works
The approach leverages the MP4 file container format to create a virtual video abstraction that makes video data easier to manipulate. That abstraction is then connected to FFmpeg, described in the source article as the encoding "Swiss Army Knife". The article reviews MP4 file layout, including the moov atom, which must record the position of each sample, and explains both progressive and fragmented MP4 structures.
- MP4 container used as the basis of the abstraction
- Connected to FFmpeg for encoding
- FUSE offers interoperability with any binary, not just FFmpeg
- FUSE can use the kernel page cache and system memory
- Everything is exposed as a file for simplicity
Background: progressive and DASH MP4
Facebook first added support for videos in Newsfeed in 2007, and video creation grew as Instagram, Stories, Reels and live video were built. DASH playback was a key driver of that success, improving video quality and playback experience at the cost of increased storage. Before DASH, videos were stored as progressive MP4 files, a single file containing both audio and video, where switching between SD and HD causes a brief pause. Once DASH was introduced Meta produced both progressive and DASH MP4 files to support older clients, increasing the number of copies stored per video.
- Video support added to Newsfeed in 2007
- Progressive MP4 combines audio and video in one file
- Progressive playback fell to under 5% of views
- Progressive files retained for device compatibility
Storage motivation
Progressive MP4 files still had to be made available so that any device could play back videos on Meta, but their storage cost was a target for reduction. Virtual video files were built to reduce the storage space used by progressive MP4 files. The space reclaimed can instead be used to generate higher quality encodings such as VP9 and AV1.
- Reduces storage spent on progressive MP4 files
- Frees capacity for VP9 and AV1 encodings
Where to read about it
The technology is documented in an article titled "Virtual Video Files at Scale: Seamlessly Processing Billions of Videos Per Day", published on the @Scale Conferences website. The piece is categorised as an article from 2023 and is attributed to the @Scale team. It covers the challenges of processing and storing videos at Meta scale, the MP4-based virtual video abstraction and the connection to FFmpeg.
Sources
-
Virtual Video Files at Scale: Seamlessly Processing Billions of Videos Per Day | At Scale Conferences https://atscaleconference.com/virtual-video-files-at-scale-seamlessly-processing-billions-of-videos-per-day/ Verified 31 Oct 2026
Last verified 16 Sep 2026. This entry is compiled from the public web pages listed above. Nothing here is stated that those pages do not, and each of them was read on the date shown.