В лифтовом холле на 1 этаже висит ТВ, куда выводится картинка с камер видеонаблюдения.
Столкнулся с проблемой — канала интернета не всегда хватает для стабильного лайва.
Очень капризный к каналу WebRTC не вывозил. Фризы, обрывы, черный квадрат вместо картинки.
Пришлось переключиться на MSE с буферизацией.
Буфер решил проблему стабильности, но появилось существенное отставание от реального времени.
Костылить постоянными перемотками так себе идея: на картинке постоянно крутился бы бублик загрузки.
Сделал мягкую синхронизацию.
Держу воспроизведение в ~0.2 сек от live-края буфера (самого свежего доступного кадра в буфере).
При небольшом отставании чуть ускоряю скорость воспроизведения playbackRate (110%).
Только при критическом отставании перематываю таймлайном.
В реальных проектах часто приходится выбирать не лучшее решение, а то, которое продолжает работать при ухудшении условий.
