
Live streaming works by pushing every second of video through a chain: capture, encode, ingest, transcode, package, deliver and play. Each stage runs continuously, so your viewers see each moment a few seconds after it happens.
TL;DR:
Live streaming is the delivery of video or audio over the internet while it is being created, as Cloudflare's definition puts it. Video on demand works from a finished file that sits in storage. A live stream has no finished file, so every stage has to keep pace with the camera.
The term usually means a one-to-many broadcast: one source and thousands of viewers, like a match or a game stream. Video calls are different, since they use real-time protocols such as WebRTC so every participant can talk back. If you are weighing the two models, our guide to how VOD streaming works covers the stored-file side of the field.
This page walks the live pipeline once, end to end, and points you to a deeper post at each stage.
Wowza's live streaming guide uses the same order; we split ingest and transcoding because different systems run them.

1. Capture. A camera, microphone or screen produces raw frames and audio samples. Uncompressed 1080p30 video in 8-bit 4:2:0 is about 750 Mbps, roughly 125 times the 6,000 Kbps ceiling AIOZ Stream recommends for a 1080p30 feed.
2. Encode. Software such as OBS Studio or PRISM Live Studio compresses the frames with a codec, usually H.264 for video and AAC for audio. For a live feed you want constant bitrate (CBR) and a short keyframe interval, because the platform cuts segments at keyframes. Our primer on video encoding, codecs and bitrate explains those terms, and our OBS encoder settings for 1080p and 720p turn them into numbers.
3. Ingest. The encoder pushes one high-quality feed to the platform's ingest server. RTMP is still the default for this first mile, and SRT or WHIP show up where links are lossy or delay must be minimal. A stream key tells the server which channel the feed belongs to. The protocol choices are covered in our overview of HLS, DASH, WebRTC, RTMP and SRT.
4. Transcode. The platform decodes your feed and re-encodes it into a ladder of qualities, such as 1080p, 720p and 480p, so viewers on weak connections keep watching. Our guide to building a bitrate ladder shows how those rungs are chosen.
5. Package. Each rendition is cut into short segments, commonly two to six seconds long, and listed in an HLS playlist. A live playlist keeps growing at the end, and players reload it to find new segments. Our explainer on M3U8 playlists and HLS segmentation opens a real one.
6. Deliver. Segments go from the origin to edge servers close to your viewers, so a million requests hit caches instead of one server. Our post on how CDN edge caching works for video covers the classic model. A decentralized network does the same job with many independent nodes, as our explainer on how AIOZ DePIN nodes deliver video describes.
7. Play. The player loads the playlist, downloads a few segments, decodes them and starts playback. While it plays, it measures throughput and switches renditions, which is how adaptive bitrate streaming works in practice.
Most of it comes from packaging and the player's buffer. RFC 8216 tells HLS clients not to start closer than three target durations from the end of a live playlist. With six-second segments, your viewer starts at least 18 seconds behind the live edge before any network time is added.
AIOZ Stream's own docs put standard HLS latency at about 6 to 12 seconds, LL-HLS at a few seconds and WebRTC under two seconds. Our breakdown of glass-to-glass latency and how to measure it times each stage. For the two main protocol paths, read HLS vs WebRTC for live video and our explainer on Low-Latency HLS.
OBS and PRISM hide the encode and ingest stages behind a settings screen, but you can do the same work from a terminal. This FFmpeg command sends a 720p30 feed to an RTMP server with a one-second keyframe interval. It was not run against AIOZ Stream, since we had no credentials, and RTMP_URL and STREAM_KEY stand in for your values:
ffmpeg -re -i input.mp4 \
-vf scale=1280:720 -r 30 \
-c:v libx264 -preset veryfast -tune zerolatency \
-b:v 3000k -maxrate 3000k -bufsize 3000k \
-g 30 -keyint_min 30 -sc_threshold 0 \
-c:a aac -b:a 128k -ar 48000 -ac 2 \
-f flv "RTMP_URL/STREAM_KEY"To check the keyframe spacing, we ran the same encoder flags on this machine with a local MPEG-TS file as the output, then listed the keyframe timestamps with ffprobe. The output below is real, and the 1.42-second start is the MPEG-TS timestamp offset:
$ ffprobe -v error -select_streams v -skip_frame nokey \
-show_entries frame=pts_time -of csv=p=0 test-live.ts
1.421333
2.421333
3.421333
4.421333
5.421333
6.421333One keyframe per second gives the packager a clean cut point every second. Apple's HLS authoring spec says keyframes should be present every two seconds.
Live concepts
Going live on AIOZ Stream
Managing a livestream
For quick definitions of ingest, rendition, live edge and the other terms on this page, see our video streaming glossary.
We built AIOZ Stream's live path as RTMP in and HLS out, on decentralized delivery. You create a stream key (type Video or Audio) and paste it with the RTMP server URL into OBS or PRISM. A session is optional and preconfigures the title, resolutions, archiving and restream destinations. If you skip the session, AIOZ Stream can create the livestream entry when your feed arrives. Viewers watch through a public playback URL or an embed code, and the player toolbar offers a Low Latency Mode (Beta) for Q&A, auctions or gaming.
The docs recommend CBR at 4,500 to 6,000 Kbps with a one-second keyframe interval for 1080p30, and AAC audio at 128 to 160 Kbps, 48 kHz stereo. For the operations side, the Livestream Statistic API returns ingest and delivery numbers, refreshed every 5 to 30 seconds. This request is adapted from the docs with key headers instead of a Bearer token, and was not run here:
curl --location --request GET 'https://api.aiozstream.network/api/live_streams/statistic/STREAM_MEDIA_ID' \
--header 'stream-public-key: YOUR_PUBLIC_KEY' \
--header 'stream-secret-key: YOUR_SECRET_KEY'
# Example response from the docs
{
"status": "success",
"data": {
"fps_in": 60,
"fps_out": 60,
"bitrate_in": 8029.417662556544,
"bitrate_out": 8406.24,
"data_transferred": 58.441708
}
}What the docs don't cover yet: the OBS guide says "Protocol support: RTMP only", so SRT and WHIP ingest are absent, and Low Latency Mode has no published latency figure. Start with the Create Livestream guide to get your stream key and RTMP URL.
What equipment do I need to live stream?
You need a camera or screen source, a microphone, encoding software such as OBS Studio, and an upload connection faster than your stream bitrate.
What is the difference between encoding and transcoding in live streaming?
Encoding happens on your machine and turns raw frames into one compressed feed; transcoding happens on the platform and turns that feed into several qualities for different viewers.
Why is my live stream 10 to 30 seconds behind?
Segment length and the player's buffer cause most of it, since HLS players start about three segments back from the live edge.
Do I need a CDN to live stream?
Beyond a handful of viewers, yes, or a decentralized node network, because one origin server cannot send every viewer a separate copy.
Can a live stream be watched later?
Yes, if the platform records it; on AIOZ Stream you enable "Save Stream to Archive When Finished" before the broadcast, and the recording becomes a standard video.

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.

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.

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.

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.

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.

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.