title: How should PLI packets be used in WebRTC video recording
body: <p>We are using the <a href="http://lynckia.com/licode/" rel="noreferrer">licode</a> MCU to streaming video from Google Chrome to the server and record it.  The tricky part here is that there is only one Chrome browser involved so the server-side <a href="https://github.com/Affectiva/licode/blob/master/erizo/src/erizo/rtp/RtcpProcessor.cpp" rel="noreferrer">code</a> has to handle sending feedback to the client.</p>
  
  <p>We added server-side <a href="https://github.com/Affectiva/licode/blob/master/erizo/src/erizo/rtp/RtcpProcessor.cpp#L212" rel="noreferrer">code</a> to send REMB (bandwidth) packets every 5 seconds to the client.  This causes the client to increase bitrate so that the video quality is good.</p>
  
  <p>We did something <a href="https://github.com/Affectiva/licode/blob/master/erizo/src/erizo/rtp/RtcpProcessor.cpp#L223" rel="noreferrer">similar</a> with PLI packets to attempt to improve video quality.  The recorded video had blocky artifacts and didn't look good.  The current code sends a PLI every 0.8 seconds which causes the client to send a keyframe (full frame of video).  This fixes the poor video quality because it forces a keyframe but when there is packet loss (wifi network) it quickly gets bad again.</p>
  
  <p>My question is how should these PLI packets be used?</p>
  
  <p>I think PLI means:</p>
  
  <pre><code>PLI    - Picture Loss Indication
  </code></pre>