Skip to content
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

Improve support for low-latency HLS live streams #5011

Closed
amirzandi opened this issue Oct 25, 2018 · 12 comments
Closed

Improve support for low-latency HLS live streams #5011

amirzandi opened this issue Oct 25, 2018 · 12 comments
Assignees

Comments

@amirzandi
Copy link

We are creating a player to play HLS live streams on both iOS and Android devices. The problem is, when an iOS user opens the player, videos starts with not latency unlike EXOPLAYER on an Android device.
EXOPlayer is not synced with the stream server, iOS player is synced but there is a 15 seconds delay on Android EXOPlayer which means when the performer raise a hand, it displays timely on iOS AVNPlayer but after

Is there any solution?

@AquilesCanta
Copy link
Contributor

#4904 tracks latency improvement for DASH live streams. I guess we can use this issue to track the same in HLS. This is not an aspect we have worked explicitly on. Something that is worth checking is the position in the live window. Stream characteristics also affect how close to the live edge the player gets. What happens if you seek to the very live edge, for instance?

@AquilesCanta AquilesCanta self-assigned this Oct 25, 2018
@AquilesCanta AquilesCanta changed the title Exoplayer is not synced with other players on other platforms Improve support for low-latency HLS live streams Oct 25, 2018
@heff
Copy link

heff commented Feb 8, 2019

Support LHLS (Low-latency HLS)

There's a spec in process for "LHLS" which follows the Periscope and Twitch pattern for advertising segments before they're fully transcoded.

It'd be great if someone familiar with ExoPlayer's HLS implementation could review the details for any issues and consider supporting it.

@ojw28
Copy link
Contributor

ojw28 commented Jul 9, 2019

Some interesting views on what Apple came up with:
https://mux.com/blog/the-community-gave-us-low-latency-live-streaming-then-apple-took-it-away/

@kevleyski
Copy link

Thanks for working on this, will mention your efforts at the preso tomorrow. If I find some time and convince the right people I’ll try and help out
https://tinyurl.com/yyr2rz8m

@tonihei
Copy link
Collaborator

tonihei commented Sep 19, 2019

We published our design doc on our webpage - open for comments!

@johndeu
Copy link

johndeu commented May 7, 2020

@tonihei any updates on if you will take LL HLS (Pantos official spec) in the coming 6-12 months?

@tonihei
Copy link
Collaborator

tonihei commented May 8, 2020

We don't usually provide fixed time estimates and it's best to just subscribe to this issue to see updates. But "in the coming 6-12 months" is vague enough to say yes :)

@andrealvaradodearaujo
Copy link

any update?

ojw28 pushed a commit that referenced this issue Nov 2, 2020
Issue: #5011
PiperOrigin-RevId: 339093145
ojw28 pushed a commit that referenced this issue Nov 2, 2020
Issue: #5011
PiperOrigin-RevId: 339467702
ojw28 pushed a commit that referenced this issue Nov 2, 2020
Issue: #5011
PiperOrigin-RevId: 339738292
ojw28 pushed a commit that referenced this issue Nov 2, 2020
andrewlewis pushed a commit that referenced this issue Nov 6, 2020
andrewlewis pushed a commit that referenced this issue Nov 6, 2020
Issue: #5011
PiperOrigin-RevId: 340621758
andrewlewis pushed a commit that referenced this issue Nov 6, 2020
Issue: #5011
PiperOrigin-RevId: 340625816
christosts pushed a commit that referenced this issue Nov 13, 2020
Issue: #5011
PiperOrigin-RevId: 342022947
ojw28 pushed a commit that referenced this issue Nov 19, 2020
Issue: #5011
PiperOrigin-RevId: 343277357
ojw28 pushed a commit that referenced this issue Dec 3, 2020
This change avoids an early fatal exception for replaced hinted parts.

Issue: #5011
PiperOrigin-RevId: 344828076
ojw28 pushed a commit that referenced this issue Dec 3, 2020
This is to ensure we can still discard the data if needed.

Issue: #5011
PiperOrigin-RevId: 344977548
ojw28 pushed a commit that referenced this issue Dec 3, 2020
Low latency streams potentially need to remove preload chunks in case they are removed from the playlist. Hence we need to schedule loading the next playlist even if the playlist is not a primary playlist.

Issue: #5011
PiperOrigin-RevId: 344995891
ojw28 pushed a commit that referenced this issue Dec 3, 2020
ojw28 pushed a commit that referenced this issue Dec 3, 2020
ojw28 pushed a commit that referenced this issue Dec 3, 2020
icbaker pushed a commit that referenced this issue Dec 14, 2020
icbaker pushed a commit that referenced this issue Dec 14, 2020
Issue: #5011
PiperOrigin-RevId: 346828103
ojw28 pushed a commit that referenced this issue Dec 23, 2020
If we have trailing parts the available window should reach to
the end of all trailing parts and not only to the last finished
segment.

Issue: #5011
PiperOrigin-RevId: 347996626
ojw28 pushed a commit that referenced this issue Dec 23, 2020
The delta updates loose information about previous init segments.
Until this is properly fixed, we can avoid the problem by not
using delta updates.

Issue: #5011
PiperOrigin-RevId: 348023895
ojw28 pushed a commit that referenced this issue Dec 23, 2020
Issue: #4904
Issue: #5011
PiperOrigin-RevId: 348655288
icbaker pushed a commit that referenced this issue Jan 8, 2021
icbaker pushed a commit that referenced this issue Jan 8, 2021
@tonihei
Copy link
Collaborator

tonihei commented Jan 11, 2021

Closing this feature request as it's fully implemented and will be released in 2.13.0.

@tonihei tonihei closed this as completed Jan 11, 2021
@RamilGabdrakhmanov
Copy link

Could you add samples in demo app?

@natario1
Copy link
Contributor

Does this include support for both community and Apple LL HLS? It's not very clear from the design doc - it mentions both but then says that Apple implementation is going to take more work. Thanks!

@tonihei
Copy link
Collaborator

tonihei commented Jan 19, 2021

@natario1 Just Apple's version of LL HLS. If you specifically need support for the community variant, you might want to open a new issue to ensure it's tracked as a feature request. Happy to receive PRs for this as well :)

@google google locked and limited conversation to collaborators Mar 13, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

10 participants