Brussels / 3 & 4 February 2024


Enhancing the video call experience with Forward Error Correction

Packet losses are common in real-time communications, due to the nature of transmissions. Forward Error Correction (FEC) is a well-known technique for controlling errors in data transmission. The goal is to recreate a lost packet, based on other transmitted packets and redundant information included in specific FEC packets.

Packet losses are well handled for audio streams thanks to Packet Loss Concealment (PLC), which makes them almost un-noticeable to the end users. However, they are far more complicated to handle for video data. FEC offers a solution to compensate the loss rates typically observed over the Internet. At the expense of a relatively low overhead and small latency, the redundancy information transmitted by the sender lets the receiver re-create the missing packets.

There are currently various FEC standard techniques and approaches documented at IETF. The Linphone project has selected the Flexible Forward Error Correction scheme (flexfec) documented in RFC8627.

This talk will talk about: - the principles of Forward Error Correction - why the Linphone team chose the Flexible Forward Error Correction scheme - what were the implementation challenges - what are the observable results at the Linphone app level


Photo of Jehan Monnier Jehan Monnier
Photo of Flore Harlé Flore Harlé