blakeblackshear / frigate

NVR with realtime local object detection for IP cameras
https://frigate.video
MIT License
18.93k stars 1.73k forks source link

HomeAssistant support: Add stream support #130

Closed niemyjski closed 3 years ago

niemyjski commented 4 years ago

Not all of my cameras support RTSP (nest etc..), so in regards to the home assistant support. It would be amazing if I could just pass camera entity id's and in return it would use the camera.play_stream api (https://www.home-assistant.io/integrations/camera/). This needs more research, ideally it would be super sweet of HA just exported an RTSP stream.

blakeblackshear commented 4 years ago

Frigate works with anything ffmpeg can decode. What are you using to add your cameras to HA? HA stream api will add a significant delay. I would recommend going the other direction and having frigate pass something to HA downstream.

niemyjski commented 4 years ago

This is what I'm trying to figure out right now, I have Unifi protect cameras which I can expose an RTSP feed, but then I have two hello nest doorbell cameras as well as Amcrest camera both are using the respected HA integrations to get those feeds, I'm using a HACS add-on to get my unifi feeds into HA as well.

I was just trying to find a way to have generic camera streams defined and make configuration easier. I have a really beefy NUC so I don't care if I through more work at it.

niemyjski commented 4 years ago

So I was looking into nest, and it seems almost impossible to get a private passworded url you can call with a token to get the stream. I went the public route but ran into tons of issues trying to figure out the rtmps arguments (not a lost cause) but I really don't want to be exposing any cameras publicly even if they are outside.

I did end up finding this http://host:8123/api/camera_proxy_stream/camera.front_door?token=token but I'm guessing this will need some work. I'm starting to think it might just be nice to look into a HA component that normalizes or just proxies the stream through (something normalized even if there is overhead because getting a stream from say nest is a complete PITA). I was hoping to find a middleware that I could fire up via docker to grab nest camera and convert them to a RTSP stream.. That would be amazing.