DVR Window
The time range of content available for seeking in a live stream. A 2-hour DVR window means viewers can rewind up to 2 hours from the live edge. The manifest lists segments covering this window, and all those segments must remain cached/available.
Full Explanation
The DVR window defines how far back a viewer can rewind or seek in a live stream. If you set a 2-hour DVR window on a live channel, the manifest will list every segment from 2 hours ago up to the current live edge. A viewer who tunes in can scrub back to anything within that window, just like rewinding a DVR recording at home.
From a CDN perspective, the DVR window directly determines how many segments must stay available and cached. With 6-second segments and a 2-hour window, that is 1,200 segments per quality level. Multiply by 5 quality renditions and you are keeping 6,000 segment files hot in cache for a single channel. The manifest itself also grows with the window size, since it has to list every segment URL within range.
Segments that fall outside the DVR window can safely be evicted from CDN cache (and eventually from origin storage if you are not archiving). This creates a natural sliding window of cache pressure. The CDN needs enough capacity to hold the full DVR window worth of segments across all active channels and quality levels.
In practice, most live TV services use DVR windows between 2 and 8 hours. Sports events might use longer windows so fans can rewatch highlights. Some services offer "start-over" functionality (restart the current program from the beginning) which requires the DVR window to be at least as long as the longest program in the schedule.
# Example: Nginx cache sizing for DVR window
# 1 channel, 5 bitrates, 6s segments, 2h window
# Segments: (7200s / 6s) * 5 = 6000 segments
# Average segment size at mixed bitrates: ~2MB
# Cache needed: 6000 * 2MB = ~12GB per channel
Examples
Frequently Asked Questions
The time range of content available for seeking in a live stream. A 2-hour DVR window means viewers can rewind up to 2 hours from the live edge. The manifest lists segments covering this window, and all those segments must remain cached/available.