Back

Blog details

What Is Live to VOD? Saving a Livestream as a Video

AIOZ Network
6 min readNovember 06, 2026
aioz-streamguide
AIOZ Stream knowledge hub cover with the headline What Is Live to VOD? Saving a Livestream as a Video

Live to VOD is the workflow that records a live broadcast and turns it into a video on demand file that viewers can replay after the stream ends. On most platforms you switch it on before going live, and on AIOZ Stream one save setting decides it.

TL;DR:

  • Live to VOD keeps a livestream as an on-demand video that anyone who missed it can pause, seek and rewind.
  • In HLS terms, a live playlist that keeps changing becomes a fixed playlist that ends with an EXT-X-ENDLIST tag.
  • You get a replay in one of three ways: the platform saves it, your encoder records a local copy, or a server cuts clips from the live window.
  • On AIOZ Stream, tick "Save Stream to Archive When Finished" or send save: true when you create the session. The API default is false.

What is live to VOD?

Live to VOD (also written live-to-VOD) means capturing a live stream while it airs and keeping it as a video on demand asset. AWS describes a live-to-VOD asset as "a portion of a live stream that's been extracted and saved for playback later."

Three nearby terms get confused with it:

  • DVR or live rewind lets viewers scrub back inside a stream that's still running. In Google Cloud's Live Stream API, a DVR manifest is deleted when its retention window expires, while a VOD clip is kept.
  • VOD to live runs the other way, scheduling pre-recorded files to play as if they were live.
  • Multicast or simulcast sends one live feed to several platforms at the same time while the show is on.

How does a livestream become a video on demand file?

Many live streams, including those on AIOZ Stream, reach viewers over HLS, so the change is easiest to see in the playlist the server keeps rewriting during a broadcast. RFC 8216 lets a live server append new segments and drop old ones from the front, which gives your viewers a sliding window of the latest few segments. For the path a live feed takes from encoder to viewer, see our guide to how live streaming works.

A replay needs one list that holds every segment from start to finish and never changes again. The spec marks this with EXT-X-PLAYLIST-TYPE:VOD, which says the playlist must not change, and EXT-X-ENDLIST, which says no more segments will be added. Here's a simplified pair of playlists written for this post:

# During the broadcast: a sliding live window
#EXTM3U
#EXT-X-TARGETDURATION:6
#EXT-X-MEDIA-SEQUENCE:1520
#EXTINF:6.0,
segment1520.ts
#EXTINF:6.0,
segment1521.ts

# After the broadcast: the whole show, fixed
#EXTM3U
#EXT-X-PLAYLIST-TYPE:VOD
#EXT-X-TARGETDURATION:6
#EXT-X-MEDIA-SEQUENCE:0
#EXTINF:6.0,
segment0.ts
# segments 1 to 1520 omitted here
#EXTINF:6.0,
segment1521.ts
#EXT-X-ENDLIST

Once the list is closed, your player treats the stream like any uploaded video and shows a full timeline (see how video segmentation and M3U8 manifests work). AIOZ Stream's HLS import follows the same rule and only accepts finished playlists that end with #EXT-X-ENDLIST.

Cuts tend to snap to segment boundaries: in AWS Elemental MediaPackage, a harvest that starts three seconds into a 6-second segment begins three seconds earlier, at the segment's start.

A replay is only as good as the broadcast behind it, because dropped frames and bitrate dips end up in the recording. The livestream health checks you run while live protect the archive too.

Three ways to turn a livestream into VOD

1. The platform archives it. The streaming service records what it ingests and publishes a video when the show ends. You skip the upload, but where saving is opt-in, you must switch it on in time.

2. Your encoder records a local copy. The OBS Studio guide says you can record "at the same time as streaming" and recommends MKV, because a recording that stops abruptly won't corrupt the whole file. File > Remux Recordings converts it to MP4 afterwards, which makes it a handy backup next to the OBS Studio setup for AIOZ Stream.

3. A server cuts clips from the live window. AWS Elemental MediaPackage uses harvest jobs and Google Cloud's Live Stream API makes channel clips, and both save a chosen time range as a VOD asset. That suits highlights, or 24/7 channels where you only want a slice.

The main reason to save a stream is the audience you missed, such as people in other time zones or anyone who joined late. A replay page that stays up can also be indexed, which our video SEO guide covers.

What does it cost to keep a saved livestream?

You pay twice for live to VOD on any platform, once to store the recording and again for every replay. AIOZ Stream's payment page lists storage at $0.02 per GB per month and delivery at $0.02 per GB. Take the 1080p rendition in the docs' saved-media example, which has a video bitrate of 5,000,000 bps:

  • One hour at 5 Mbps is about 2.25 GB of video, which costs about $0.045 per month to store.
  • 500 viewers replaying the full hour at 1080p pull about 1,125 GB, or about $22.50 in delivery.

So storage is cheap and popular replays are where your bill grows, as the full rate card in our AIOZ Stream pricing breakdown shows.

How AIOZ Stream handles it

Diagram: create an AIOZ Stream session with save on, broadcast live over RTMP with HLS playback, and after the broadcast ends the recording is kept as saved media holding a standard video with 360p to 1080p qualities and HLS, DASH and MP4 asset fields; with save off, past livestreams are not available for replay
Live to VOD on AIOZ Stream, drawn from the docs and API reference.

In the dashboard, the choice comes when you create a session with "Start new stream". Its optional "Save Stream to Archive When Finished" checkbox keeps the recording "as a standard video after the broadcast ends." While you're live, the Stream Settings panel shows "Saving to Archive" as read-only, and the viewing guide says past livestreams are only replayable if the option was on. Our stream key vs streaming session post explains where this setting lives.

Through the API, you pass save when you create the session. This request, adapted from the Streamings API page with key headers instead of a Bearer token, wasn't run for this post:

curl -X POST 'https://api.aiozstream.network/api/live_streams/KEY_ID/streamings' \
  -H 'stream-public-key: YOUR_PUBLIC_KEY' \
  -H 'stream-secret-key: YOUR_SECRET_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "title": "Weekly product Q&A",
    "save": true,
    "qualities": [
      { "resolution": "1080p", "type": "hls", "container_type": "mpegts" }
    ]
  }'

After the show, list what was kept for that stream key with this call from the Medias API page:

curl -X POST 'https://api.aiozstream.network/api/live_streams/KEY_ID/media' \
  -H 'stream-public-key: YOUR_PUBLIC_KEY' \
  -H 'stream-secret-key: YOUR_SECRET_KEY' \
  -H 'Content-Type: application/json' \
  -d '{ "sort_by": "created_at", "order_by": "desc", "limit": 10 }'

Each item in data.videos is a saved session with its title, duration and live player URLs. Inside it sits a video object shaped like an uploaded video, with H.264 and AAC qualities in the example and hls_url, dash_url and mp4_url fields. A GET on /live_streams/{live_media_id}/media returns one item, and a DELETE on /live_streams/{key_id}/streamings/{stream_id} removes it.

What the docs don't cover yet:

  • how long after the broadcast the saved video becomes playable;
  • whether a session AIOZ Stream creates on its own, when you stream without making one first, is archived;
  • whether the update endpoint's save field changes a broadcast that's already running;
  • trimming a saved stream, and whether saved livestreams bill differently from uploads.

To set one up, follow the Create a Livestream guide in the AIOZ Stream docs.

Frequently Asked Questions

Are livestreams saved automatically on AIOZ Stream?
No, because save defaults to false in the API and the dashboard checkbox is optional, so without it past livestreams aren't available for replay.

Can I turn on archiving after the stream has ended?
Not according to the docs, which say replay needs the option enabled during the broadcast. If you also recorded in OBS Studio, upload that file as a normal video instead.

Is live to VOD the same as DVR?
No. DVR lets viewers rewind inside a stream that's still running and usually expires with a retention window, while live to VOD produces a separate video that stays.

What format is a live-to-VOD recording?
Usually HLS, meaning a fixed playlist that ends with EXT-X-ENDLIST, and on AIOZ Stream the saved video also lists DASH and MP4 asset fields.

Where do I find my saved livestreams through the API?
Send a POST to /api/live_streams/{key_id}/media, which lists saved media for that stream key, 25 per page by default and up to 100.

References

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

Related Content

blog thumbnail

How Does Live Streaming Work? From Encoder to Viewer

How does live streaming work? Video is captured, encoded, sent over RTMP, transcoded, cut into HLS segments and served to players. See each stage end to end.

aioz-streamguide
7 min readNovember 12, 2026
blog thumbnail

How Web Video Players Work: HTML5 Video, MSE and EME

How web video players work: the HTML5 video element plays media, MSE lets JavaScript feed it HLS and DASH segments, and EME unlocks DRM-protected streams.

aioz-streamguide
7 min readNovember 11, 2026
blog thumbnail

SRT vs VTT Subtitle Formats and When to Use Each One

SRT vs VTT explained: how the two subtitle formats differ in timestamps, headers and styling, which one browsers, HLS and YouTube expect, and how to convert.

aioz-stream
6 min readNovember 10, 2026
blog thumbnail

What Is Live to VOD? Saving a Livestream as a Video

Live to VOD records a livestream and turns it into an on-demand video viewers can replay. Here's how the conversion works and how AIOZ Stream saves a broadcast.

aioz-streamguide
6 min readNovember 06, 2026
blog thumbnail

What Is Video Encoding? Codecs, Containers and Bitrate

Video encoding compresses raw video with a codec, then a container packages it for playback. See how codecs, containers, bitrate and rate control fit together.

aioz-streamguide
8 min readNovember 05, 2026
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