I tried all the camera platforms so you don't have to

so If I found in this specific case the issue is the picture-elements. If I view the motioneye camera in a standard picture card, latency is close to 1 second.


and I’ve should have add that I don’t have a clue on how to solve it…

not only I made some progress but I also solved my issue today.

MotionEye was the way to go. With it I’m able to get something very close to the rtsp stream. I had to give up something by dropping udp in favour of tcp.

My original stream has less than 0.5s of latency, MotionEye udp is probably 1s, MotionEye tcp probably less than 2s. As the use case was a camera with a lot of motion (driving), udp was too often only partially updating the image - leaving behind ghosting effect. tcp is perfect although a little bit more behind.

The last piece was using custom:hui-element inside picture-elements to expose the camera stream as a picture entity instead of an image.

1 Like

@stepir do you mind sharing your config/dash?

I had endless connection problems using three Foscams together with Frigate and Foscams’ VMS, even using different users for Frigate. Foscams’ software in my eyes is a bunch of …, but the hardware is pretty good.
I guess I found a solution now after spending nights to get a satisfactioned result.
I use LIVE555 Proxy Server as dockerized version now to stream RTSP to Home Assistant / Frigate. The HASS addon unfortunately doesn’t work for me.
Now latency is much better than using direct access to the cams RTSP server and the connection problems seem to have stopped. CPU usage decreased also…

1 Like

I don’t see many people talking about it here, but nowadays go2rtc should be the go-to solution for this.

1 Like

Another vote for MotionEye. Have this running on a separate server with 5 cameras.

The MotionEye integration provides an MJPEG camera to home assistant. On the Motion Eye UI → Video Streaming set Motion Optimization to ON. This turns the streaming frame rate down to 1fps when there is no motion in the image.

I can show all 5 of my cameras on the same page with around 0.25s latency and it’s reliable. All other methods I have tried have been worse…, anything that involves streaming (which is every other type of camera connection method), have been slow to startup, high latency, unreliable and behave differently on different client types.

As soon as any ‘imperfect’ network connection between HA and the client is encountered, streaming bites the dust and rarely recovers (and if it does recover it just introduces massive latency), this is not the case with MJPEG cameras (in my experience).

Have you tried it on something weak like a Kindle Fire? Last time I tried, I couldn’t get more than 1-2 go2webrtc cameras going on my Kindle Fires at a time.