Back

Blog details

What Is Video on Demand (VOD)? How VOD Streaming Works

AIOZ Network
9 min readSeptember 07, 2026
aioz-streamguide
What Is VOD? Video on Demand, Explained: AIOZ Stream knowledge hub cover

Video on demand (VOD) is video stored as finished files, so each viewer can start, pause and seek it whenever they choose instead of tuning in at a set time. A Netflix film, a YouTube upload and a recorded webinar are all VOD.

TL;DR:

  • VOD is video you watch on request from stored files. It's encoded once and then served to every viewer who asks for it, whether that's ten people or ten million.
  • A VOD pipeline encodes a bitrate ladder, packages it into short segments with an HLS or DASH manifest, delivers the segments through a CDN or peer network, and lets the player switch quality as the connection changes.
  • Seeking lands on keyframes, because most video frames can't be decoded on their own.
  • VOD caches well: the same segments get requested again and again, so every cached copy keeps paying off.
  • On AIOZ Stream, one upload returns HLS, DASH and MP4 URLs, and a livestream saved with save: true becomes VOD you can replay.

Updated Oct 29, 2026: merged our 2024 post on the components of VOD streaming infrastructure into this guide, as a new section and a FAQ entry.

Updated Oct 19, 2026: definition-first rewrite, question headings, a pipeline diagram in place of the stock photo, the VOD types, a docs-based upload example, and live-to-VOD.

What is video on demand (VOD)?

Video on demand is a way of distributing video where the viewer picks what to watch and when. AIOZ's VOD concept page defines it as a system that lets users "select and watch video content at their convenience, without the need for a traditional broadcast schedule." You can pause, rewind and skip ahead, because the whole video already exists before anyone presses play.

The technical difference is timing: a VOD file is encoded and packaged once, and from then on every viewer pulls from that finished output. VOD is a delivery model, not a genre, so a two-hour film and a five-minute product demo both count. Yesterday's livestream counts too, once it is saved as a file you can seek.

Types of VOD: TVOD, SVOD and AVOD

VOD services also differ in how viewers pay, and the AIOZ docs list the usual models. With TVOD you pay per title, as a rental or a purchase. SVOD charges a recurring subscription for a whole library, the Netflix model. AVOD is free to watch and funded by ads, as on YouTube or Tubi, and hybrid services mix tiers, such as an ad-supported plan next to an ad-free one. Our SVOD vs AVOD vs TVOD comparison covers how each one earns and when you'd pick it.

How does VOD streaming work?

Every VOD platform runs the same five steps, whatever player or CDN it uses. You upload a source file, and the platform turns it into something any device on any connection can play.

Diagram of the VOD pipeline: upload a source file, encode a bitrate ladder, package segments with an HLS or DASH manifest, deliver through edge caches or peer nodes, and play with adaptive bitrate. Encoding happens once, playback many times.
The VOD pipeline. Steps 1 to 3 run once per video; steps 4 and 5 run for every viewer.
  1. Upload. You send the platform one high-quality source file, usually an MP4 or MOV.
  2. Encode. The platform transcodes that source into several renditions at different resolutions and bitrates, called a bitrate ladder.
  3. Package. Each rendition is cut into short segments, and a manifest lists them: an M3U8 playlist for HLS or an MPD file for DASH.
  4. Deliver. Segments are served over plain HTTP from edge caches or peer nodes close to the viewer.
  5. Play. The player reads the manifest and uses adaptive bitrate (ABR) logic to request each next segment at the quality your connection can sustain.

Live streaming uses the same ladder, segments and manifests. A live encoder produces them continuously while a VOD manifest is written once and never changes, and that one fact explains the next three sections.

The components of VOD streaming infrastructure

Those five steps run on four kinds of infrastructure. If you build a VOD service, you either run each one yourself or rent it.

  • The VOD platform. This is the part your viewers see: the catalogue, accounts and subscriptions, the playback screen, search and recommendations. Most of what a viewer would call the difference between two VOD services lives in this layer.
  • Encoding and origin storage. The transcoder builds the ladder once, and the origin keeps every rendition, segment and manifest for as long as the title stays up.
  • The delivery network. A CDN caches segments on servers near your viewers, which shortens each trip and keeps most requests away from your origin. You pay for that reach in delivery fees, setup work and ongoing monitoring of cache hit rates and errors.
  • Streaming protocols and the player. HLS and DASH carry VOD playback today, and both support adaptive bitrate. Older guides list RTMP next to them, but RTMP was invented for Adobe Flash and now mostly carries live video into a platform. On AIOZ Stream, the docs list RTMP as the only ingest protocol for live sessions, and viewers watch over HLS.

Your protocol choice depends mostly on the devices your viewers use, which our HLS vs MPEG-DASH comparison covers. For the delivery layer, the CDN edge node explainer shows how caching decides which requests ever reach your origin.

What's the difference between VOD and live streaming?

Live video is encoded in real time under a latency budget, for viewers who all watch roughly the same moment. VOD has no latency budget, because the encoder can take as long as it needs before anyone presses play. That changes three things you will notice when you build on either one.

  • Manifest: a VOD playlist lists every segment from start to end. A live playlist is a sliding window that the player keeps reloading.
  • Viewer control: VOD viewers can seek anywhere in the file, while live viewers mostly watch near the live edge.
  • Reuse: a VOD segment is requested for as long as the video stays up, while a live segment matters only while it sits in the live playlist's window.

The two meet when a livestream ends and the recording is saved, since it then becomes a VOD asset with a complete manifest. Our live streaming guide covers how saving a livestream works on AIOZ Stream, from the stream key to the recording.

How seeking works in a VOD file

When you drag the scrub bar, the player can't start decoding at any frame you like. Video compression stores most frames as predictions from nearby frames, so they can't be decoded on their own, and only keyframes (also called I-frames) are complete pictures. AWS's explainer on GOPs puts it this way: "all of the information required to decode this type of frame comes from within itself."

So the player jumps to the nearest keyframe and plays forward from there. The span between keyframes is a GOP (group of pictures), and its length is a trade-off. AWS shows the same 5 Mbps encode with a 4-frame GOP and a 90-frame GOP, and the short-GOP version looks visibly worse. A complete keyframe takes far more bits than a predicted frame, so frequent keyframes leave fewer bits for the rest of the picture. Longer GOPs give you better quality per bit but fewer clean points to seek to.

Streaming adds one more rule, about which frames a GOP may reference. Fora Soft's guide on GOP structure says closed GOPs "are required for ABR streaming". In a closed GOP no frame refers back into the previous GOP, and the open kind saves only 1 to 3% on bitrate. When the player switches renditions at a segment boundary, an open GOP would point at frames from a rendition the player never downloaded. That's why streaming encoders use closed GOPs and line them up with segment boundaries in every rendition.

Why VOD caches so well

A VOD segment never changes once it's published, and the same bytes at the same URL may be requested thousands of times over the life of the video. Any cache or peer that holds a copy can keep serving it with no extra processing. The more popular your video gets, the larger the share of requests that never reach the origin.

This is also why peer-assisted delivery suits VOD: on AIOZ DePIN, nodes that already hold a segment can serve the next viewer who asks for it. Live video has no back catalogue for a new viewer to draw from, so it gets less of that benefit. If you want to see where the files sit between requests, read decentralized storage vs centralized cloud for video.

How AIOZ Stream handles VOD

On AIOZ Stream you create a media object, upload the file, mark the upload complete, and poll until encoding is done. The finished video then comes back with HLS and DASH URLs for playback plus an MP4 URL for download. This flow is quoted from the Video API docs for the Node.js SDK; we didn't run it for this article.

// 1. Create video object
const video = await client.media.create({ title: 'My Video', type: 'video' })
const videoId = video.data.id

// 2. Upload file
await client.media.uploadPart(videoId, './video.mp4')

// 3. Finalize
await client.media.uploadMediaComplete(videoId)

// 4. Poll for encoding completion
let status = 'encoding'
while (status !== 'done' && status !== 'failed') {
  await new Promise(r => setTimeout(r, 5000))
  const detail = await client.media.getDetail(videoId)
  status = detail.data.status
}

// 5. Get playback URL
const detail = await client.media.getDetail(videoId)
console.log(detail.data.assets.hlsUrl)   // HLS playback
console.log(detail.data.assets.dashUrl)  // DASH playback
console.log(detail.data.assets.mp4Url)   // MP4 download

A few details from the same docs help when you plan a VOD library:

  • You can set the ladder yourself in qualities, from 240p to 4320p, with H.264 or H.265 and HLS or DASH output. Each rung has a bitrate cap, such as 6 Mbps at 1080p and 30 Mbps at 2160p.
  • Instead of polling, you can subscribe to webhooks for encoding_started, partial_finished, encoding_finished and encoding_failed.
  • Video that is already HLS can be imported from an M3U8 URL without re-encoding.
  • A livestream created with save: true is kept as media you can list and replay later.
  • Storage, delivery and transcoding are billed from one prepaid wallet, so see our AIOZ Stream pricing breakdown and how wallet top-ups and token billing work before you size a library.

To set up your first upload, start with Steps to use our product in the AIOZ Stream docs.

FAQ

What does VOD stand for?
VOD stands for video on demand: video stored as files that each viewer starts whenever they choose.

What are the components of VOD streaming infrastructure?
There are four: a VOD platform for the catalogue, accounts and playback, encoding with origin storage, and a delivery network such as a CDN. The fourth is the streaming protocol and player, usually HLS or DASH.

Is YouTube VOD or live?
It's both, since regular uploads are VOD and YouTube Live streams are live until they end, after which the saved recording plays as VOD.

What internet speed do you need for VOD?
The AIOZ VOD concept page suggests at least 3 Mbps for SD, 5 to 8 Mbps for HD, and 25 Mbps or more for 4K.

Why can't I seek to the exact frame I want?
Most frames depend on earlier frames, so playback can only start cleanly at a keyframe, and the player snaps to the nearest one.

What is a GOP, and why does its length matter?
A GOP is the run of frames from one keyframe to the next. Short GOPs give more seek points but cost more bits, while long GOPs compress better but give fewer places to seek to.

Do VOD and live streaming use different protocols?
No. Both use HLS or DASH segments and manifests, but a VOD manifest is complete and static while a live manifest keeps updating.

References

We only send updates when meaningful changes ship, and you can unsubscribe anytime

Related Content

blog thumbnail

Video Streaming Protocols: HLS, DASH, WebRTC, RTMP and SRT

Video streaming protocols move video from encoder to viewer. See how RTMP, SRT, HLS, DASH and WebRTC differ in latency, transport and where each one fits.

aioz-streamguide
7 min readNovember 04, 2026
blog thumbnail

What Is Decentralized Live Streaming and How Does It Work?

Decentralized live streaming sends a real-time broadcast through independently run nodes instead of one company's servers. Here's how each stage of it works.

aioz-streamguide
6 min readNovember 03, 2026
blog thumbnail

Video Streaming Glossary: Codecs, Protocols and Delivery A-Z

A video streaming glossary of 114 terms, from AAC and ABR to WebRTC and Widevine, each defined in plain English with sources and links to the deep posts.

aioz-stream
23 min readOctober 31, 2026
blog thumbnail

Monitor Livestream Health With Bitrate, FPS and Viewer Count

Read the AIOZ Stream Statistics panel: bitrate in and out, FPS in and out and current viewers, plus the documented rules for each and what the docs leave out.

aioz-streamguide
6 min readOctober 30, 2026
blog thumbnail

How to Embed a Livestream on Your Website (Link or iFrame)

Embed an AIOZ Stream livestream with the Share button's iframe or send the Public Playback URL as a link. Covers API fields, public access limits and doc gaps.

aioz-streamguide
6 min readOctober 27, 2026
blog thumbnail

Stream Key vs Streaming Session: Preconfiguring a Livestream

Learn how a stream key differs from a streaming session on AIOZ Stream, what each one stores, and what to preconfigure before you go live. Docs-based guide.

aioz-streamguide
7 min readOctober 23, 2026