AirenSoft / OvenPlayer

OvenPlayer is JavaScript-based LLHLS and WebRTC Player for OvenMediaEngine.
https://airensoft.com/ome.html
MIT License
515 stars 126 forks source link

Live stream DVR not working when target latency is set #360

Closed hernanrz closed 10 months ago

hernanrz commented 1 year ago

If you set options to manage playback latency, then DVR doesn't work as expected when a user clicks on the bar, it instantly goes back to the rightmost part of the bar.

You can see this behavior on the demo page https://demo.ovenplayer.com/#%7B%22playerOption%22%3A%7B%22autoStart%22%3Atrue%2C%22autoFallback%22%3Atrue%2C%22mute%22%3Atrue%2C%22sources%22%3A%5B%7B%22type%22%3A%22ll-hls%22%2C%22file%22%3A%22https%3A%2F%2Fllhls-demo.ovenmediaengine.com%2Fapp%2Fstream%2Fllhls.m3u8%22%7D%5D%2C%22hlsConfig%22%3A%7B%22liveSyncDuration%22%3A1.5%2C%22liveMaxLatencyDuration%22%3A3%2C%22maxLiveSyncPlaybackRate%22%3A1.5%7D%7D%2C%22demoOption%22%3A%7B%22autoReload%22%3Atrue%2C%22autoReloadInterval%22%3A2000%7D%7D

SangwonOh commented 1 year ago

If target latency is set, hls.js will always try to set playback time to (latest - target latency). I think we need to check how it can be applied together when it is a DVR.

naanlizard commented 1 year ago

Perhaps if the DVR seek bar is clicked/moved target latency is disabled, and if the "live" text is clicked to seek to the head of the stream, or the seek bar is dragged all the way to the right, you re enable target latency?

SangwonOh commented 1 year ago

It looks like I can dynamically change the target latency setting.

SangwonOh commented 10 months ago

pached at 5b7b7b4