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

Consultation about Low Latency HLS player #4731

Closed
gu9694 opened this issue Jun 10, 2022 · 3 comments
Closed

Consultation about Low Latency HLS player #4731

gu9694 opened this issue Jun 10, 2022 · 3 comments

Comments

@gu9694
Copy link

gu9694 commented Jun 10, 2022

What do you want to do with Hls.js?

Hi, I'm a developer of Apple Low Latency HLS and I try to use hls.js-1.1.5 to play my Low Latency HLS stream.
However, I find that after each playback starts for a period of time, the hls.js player will stop request and play big segments, instead of partial segments.
I'm wondering in which scenario, the hls.js player will stop request partial segments and begin to request big, completed segments. It is possible for me to correct my output Low Latency HLS stream, if I know the reason why the hls.js player behaves like this.

What have you tried so far?

No response

@gu9694 gu9694 added Needs Triage If there is a suspected stream issue, apply this label to triage if it is something we should fix. Question labels Jun 10, 2022
@rikhwanto
Copy link

rikhwanto commented Aug 25, 2022

I was trying to play LL-HLS stream from OvenMediaEngine with hls.js demo page and I encountered similar behavior. At first hls.js played the stream perfectly, but after playing for a while the player kept stalling. I checked my browser's network requests and found out that hls.js was requesting large complete segments instead of smaller partial segments or chunks. I assume that the server hadn't had complete segments ready yet when hls.js requested it because it took too much time between the browser request and server response for said segment, hence why the playback kept stalling.

I didn't have problem playing the same stream with theoplayer's demo page so I guess this was a quirk to hls.js.

@robwalch
Copy link
Collaborator

robwalch commented Aug 25, 2022

Not a Contribution

I assume that the server hadn't had complete segments ready yet when hls.js requested it because it took too much time between the browser request and server response for said segment

That would be a stream issue. HLS clients can only load segments listed in the HLS playlist, and the playlist should only list segments (EXT-INF) that are complete and ready to deliver.

I checked my browser's network requests and found out that hls.js was requesting large complete segments instead of smaller partial segments or chunks.

With HLS.js this could happen when playback is unable to keep up with the part list or when lowlatencyMode is disabled. Try reproducing the issue in the demo app, observing the Timeline and Buffer & Stats tabs. This sometimes helps to reveal playlist related playback issues.

If you are working with Low-Latency HLS streams please help by testing against #4825. The insight into roundtrip latency or TTFB (time to first byte) and the fixes in that PR may help explain why you are seeing stalls.

@robwalch robwalch added answered and removed Needs Triage If there is a suspected stream issue, apply this label to triage if it is something we should fix. labels Aug 25, 2022
@robwalch
Copy link
Collaborator

Closing due to inactivity.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants