# Key frame without PLI

**URL:** <https://mediasoup.discourse.group/t/key-frame-without-pli/602>\
**Category:** mediasoup libraries\
**Created:** [February 27, 2020, 8:58am UTC](https://mediasoup.discourse.group/t/key-frame-without-pli/602 "2020-02-27T08:58:13Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![realslimshady](https://avatars.discourse-cdn.com/v4/letter/r/f1d935/32.png) [@realslimshady](https://mediasoup.discourse.group/u/realslimshady)\
**Post date:** [February 27, 2020, 8:58am UTC](https://mediasoup.discourse.group/t/key-frame-without-pli/602/1 "2020-02-27T08:58:13Z")

</div>

I’ve just read [here](https://mediasoup.discourse.group/t/media-streams-produced-by-ffmpeg-or-gstreamer-are-not-received-via-some-isps/414/22) that if the keyframes are not in reply to the PLI, they “are mostly useless”.

So if a producer (like ffmpeg) does not support PLI and sends keyframes at regular intervals, but the consumer keeps on sending PLIs he will never be able to recover? Or did I misunderstand this?

---

<div class="post-metadata">

**Author:** ![jmillan](https://yyz2.discourse-cdn.com/free1/user_avatar/mediasoup.discourse.group/jmillan/32/9_2.png) [@jmillan](https://mediasoup.discourse.group/u/jmillan)\
**Post date:** [February 27, 2020, 10:01am UTC](https://mediasoup.discourse.group/t/key-frame-without-pli/602/2 "2020-02-27T10:01:09Z")

</div>

Firstly, if the producer does not support PLI then do not negotiate them if you know they will be ignored.

Secondly, the consumer will have the chance to start encoding from a fresh key frame every time it receives one, no matter if it was requested or not.

---

<div class="post-metadata">

**Author:** ![realslimshady](https://avatars.discourse-cdn.com/v4/letter/r/f1d935/32.png) [@realslimshady](https://mediasoup.discourse.group/u/realslimshady)\
**Post date:** [February 27, 2020, 10:07am UTC](https://mediasoup.discourse.group/t/key-frame-without-pli/602/3 "2020-02-27T10:07:28Z")

</div>

Thanks! I guess you mean “consumer will have the chance to start _decoding_ from a fresh key frame”.

---

<div class="post-metadata">

**Author:** ![realslimshady](https://avatars.discourse-cdn.com/v4/letter/r/f1d935/32.png) [@realslimshady](https://mediasoup.discourse.group/u/realslimshady)\
**Post date:** [February 27, 2020, 10:09am UTC](https://mediasoup.discourse.group/t/key-frame-without-pli/602/4 "2020-02-27T10:09:08Z")

</div>

And yes, I don’t negotiate any RTCP feedback (like you guys do [here](https://mediasoup.org/documentation/v3/communication-between-client-and-server/#example-inject-audio-and-video-using-ffmpeg)).

---

<div class="post-metadata">

**Author:** ![ibc](https://yyz2.discourse-cdn.com/free1/user_avatar/mediasoup.discourse.group/ibc/32/1540_2.png) [@ibc](https://mediasoup.discourse.group/u/ibc)\
**Post date:** [February 27, 2020, 11:01am UTC](https://mediasoup.discourse.group/t/key-frame-without-pli/602/5 "2020-02-27T11:01:07Z")

</div>

Yes. It’s “decoding”.

---

<div class="post-metadata">

**Author:** ![jmillan](https://yyz2.discourse-cdn.com/free1/user_avatar/mediasoup.discourse.group/jmillan/32/9_2.png) [@jmillan](https://mediasoup.discourse.group/u/jmillan)\
**Post date:** [February 27, 2020, 12:45pm UTC](https://mediasoup.discourse.group/t/key-frame-without-pli/602/6 "2020-02-27T12:45:35Z")

</div>

Yes, “decoding” of course.
