http-streaming icon indicating copy to clipboard operation
http-streaming copied to clipboard

FeatureRequest: Add configuration for a fast quality switching

Open dzianis-dashkevich opened this issue 2 years ago • 0 comments

Description

Hi!

I am working with STB and we are using Video.Js for HLS live playback. I noticed random freezes during playback.

I collected debug logs for ~6 hours of playback and noticed a lot of:

  • vhs-unknown-waiting
  • vhs-gap-skip
  • vhs-live-resync
  • waiting events.

From the source code, I see that it will be always fast quality switching - meaning that as far as quality changes, already appended segments will be replaced

freeze-snapshot

I decided to test the same stream, but with only one rendition allowed for the same playback time. As a result - The playback was flawless. There were no gap-skipping, live resyncs, and waitings.

What do you think about introducing a new configuration - something similar to fastSwitchEnabled in the dashjs buffer configuration? So that it will be possible to configure low-performant devices. Updated quality segments will be appended to the buffered end. Already appended segments will not be replaced.

Steps to reproduce

I suppose the easiest way is to throttle the Network and CPU up and down during playback via chrome dev tools.

Browsers

I was testing on Chromium 72.0.3626.121(Linux) and 98.0.4758.109(macOS)

Platforms

Linux, macOS

Other Plugins

No

Other JavaScript

The issue occurs even without any other js libraries

dzianis-dashkevich avatar Feb 28 '22 19:02 dzianis-dashkevich