blakeblackshear / frigate

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

MQTT-Based PTZ Control for Non-ONVIF Cameras in Frigate #10857

Closed FusselTV closed 4 months ago

FusselTV commented 4 months ago

Feature Request: MQTT-Based PTZ Control for Non-ONVIF Cameras in Frigate

Goal

Enable PTZ control for non-ONVIF cameras like the Reolink E1 via MQTT in Frigate, improving home security by allowing dynamic camera adjustments.

Desired Solution

Integrate PTZ control through MQTT in Frigate, enabling users to send PTZ commands directly within Frigate's UI or through automation, simplifying the camera's view adjustment process.

Alternatives Considered

Using separate software for PTZ control via MQTT, though this complicates automation and separates camera control from Frigate.

Additional Context

Frigate already utilizes MQTT for notifications and controls, making PTZ support a natural extension to enhance flexibility and user experience.

NickM-27 commented 4 months ago

Frigate already supports PTZ control via MQTT https://docs.frigate.video/integrations/mqtt#frigatecamera_nameptz

we are not looking to implement proprietary APIs for ptz control. If a camera does not support onvif then it won't be supported

NickM-27 commented 4 months ago

Frigate also already supports ptz control in the UI for supported cameras, to be clear

FusselTV commented 4 months ago

@NickM-27 Too sad it's not proprietary APIs I was talking about, but the ability to have PTZ with Frigate for every camera that has e.g., an integration to Home Assistant for PTZ but not regular ONVIF. With this feature, lots of non-ONVIF compliant cameras would get the ability to be much smarter. My Reolink doesn't have ONVIF PTZ, but I am able to send MQTT commands for PTZ. If Frigate had the ability to define MQTT topics for the PTZ actions, there would be a variety of cameras to be supported. It would also be a solution for currently unsupported ONVIF cameras. If you tinker a bit, every camera could be implemented like this...

NickM-27 commented 4 months ago

It is proprietary, regardless of if it's a camera api or an arbitrary MQTT payload that might do something if another service is listening and implemented correctly.

FusselTV commented 4 months ago

@NickM-27 You're right; the goal would be to have the option to send an MQTT payload or call an HTTP API. To just say enable PTZ for this camera and replace the ONVIF "pan right" command with a custom one. Therefore, any non-compliant cameras could be supported and get the smart tracking with AI object following. But I can understand if it's a hassle; on the other hand, Home Assistant is also a proprietary system that's supported by Frigate. :smile:

NickM-27 commented 4 months ago

Home assistant is something that reads from / writes to frigate and acts on its own.

Here the suggestion is frigates own UI becomes reliant on outside services that we don't control and don't even know the implementation details of.