deepch / RTSPtoWeb

RTSP Stream to WebBrowser
MIT License
1.18k stars 284 forks source link

Latency/Delay Issues #328

Open tokenwizard opened 1 year ago

tokenwizard commented 1 year ago

I have added a camera that has PTZ capabilities and enabled MSE, HLS, and WebRTC streams for it. If I view the camera in the WebRTC web interface, there is nearly zero delay between when I initial a Pan movement and it starts showing the camera moving.

However, if I ffplay the HLS or even the HLS-LL endpoint and initiate a pan movement, there is a literal 15-second delay form the time the Camera's Interface (and the WebRTC interface) start showing the movement and when the HLS-LL endpoint shows the movement.

Is there an endpoint that can be plugged into external applications that will not have this 15-second lag? Incidentally, I tried to use the WebRTC and the MSE endpoints with ffplay and I just get 404 errors.

deepch commented 1 year ago

hls ll work only https and check you browser support you can use ptz mse or webrtc

tokenwizard commented 1 year ago

I am using ffplay to test, which should play just about anything. The HHS-LL feed is playing using the endpoint indicated in the Documentation, but there is about a 15 second lag in the view, which does not occur when I view the feed in the Web Browser in the WebRTC app.

I cannot get the MSE or WebRTC endpoints to work at all outside of WebRTC (with ffplay).

tokenwizard commented 1 year ago

Correction: The MSE feed seems to have no lag at all in the WebRTC Interface, but the HLS feed has about a 15 second lag. In the attached screen recording, you will see the upper video (in the WebRTC Dashboard start moving as soon as I click the PTZ button, but the lower window, which is ffplay playing the HLS-LL stream, it does not start moving for about 15 seconds after I hit the PTZ button.

Peek 2023-05-01 15-39.webm

tokenwizard commented 1 year ago

According to the Documentation, the WebRTC Endpoint should be: /stream/{STREAM_ID}/channel/{CHANNEL_ID}/webrtc

But as you can see, when I try to plug that into ffplay, I get a 404 error: 2023-05-01_15-42

I also get a errors when trying to play the MSE endpoint in ffplay (which, per the Documentation, should be: /stream/{STREAM_ID}/channel/{CHANNEL_ID}/mse?uuid={STREAM_ID}&channel={CHANNEL_ID})

With http, I get a 400 error: image

And with https, I get an Input/Output error: image

So, the HLS feed is the only one I can get to play in ffplay (or any other external player) and it has a 15 second lag/delay.

deepch commented 1 year ago

ffmpeg not supported webrtc and mse and hls ll use browser

deepch commented 1 year ago

hls ll work only over https http v2 and if browser or other support it