Skip to main content

Video encoding, bitrates and resolution

Pick settings that look good and do not melt your bandwidth or CPU.

Bad streaming settings cause buffering, blur, or a maxed-out server. These are the dials that matter.

Resolution and bitrate pairing

ResolutionMotion contentStatic/talk content
1080p4500–6000 kbps3000–4500 kbps
720p2500–4000 kbps1500–2500 kbps
480p1000–1500 kbps800–1200 kbps
360p600–800 kbps400–600 kbps

Faster motion needs more bitrate to avoid smearing. A talking-head stream looks fine at far less than a fast-paced game.

Codec

  • H.264 (AVC) — universal compatibility. The safe default.

  • H.265 (HEVC) — better quality per bit, but patchier browser support and heavier encode.

  • AV1 — best compression, still expensive to encode and unevenly supported. Good for VOD, less so for live ingest.

Keyframe interval

Set it to about 2 seconds (or 2× your frame rate). HLS segments are cut on keyframes; a long interval delays segment creation and hurts seek/preview.

The upload constraint

Your encoder's upload bandwidth caps your bitrate. Rule of thumb: never exceed half your measured upload speed, so you have headroom for retries and other traffic. A 10 Mbit/s upload comfortably supports one 4 Mbps stream.

CPU cost of transcoding

Encoding is CPU-hungry; hardware acceleration (NVENC/QuickSync/VA-API) makes a large difference. If you transcode to several renditions on a VPS, do the arithmetic first: each rendition is roughly another encode. On CPU-only servers, one or two renditions is often the practical ceiling.

VOD encoding

For on-demand files you can afford slower, better encodes (two-pass, HEVC/AV1) because it is not real-time. See Video on demand.

Related reading