http-streaming icon indicating copy to clipboard operation
http-streaming copied to clipboard

Simple Low Latency Question

Open Kieranwest opened this issue 3 years ago • 4 comments

Hi all, Most likely a simple answer but I genuinely cannot for the life of me understand why I can't get low latency working on my own pages vs the demo tool over on - https://videojs-http-streaming.netlify.app/

My code is ridiculously simple yet I just cannot get a low latency stream. I get a 15-20 second delayed in comparison.

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Live</title>
	
	<link href="//vjs.zencdn.net/7.10.2/video-js.min.css" rel="stylesheet">
</head>

<body>
<video-js id=stream width=800 height=600 class="vjs-default-skin" controls>
</video-js>
<script src="//vjs.zencdn.net/7.10.2/video.min.js"></script>

<script>
var player = videojs('stream', {
	liveui: true,
	experimentalLLHLS: true
});

player.src({
  src: 'MY URL',
  type: 'application/x-mpegURL'
});
</script>

</body>

</html>

Kieranwest avatar Oct 22 '22 22:10 Kieranwest

👋 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.

welcome[bot] avatar Oct 22 '22 22:10 welcome[bot]

You've got the right property, but it isn't in the correct place. The LLHLS config goes on the VHS object, something like:

var player = videojs('stream', {
  liveui: true,
  html5: {
    vhs: {
      experimentalLLHLS: true
    }
  }
});

Hope that helps!

gkatsev avatar Oct 22 '22 22:10 gkatsev

You've got the right property, but it isn't in the correct place. The LLHLS config goes on the VHS object, something like:

var player = videojs('stream', {
  liveui: true,
  html5: {
    vhs: {
      experimentalLLHLS: true
    }
  }
});

Hope that helps!

I thought this might be the case and did something similar. Even with your code it looks like I'm still receiving with the 15 second delay. I've attempted adding the overrideNative option too but seems like that hasn't helped either. Not sure where I'm going wrong on this one

Kieranwest avatar Oct 22 '22 22:10 Kieranwest

This property has changed in VHS to simply be named llhls, so the above example would now be:

var player = videojs('stream', {
  liveui: true,
  html5: {
    vhs: {
      llhls: true
    }
  }
});

I don't think we can help investigate without a reduced test case/sample stream for what you're experiencing.

misteroneill avatar Mar 31 '23 16:03 misteroneill