В лифтовом холле на 1 этаже висит ТВ, куда выводится картинка с камер видеонаблюдения.

Столкнулся с проблемой — канала интернета не всегда хватает для стабильного лайва.

Очень капризный к каналу WebRTC не вывозил. Фризы, обрывы, черный квадрат вместо картинки.
Пришлось переключиться на MSE с буферизацией.

Буфер решил проблему стабильности, но появилось существенное отставание от реального времени.

Костылить постоянными перемотками так себе идея: на картинке постоянно крутился бы бублик загрузки.

Сделал мягкую синхронизацию.

Держу воспроизведение в ~0.2 сек от live-края буфера (самого свежего доступного кадра в буфере).
При небольшом отставании чуть ускоряю скорость воспроизведения playbackRate (110%).
Только при критическом отставании перематываю таймлайном.

В реальных проектах часто приходится выбирать не лучшее решение, а то, которое продолжает работать при ухудшении условий.