Why IPTV encoder settings matter more than the encoder itself
You can run a $1,500 Magewell encoder with bad settings and get worse picture than a $120 generic encoder with good ones. The settings — codec, bitrate, keyframe interval, audio, and transport protocol — are where 90% of the quality and reliability of an IPTV stream actually live.
Codec: H.264 vs H.265 vs AV1
| Codec | Bandwidth | Decoder support | Use when |
|---|---|---|---|
| H.264 / AVC | 100% (baseline) | Universal — every device made since 2010 | Maximum compatibility, mixed-audience streams |
| H.265 / HEVC | 60-70% (saves 30-40%) | Modern devices only | 4K + 8K streams, bandwidth-constrained networks |
| AV1 | 50-60% (saves 40-50%) | 2023+ flagships, Chrome, YouTube | Future-proofing, premium VOD; not yet for live |
Bitrate: the variable that breaks viewers' streams
Underbitrate and you get blocky compression artefacts. Overbitrate and your subscribers' Wi-Fi can't keep up — they buffer, blame your service, and churn. Use these targets:
| Resolution | H.264 bitrate | H.265 bitrate | FPS |
|---|---|---|---|
| 480p SD | 1.0-1.5 Mbps | 0.6-1.0 Mbps | 25/30 |
| 720p HD | 2.5-4 Mbps | 1.5-2.5 Mbps | 25/30 |
| 1080p Full HD | 4-6 Mbps | 2.5-4 Mbps | 25/30 |
| 1080p60 (sport) | 6-8 Mbps | 4-5 Mbps | 50/60 |
| 4K UHD | 20-25 Mbps | 12-18 Mbps | 25/30 |
| 4K60 HDR (sport) | 30-40 Mbps | 18-25 Mbps | 50/60 |
Keyframe interval (GOP length)
Set keyframe interval to 2 seconds matching the standard HLS segment length. This means:
- At 30 fps: keyframe every 60 frames
- At 60 fps: keyframe every 120 frames
- At 25 fps: keyframe every 50 frames
Audio settings
- Codec: AAC-LC (universal) or AAC-HE (50% smaller, fine for speech)
- Bitrate: 128 kbps for general broadcast, 192 kbps for music + sport, 96 kbps for talk radio
- Sample rate: 48 kHz (broadcast standard)
- Channels: Stereo (2.0). For 5.1 surround use E-AC-3 / Dolby Digital Plus at 384-640 kbps
Transport protocol: SRT vs RTMP vs HLS vs MPEG-TS
| Protocol | Latency | Packet loss tolerance | Use when |
|---|---|---|---|
| RTMP | 2-5 s | Low | Pushing to YouTube/Twitch (still required by platforms) |
| SRT | 300 ms-2 s | Very high (forward error correction) | Contribution: encoder → ingest server, especially over unstable internet |
| MPEG-TS over UDP | <200 ms | None | LAN-only distribution (stadiums, hotels) |
| HLS | 6-30 s | High | Distribution: ingest server → end viewers |
| Low-Latency HLS | 2-5 s | High | Live sport / news with HLS players (Smarters Pro, TiviMate) |
| WebRTC | <500 ms | Moderate | Auctions, betting — sub-second matters |
Common encoder-settings mistakes
Variable bitrate (VBR) on live streams
VBR works for VOD, not live. CDN segmentation needs predictable bitrate. Use CBR or capped-VBR — set average and max within 10% of each other.
Forgetting B-frames cost latency
B-frames compress well but add 2-3 frame latency. Disable B-frames for sport / news; enable them for VOD.
Encoding at 25 fps for 60 fps source
Resampling a 60 fps sport feed to 25 fps for 'compatibility' produces visible judder. Match the source frame rate.

