FEC adds calculated redundancy to the stream. The simplest scheme — Reed-Solomon over k data packets producing n total (n > k) — lets the receiver reconstruct the original k from any k of the n. SMPTE 2022-1 specifies a column/row XOR FEC widely used in broadcast IP contribution. ULPFEC (RFC 5109, December 2007) is the FEC used inside WebRTC. RaptorQ (RFC 6330, August 2011) is a more efficient fountain code used in higher-end professional contribution.
The win of FEC is latency stability. There is no round-trip dance; the receiver decodes what arrived and gets the original data immediately. The cost is bandwidth: 25 % FEC overhead protects against up to 20 % loss, which is a steep tax to pay constantly when most of the time loss is near zero. Adaptive FEC schemes adjust the overhead based on observed loss, lowering the tax in good conditions.
For streaming, FEC is most useful on paths where ARQ-induced latency is unacceptable — WebRTC real-time media, satellite distribution, contribution over long bonded cellular. Pure FEC alone usually underperforms; the production pattern is FEC for first-line absorption plus ARQ for cleanup of anything FEC missed. SRT supports FEC via its packet filter API; RIST Main Profile has SMPTE 2022 FEC built in.
The book · Volume 2 of 7
Video Streaming: A Complete Guide to Video Delivery: From Network Protocols and Transport to Ingest, HLS, and MPEG-DASH
FEC trades extra bandwidth for steady latency, which is why it suits links where retransmission takes too long. Volume 2 covers FEC in detail with what the network does to a stream, TCP versus UDP, contribution and ingest over SRT and RIST, and the latency budget. Written by Nikolay Sapunov, CEO at Fora Soft.
Should you use FEC, ARQ or both on your contribution links?
We will measure loss on your links and recommend an FEC and retransmission setup with its bandwidth and latency cost. 250+ video products shipped since 2005.