-
Notifications
You must be signed in to change notification settings - Fork 422
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
ABR logic is selecting low-quality stream in good network conditions #1203
Comments
The issue appears to be resolved, providing more details below. Background: Details: Path forward: http-streaming now provides an option called |
Description
This stream switches to a low-quality rendition regardless of network quality or screen size. The issue is noticeable at various points. One such point is the 18 minute mark.
I debugged the stream a bit and found that the rendition is changing because the bandwidth of the next stream is < than bandwidth of the current stream:
"allowing switch 4-QualityLevels(2200000)/Manifest(video,format=m3u8-aapl,filter=L565ee88caebac2b000-default-filter) -> 3-QualityLevels(1350000)/Manifest(video,format=m3u8-aapl,filter=L565ee88caebac2b000-default-filter) as next bandwidth < current bandwidth (1526836 < 2395536)". The check/request to switch media originates from the
setupSegmentLoaderListeners_
method, which listens for thebandwidthupdate
event. Anecdotally, it seems like this event is fired more frequently in this stream than in streams without the described issue. Furthermore, I found that enablingexperimentalBufferBasedABR
fixes the symptom of this issue (low-quality selected) because it causes the media-switching logic insetupSegmentLoaderListeners_
to be avoided altogether. Is this option stable for production use?Sources
https://livectorprodmedia18-usct.licdn.com/29f102e1-c910-4752-8076-875489231a59/L565ee88caebac2b000-livemanifest.ism/manifest(format=m3u8-aapl)
Steps to reproduce
Explain in detail the exact steps necessary to reproduce the issue.
Results
Expected
The stream should not go blurry and the high-quality rendition should be selected (assuming a strong network connection & standard screen size)
Error output
If there are any errors in the console, from the player, or anywhere else please include them here:
Additional Information
Player stats, taken from the demo page:
{
"bandwidth": 3724136,
"resolution": {
"width": 1280,
"height": 720
},
"codecs": "avc1.64001f,mp4a.40.5",
"byteLength": 78584,
"uri": "https://livectorprodmedia18-usct.licdn.com/29f102e1-c910-4752-8076-875489231a59/L565ee88caebac2b000-livemanifest.ism/QualityLevels(3500000)/Fragments(video=98826030,format=m3u8-aapl)",
"timeline": 0,
"playlist": "5-QualityLevels(3500000)/Manifest(video,format=m3u8-aapl,filter=L565ee88caebac2b000-default-filter)",
"start": 1098,
"end": 1100.001
}
videojs-http-streaming version
I am testing with the latest release of http-streaming
videojs version
what version of videojs does this occur with?
video.js x.y.z
Browsers
what browsers are affected? please include browser and version for each
Platforms
what platforms are affected? please include operating system and version or device and version for each
*
Other Plugins
are any other videojs plugins being used on the page? If so, please list them with version below.
Other JavaScript
are you using any other javascript libraries or frameworks on the page? if so please list them below.
The text was updated successfully, but these errors were encountered: