google/ExoPlayer

Improve support for low-latency HLS live streams

Closed this issue ยท 12 comments

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?

#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?

heff commented

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.

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

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

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

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 :)

any update?

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

Could you add samples in demo app?

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!

@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 :)