<p>Don't use intra-refresh with WebRTC - no implementation supports it, they all will wait for a full-blown IDR frame</p>

CC BY-SA 4.0
2023-10-17T08:27:18.900Z
2023-10-17T08:27:18.900Z
Vitaly Ivanov
<p>I'm building low delay live streaming with use webrtc. My server application use gstreamer and UDP as transport. It works fine except that lost UDP packets leads to too long drops. To improve user experience I enabled intra-refresh mode of gstreamer's x264enc. It should lead to more flat bitrate and faster picture restoring in case of lost UDP packets.</p>
<p>But browser's player works fine until the first dropped packet and then it freezes and does not decodes anything. I tried chrome/safari/firefox and the result is same.
I believe video decoders in browsers should process that kind of video streams.</p>
<p>Maybe I should add some additional option to x264enc or I can somehow diagnose the problem with player on lower level?</p>
<p>Options I use now:
x264enc bitrate=10000 pass=qual intra-refresh=1 speed-preset=1 tune=zerolatency</p>

<video><streaming><x264>
Intra-refresh mode in x264 encoder causes browser's player freeze
misterx527
# Intra-refresh mode in x264 encoder causes browser's player freeze

(Asked by: username_0 on 2022-10-17)

I'm building low delay live streaming with use webrtc. My server application use gstreamer and UDP as transport. It works fine except that lost UDP packets leads to too long drops. To improve user experience I enabled intra-refresh mode of gstreamer's x264enc. It should lead to more flat bitrate and faster picture restoring in case of lost UDP packets.

But browser's player works fine until the first dropped packet and then it freezes and does not decodes anything. I tried chrome/safari/firefox and the result is same.
I believe video decoders in browsers should process that kind of video streams.

Maybe I should add some additional option to x264enc or I can somehow diagnose the problem with player on lower level?

Options I use now:
x264enc bitrate=10000 pass=qual intra-refresh=1 speed-preset=1 tune=zerolatency

**Tags:** video, streaming, x264


---

## 1 answers

### Answer by username_1 on 2023-10-17. Score: 0

Don't use intra-refresh with WebRTC - no implementation supports it, they all will wait for a full-blown IDR frame


---

