question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Improve default live quality increase settings to work with live streams playing at ~3 segments live offset.

See original GitHub issue

I’m reproducing an issue with all versions of ExoPlayer from 2.13.0 to 2.16.1 where ExoPlayer does not switch to a higher resolution on a Live DASH stream with AVC video tracks.

ExoPlayer starts playing the 896x504 track then never chooses 1280x720 or 1920x1080 even if there is enough network bandwidth.

Here is the list of available video tracks:

MediaCodecVideoRenderer [
     Group:0, adaptive_supported=YES [
       [X] Track:0, id=1209, mimeType=video/avc, bitrate=400000, codecs=avc1.64000d, drm=[widevine,cenc], res=384x216, fps=25.0, supported=YES
       [X] Track:1, id=1211, mimeType=video/avc, bitrate=800000, codecs=avc1.64001e, drm=[widevine,cenc], res=640x360, fps=25.0, supported=YES
       [X] Track:2, id=1212, mimeType=video/avc, bitrate=1600000, codecs=avc1.64001f, drm=[widevine,cenc], res=896x504, fps=25.0, supported=YES
       [X] Track:3, id=1213, mimeType=video/avc, bitrate=3000000, codecs=avc1.64001f, drm=[widevine,cenc], res=1280x720, fps=25.0, supported=YES
       [X] Track:4, id=1214, mimeType=video/avc, bitrate=4800000, codecs=avc1.640028, drm=[widevine,cenc], res=1920x1080, fps=25.0, supported=YES
     ]
]

As stream URL and DRM info are sensitive, I’ll provide you by email a sample code hosted on a private GitHub repository to help you reproduce the issue. Please let me know if you need anything else.

Issue Analytics

  • State:closed
  • Created 2 years ago
  • Comments:8 (4 by maintainers)

github_iconTop GitHub Comments

2reactions
toniheicommented, Feb 10, 2022

I see, thanks for pointing this out! This edge case only applies if availableDurationUs > configured configured minDurationForQualityIncreaseUs, but the adjusted minDurationForQualityIncreaseUs < configured minDurationForQualityIncreaseUs. Will update the condition to always choose the minimum of adjusted and configured minDurationForQualityIncreaseUs.

1reaction
jamesdavidholdingcommented, Feb 8, 2022

Hi @tonihei with the above insight provided against this issue still being present for 4 Second segments with a 4 second update period can I ask would you be able to reopen this ticket to handle this permutation also?

Can I also ask in the interim of this issue not being merged and the above 4sec segment issue observed what would recommend for segment update and segment length to not encounter this issue? Do you see an issue with 2Sec segments with a 4second update for example.

Read more comments on GitHub >

github_iconTop Results From Across the Web

How to Improve Live Streaming Quality in 8 Steps (2022 Update)
Professional broadcasting requires top-notch live streaming quality. Here are 8 the best tips on how to improve your live streaming quality.
Read more >
BEST Stream Quality Settings 2022 - YouTube
Learn to understand how to get the best quality you can out of OBS to stream to various platforms! Learn all about Bitrate,...
Read more >
Manage live stream settings - YouTube Help
Manage live stream settings. Choosing the correct stream settings can help you reach the right audience and get the best quality stream. Note:...
Read more >
draft-pantos-hls-rfc8216bis-12 - IETF Datatracker
1. Low-Latency Server Configuration Profile Playing at a reduced delay from live requires certain stream and transport features to support the timely delivery ......
Read more >
RFC 8216: HTTP Live Streaming
RFC 8216 HTTP Live Streaming August 2017 3. Media Segments A Media Playlist contains a series of Media Segments that make up the...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found