-
Notifications
You must be signed in to change notification settings - Fork 51
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feature Request: Add startLevel prop to control the quality of first video fragment #792
Comments
FYI @staniwasd I chatted with the team and we're all on board with adding an "unofficial"/"unstable" (though not likely to change for the foreseeable future") |
@mjamesCZ the reason for that is that in Safari Mux Player uses Safari's native HLS engine instead of Hls.js (we find it to be slightly better in terms of Quality of Experience that we track with Mux Data) You can force Safari to use Hls.js by setting However, @mjamesCZ & @staniwasd we have a new parameter that you might find better, which is:
What this does is re-order the rendition list to have the highest rendition at the top. Most players (Hls.js included) will start by attempting to play the first rendition in the list. With this setting I think you'll get the desired behavior that you're going for. The tradeoff is that startup time will be a little worse (because the player has to download, or attempt to download the bigger video), but it seems like that tradeoff is one you're willing to make. |
Thank you for the help @dylanjha! Unfortunately, I'm still having problems with this:
|
@mjamesCZ unfortunately there's no way to control the equivalent of |
Is there an existing issue for this?
Which Mux Elements/Packages does this apply to? Select all that apply
mux-video, mux-video-react, mux-player, mux-player-react
Description
Hey!
A fairly common problem these days is that a stream starts with a lower video quality, and after checking your internet connection, the next segment is generally of better quality. The easiest way to reproduce it is to open any stream on Twitch. This may be fine for long streams, but in the case of a short video, especially when you loop it, it becomes a more serious problem because this low quality fragment remains in the cache.
The current library (hls.js) on which the MUX components are built has a startLevel parameter that allows you to control the quality of the first fragment. Having this capability will help improve the user experience by providing a better quality stream from the start.
This can be a separate prop startLevel, or a general prop, for example hlsConfig, which allows you to override all params in hls.
hls.js API doc - https://github.com/video-dev/hls.js/blob/master/docs/API.md#startlevel
Pull request with the change - #772
Expected Behavior
Ability to control the quality of the first video fragment through the startLevel property.
The text was updated successfully, but these errors were encountered: