videojs / http-streaming

HLS, DASH, and future HTTP streaming protocols library for video.js
https://videojs-http-streaming.netlify.app/
Other
2.46k stars 420 forks source link

Low-Latency HLS Feature Request #1054

Closed rachelyang123 closed 2 years ago

rachelyang123 commented 3 years ago

Description

I have a question for VideoJS Http-Streaming. Are you working on adding Apple Low-Latency HLS feature or any plugin into your player? We are using Wowza live streaming video delivery system. It is able to deliver Low Latency HLS live streams via CMAF packetizer right now. We are going to launch this function on our company's platform. Therefore, we are also considering on using a Low-Latency enabled player. Theoplayer can support LL-HLS playback in industry standard; Nexplayer claimed they can also support CMAF Low Latency Chunks to optimize the latency around 3 seconds. Fortunately, we plan to move our end-to-end service forward to VideoJS as our player. So we are eager to know whether we have already provided LL-HLS feature or been working on it with ETA.

welcome[bot] commented 3 years ago

👋 Thanks for opening your first issue here! 👋

If you're reporting a 🐞 bug, please make sure you include steps to reproduce it. We get a lot of issues on this repo, so please be patient and we will get back to you as soon as we can. To help make it easier for us to investigate your issue, please follow the contributing guidelines.

gkatsev commented 3 years ago

We have started work on LL-HLS. Unfortunately, we don't have an ETA for when it'll be ready, as getting support for it is a lot of work, but keep your eyes peeled for PRs. We've started with the m3u8 parsing over here https://github.com/videojs/m3u8-parser/compare/22dbb60c3f38bba5561ab41496fc8b459fb765f9...985ab687187147e4b96f39248f47047679e6ab7a. Our initial work plan is to support single rendition LL-HLS with CMAF and then work from there to hopefully support everything.

Nyceane commented 3 years ago

@gkatsev I also need LL-HLS support really bad... let me know what's needed to get this running.

DigitalMachinist commented 3 years ago

Hey, I'm just here to +1 support for this feature. Subscribing to this issue in hopes that there's some movement because this will be a big improvement for the product I'm working on right now.

gkatsev commented 3 years ago

We're working on LL-HLS right now, though, as mentioned earlier, no ETA for production readiness.

DigitalMachinist commented 3 years ago

Thanks for confirming @gkatsev. Happy to hear it, even if it'll be a little while.

ChR-iSz commented 2 years ago

Any Beta-Testing news ?

gkatsev commented 2 years ago

Yes! I've forgotten to circle back. Our LLHLS is much improved. Please try it out with the experimentalLLHLS setting ({html5: {vhs: { experimentalLLHLS: true }}}). It should work with the latest Video.js (7.17.0). The only known issue is that the Apple test streams don't work very well. We also don't have any knobs for tuning latency or catch up. Both of those things are stuff we want to implement, but we're unable to get to yet.

gkatsev commented 2 years ago

Also, it likely works better with experimentalBufferBasedABR setting enabled as well.

rachelyang123 commented 2 years ago

Hi Gary, thank you for your updates. We'll begin testing in our Beta environment.

ChR-iSz commented 2 years ago

Hello Gary,

Thats amazing news!! I start testing this weekend your player with streams published by Wowza Streaming Engine. Will send my analysis and improvments here. Great Job!!!

ChR-iSz commented 2 years ago

Hi again,

i tested it now with Wowza Streaming Engine: Doc here

Mhh, the delay looks 10-12 seconds. Strange are, i see the Protocol is GET. Should it be not h2 ?

Another is, the stream runs 20-30 seconds, then freeze. I will more tests and send feedback here.

Can you please send me the correct videos javascript options, that i make no error in the videos javascript setup config please... Thanks...

ChR-iSz commented 2 years ago

Okay, next test looks strange:

Same config as my before post:

Online Theo Player Link here has a delay from 2-3 Seconds. VideoJs 7.17.0 with {html5: {vhs: { experimentalLLHLS: true }}} has 30 seconds delay.

I verify this with a embedded timecode im my stream.

It looks like, the issue with big delay is on videojs player. Not on wowza streaming engine. In Theo player i have a fine delay from 2-3 seconds.

stale[bot] commented 2 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

MrXermon commented 2 years ago

Any update on this?

gkatsev commented 2 years ago

LLHLS support is available now if you set experimentalLLHLS. Ideally, you should also enable experimentalBufferBasedABR.

gkatsev commented 2 years ago

Closing this issue in favor #721, to keep it all in one place going forward. Please try it out and report any issues. Though, unfortunately, the team is mostly indisposed currently, so, fixes may take a while.