PLI stands for Picture Loss Indication. It is one of the error resiliency mechanisms in WebRTC.

A PLI can be sent when the receiver of the media lost a full frame or more. It is sent over RTCP.

A receiver of this message can decide to resent a full frame if he has one available in cache and finds it usable.

This message is similar to a FIR message but a bit more lenient in its heuristic.

Importance of PLI in WebRTC

In a WebRTC video call, maintaining the quality of the video stream is paramount. Networks can be unpredictable, and data packets, including video frames, can get lost or arrive out of order.

When a receiver detects that a picture is missing or corrupted, it sends a PLI message back to the sender. The sender can now ensure that the video stream remains intact and of high quality by re-transmitting the lost picture or sending a brand new intra-frame to reset the video feed.

PLI plays a crucial role in the error recovery process within a WebRTC video communication setup.

By signaling the sender about the loss of picture data, it helps in triggering the necessary corrective actions to restore the video stream’s quality.

Implementation of PLI

The implementation of PLI in a WebRTC setup involves both the sender and the receiver. The receiver monitors the incoming video stream for any missing or corrupted pictures.

When such an event is detected, it generates a PLI message and sends it back to the sender via RTCP. The sender, upon receiving the PLI message, can re-transmit the lost or corrupted picture to the receiver or it may reset the stream using an i-frame. It may also decide to ignore the message altogether.

The PLI mechanism is a part of the error resilience features provided by WebRTC to handle adverse network conditions and ensure a smooth and high-quality video communication experience.

About WebRTC Glossary

The WebRTC Glossary is an ongoing project where users can learn more about WebRTC related terms. It is maintained by Tsahi Levent-Levi of BlogGeek.me.

Looking to learn more about WebRTC? 

Check my WebRTC training courses