[Retorno de experiencia + Propuesta] Vidéovigilancia local universal en Gladys — go2rtc + Frigate (detección persona/perro/caballo... sin cloud)

¡Hola a todos! :wave:

Vengo a compartir una experiencia completa que se transformó en un proyecto de integración para Gladys. En el menú: cómo hice funcionar al 100% localmente una cámara que TP-Link ha intencionalmente limitado (sin RTSP, sin ONVIF), con detección de objetos de IA (persona, perro, gato… e incluso caballo :horse:), todo en un mini-PC que ya ejecuta 2 Gladys y un Home Assistant. Y al final, la propuesta de desarrollo que planeo lanzar.

Aguanten, es un poco largo, pero todo es reproducible. :coffee:


:warning: El problema inicial

Tengo varias cámaras Tapo, incluida una C660 (4K, pan/tilt, solar/batería — pero conectada a la corriente en mi casa, la batería es solo un respaldo).

Quería lo mismo que todos aquí: controlar mis cámaras y recibir las alertas de detección (persona, animal…) localmente, en Gladys / Node-RED a través de MQTT, sin depender de la nube de TP-Link.

Primer obstáculo: en toda la gama de batería/solar (C425, C460, C660, C645D, D230…), TP-Link desactiva RTSP y ONVIF. Esto está asumido y documentado por el fabricante: «ahorro de energía». El hecho de que la cámara esté alimentada permanentemente no cambia nada, es el firmware quien decide. :man_facepalming:

Verificación que no deja lugar a dudas:

$ nmap -Pn -p 443,554,2020,8800 10.6.0.222

PORT     STATE  SERVICE
443/tcp  open   https
554/tcp  closed rtsp       ← RTSP cerrado
2020/tcp closed onvif      ← ONVIF cerrado
8800/tcp open   ???        ← vaya vaya... 👀

RTSP y ONVIF cerrados… pero un misterioso puerto 8800 abierto.

Segundo obstáculo, válido incluso para las cámaras Tapo con RTSP (mi C520WS, por ejemplo): la transmisión de eventos de detección a través de ONVIF está rota en varios modelos (error conocido del firmware). Por lo tanto, incluso con RTSP, no hay alertas confiables localmente.

:bulb: La solución: go2rtc habla «Tapo»

El puerto 8800 es el protocolo propietario de TP-Link — el que usa la aplicación Tapo. Y resulta que go2rtc (la navaja suiza de video de AlexxIT, integrada en Frigate Y en Home Assistant) sabe hablarlo nativamente a través de una fuente tapo://.

La arquitectura completa se convierte en:

Cámara (tapo://, rtsp://, onvif://, ...) → go2rtc → Frigate (detección IA) → MQTT → Gladys / Node-RED

Y el punto clave: es Frigate quien realiza la detección de objetos, no el firmware de la cámara. Por lo tanto, no se necesita ONVIF, no se necesita la nube, y una detección mejor que la de TP-Link — la aplicación Tapo me dice «animal» para todo, Frigate distingue person, dog, cat, horse (mapa de etiquetas COCO, 91 clases). En mi caso, necesito detectar con precisión los caballos, lo cual cambia todo. :racehorse:

:hammer_and_wrench: Las trampas encontradas (para ahorrarles horas de depuración)

No funcionó a la primera, y cada trampa vale la pena documentarla:

1. La contraseña debe estar codificada en URL. La fuente es tapo://CONTRASEÑA@IP con la contraseña de su cuenta en la nube Tapo (no hay «cuenta de cámara» en estos modelos). Si su contraseña contiene #, ^, %, @… debe codificarse (# → %23, etc.), de lo contrario go2rtc truncará la URL en silencio. Truco:

bash

python3 -c "import urllib.parse,getpass; print(urllib.parse.quote(getpass.getpass('mdp: '), safe=''))"

2. El flujo principal 4K = pantalla negra. Error conocido (SPS/PPS no propagados, cf. issue go2rtc #2202): la cámara envía el video pero go2rtc no puede analizarlo. El substream funciona perfectamente:

tapo://CONTRASEÑA_CODIFICADA@10.6.0.222?channel=0&subtype=1

640×360, es feo a la vista pero es exactamente lo que Frigate quiere para la detección (los modelos trabajan en 300-640 px de todos modos). El 4K se queda en la tarjeta SD de la cámara para la reproducción.

3. Los timestamps corruptos (LA trampa). El flujo tapo genera DTS no monotónicos → ffmpeg se dispara al 190% de CPU, el watchdog de Frigate lo mata en bucle, ningún clip se graba. La corrección que lo arregló todo:

yaml

input_args: -avoid_negative_ts make_zero -fflags +genpts+discardcorrupt -rtsp_transport tcp -use_wallclock_as_timestamps 1

La clave es -use_wallclock_as_timestamps 1: ffmpeg ignora los timestamps de la fuente y los regenera.

4. El iGPU Intel lo cambia todo. Mi servidor es un modesto Beelink U59 (Celeron N5105) que ya aloja HA + 2 Gladys. Como detector de CPU, estaba de rodillas (86% del sistema). Al activar OpenVINO en el iGPU + decodificación VAAPI:

Métrica CPU iGPU (OpenVINO + VAAPI)
Inferencia 94,6 ms 15,8 ms
Proceso del detector 191,8 % 8,5 %
CPU del sistema 86 % 22 %
Frames descartadas 7/s 0

Un Celeron al 22% de CPU que hace detección de objetos en tiempo real además de HA y 2 Gladys. :exploding_head:

:white_check_mark: El resultado

En MQTT, Frigate publica todo lo que soñamos:

frigate/c660/person            → 1 / 0  (binario, perfecto para Gladys)
frigate/c660/dog               → 1 / 0
frigate/events                 → JSON rico (etiqueta, puntuación, caja, trayectoria, zonas...)
frigate/reviews                → alertas con miniatura
frigate/stats                  → salud completa (fps, inferencia, almacenamiento...)

Detección validada en la práctica (persona con 0,93 de puntuación, perro reconocido donde Tapo dice «animal»), clips grabados, instantáneas, cero nube. Una cámara «oficialmente imposible de integrar» que funciona mejor localmente que los modelos «compatibles». :muscle:

:gear: Configuraciones completas validadas (docker-compose + config Frigate) — haga clic para desplegar

docker-compose.yml:

yaml

services:
  frigate:
    container_name: frigate
    image: ghcr.io/blakeblackshear/frigate:stable
    restart: unless-stopped
    shm_size: "256mb"
    devices:
      - /dev/dri/renderD128:/dev/dri/renderD128
    volumes:
      - ./config:/config
      - ./storage:/media/frigate
      - type: tmpfs
        target: /tmp/cache
        tmpfs:
          size: 1000000000
    ports:
      - "8971:8971"   # UI (HTTPS desde la 0.17 !)
      - "8554:8554"   # RTSP restream
      - "1984:1984"   # go2rtc

config/config.yml:

yaml

mqtt:
  enabled: true
  host: <su_mosquitto>
  user: xxx
  password: xxx

detectors:
  ov:
    type: openvino
    device: GPU

model:
  width: 300
  height: 300
  input_tensor: nhwc
  input_pixel_format: bgr
  path: /openvino-model/ssdlite_mobilenet_v2.xml
  labelmap_path: /openvino-model/coco_91cl_bkgr.txt

go2rtc:
  streams:
    c660:
      - tapo://CONTRASEÑA_URL_CODIFICADA@10.6.0.222?channel=0&subtype=1

cameras:
  c660:
    ffmpeg:
      hwaccel_args: preset-vaapi
      inputs:
        - path: rtsp://127.0.0.1:8554/c660
          input_args: -avoid_negative_ts make_zero -fflags +genpts+discardcorrupt -rtsp_transport tcp -use_wallclock_as_timestamps 1
          roles: [detect, record]
    detect:
      enabled: true
      fps: 5
      width: 640
      height: 360
    objects:
      track: [person, dog, cat, horse]
    record:
      enabled: true
      retain:
        days: 7
        mode: motion
    snapshots:
      enabled: true
      retain:
        default: 14

Notas de operación:

  • Frigate 0.17: la interfaz de usuario está en HTTPS en el puerto 8971 (certificado auto-firmado), cuenta de administrador generada en el primer arranque (contraseña en los registros).
  • shm_size: 128 MB no es suficiente, incluso para 1 cámara.
  • Las cámaras Tapo limitan los flujos concurrentes → siempre consumir a través de go2rtc (que mutualiza en 1 conexión), nunca directamente.
  • Pequeña advertencia connection reset by peer periódica en el puerto 8800: la cámara corta de vez en cuando, go2rtc se reconecta solo. No bloqueante.
---

:rocket: Y mantenant : propuesta de integración Gladys

Todo esto funciona, pero seamos honestos: entre el nmap, el URL-encoding, los input_args de ffmpeg y la configuración de OpenVINO, esto no es accesible para el común de los mortales. Y es exactamente el tipo de complejidad que Gladys sabe ocultar. :heart:

Por lo tanto, planeo desarrollar una integración « Vigilancia de video local » (nuevo servicio o extensión de rtsp-camera, por discutir) cuyo principio es no reinventar la rueda :

  • go2rtc = capa de abstracción protocolar (habla rtsp://, tapo://, onvif://, Ring, Nest, Dahua, USB… y es mantenido por AlexxIT + una gran comunidad). Una integración = todas las cámaras.
  • Frigate = detección de objetos + grabaciones + MQTT.
  • Gladys = orquestación, configuración simple y exposición de las características.

Lo que haría la integración

  1. Gestión de contenedores Frigate/go2rtc desde la interfaz de Gladys (instalación, inicio, reinicio) — siguiendo el mismo modelo que lo que ya existe para Zigbee2MQTT.
  2. Configuración inteligente automática: detección de hardware (¿iGPU Intel presente? → OpenVINO + VAAPI; de lo contrario, CPU), cálculo del shm_size según el número de cámaras, valores predeterminados estables — todo esto sobrescribible en modo experto.
  3. Añadir cámara simplificado: nombre, tipo (RTSP / Tapo / ONVIF…), IP, contraseña (codificada automáticamente), selección de objetos a detectar (persona, perro, gato, caballo… multi-selección). La integración genera la configuración de Frigate y aplica las correcciones conocidas (substream Tapo, input_args timestamps…) sin que el usuario tenga que saber que existen.
  4. Características de Gladys creadas automáticamente por cámara:
  • la cámara en vivo clásica;
  • un binario de detección por tipo de objeto (frigate/<cam>/person → sensor de presencia de Gladys → escenas!);
  • una « cámara de imagen » por tipo: la última imagen capturada de cada detección (probablemente un nuevo tipo de característica de solo imagen, sin transmisión en vivo — por discutir).
  1. Salud: estado por cámara, contador de reconexiones, estadísticas de Frigate reportadas.

Preguntas abiertas para la comunidad (y @pierre-gilles :slight_smile:)

  • Nuevo servicio o extensión de rtsp-camera? Mi intuición: nuevo servicio (el alcance es muy diferente), pero lo existente debe seguir siendo el camino simple para quienes solo quieran un flujo RTSP.
  • Nuevo tipo de característica « cámara de solo imagen » (visualización de la última imagen, sin reproductor en vivo): ¿les parece la buena modelización para « última detección de tipo X »?
  • Política de contenedores compañeros: Frigate incluye su propio go2rtc, por lo que un solo contenedor es suficiente. ¿De acuerdo en seguir el patrón Z2M?
  • Vista en vivo: integración del componente web video-stream.js de go2rtc (WebRTC/MSE) con retroceso de instantáneas para flujos caprichosos. Pregunta del proxy a través del servidor Gladys a profundizar (contenido mixto HTTPS/HTTP).

Comienzo el desarrollo con una fase de análisis de lo existente, luego un MVP (contenedor + cámara RTSP genérica + binarios de detección MQTT), luego las fuentes avanzadas (tapo://, onvif://) y el modo en vivo. PRs pequeñas y divididas, como de costumbre.

Todos los comentarios son bienvenidos: casos de uso, cámaras que les gustaría ver soportadas, opiniones sobre las preguntas anteriores… Y si algunos quieren probar la configuración manual mientras tanto, las configuraciones completas están en el desplegable de arriba — ¡respondo a las preguntas! :raised_hands:

¡Hasta pronto, Terdious

Un complemento importante, porque el caso de mi Tapo C520WS ilustra bien que este enfoque no se limita solo a las cámaras bloqueadas sin RTSP. :point_down:

El caso C520WS: RTSP OK… pero la detección es inutilizable localmente

La C520WS es una cámara con cable, por lo que, en teoría, es la situación ideal: RTSP y ONVIF oficialmente soportados, imagen y transmisión en vivo funcionales sin ningún contorno (rtsp://user:pass@IP/stream1, cuenta de cámara clásica en la app).

Pero… la transmisión de eventos de detección a través de ONVIF está rota a nivel del firmware en este modelo. :sob: El síntoma está documentado por varios usuarios: la conexión ONVIF se corta ~10 segundos después de la solicitud PullMessage, aunque los eventos aparecen correctamente en la app Tapo (y modelos como los C110/C210 los envían correctamente). TP-Link ha publicado firmwares que supuestamente corrigen el problema (C520WS V1: 1.3.2, V2: 1.1.1), pero los resultados siguen siendo aleatorios.

Resultado: tengo el flujo de video local, pero ningún medio confiable para saber localmente SI algo es detectado, o QUÉ. Lo cual es, después de todo, el corazón de la necesidad para la domótica…

Por qué la arquitectura go2rtc + Frigate también lo resuelve

Es exactamente aquí donde el enfoque del post cobra todo su sentido: ya que la detección es realizada por Frigate (en el flujo RTSP), el error ONVIF de la cámara se vuelve… completamente irrelevante. Ya no necesitamos que el firmware se digne a enviarnos sus eventos:

  • flujo RTSP nativo → Frigate → detección persona / perro / gato / caballo (mi verdadera necesidad en esta cámara, que vigila una zona por donde pasan los caballos — la app Tapo solo sabe decir «animal» :horse:);
  • eventos ricos en MQTT (frigate/c520ws/persona, frigate/events con puntuación, posición, trayectoria…) → directamente utilizables en Gladys;
  • y la cereza del pastel: el pipeline es estrictamente idéntico al de la C660. Una sola arquitectura para la cámara «imposible» Y la cámara «compatible pero con errores». Es exactamente lo que me convence de la idea de una integración única.

¿Y el control PTZ?

La C520WS es motorizada, y a largo plazo también quiero poder moverla desde Gladys (seguir una zona, presets…). Buena noticia: mientras que el ONVIF eventual está roto en este modelo, el ONVIF PTZ funciona, él. Dos opciones que voy a evaluar:

  1. ONVIF PTZ a través de Frigate: Frigate puede controlar el PTZ de las cámaras ONVIF (bloque onvif: en la configuración de la cámara, puerto 2020 en Tapo) — se mantendría en la misma herramienta;
  2. pytapo directamente (la API local de Tapo, puerto 443): más completo (presets, patrulla, sirena, modo privacidad…), es la lib que usa la integración HA Tapo Control.

Esto formará parte de la reflexión para la integración: la detección pasa por Frigate/MQTT en todos los casos, pero el control (PTZ, sirena…) quizás merezca un canal dedicado según las marcas. Para modelar correctamente en el lado de las características de Gladys (botones/direcciones ?).

Próximo paso

Voy a empezar pronto las pruebas con la C520WS: integración en el mismo Frigate que la C660 (el Beelink tiene mucho margen ahora :muscle:), detección caballo en condiciones reales, luego primeras pruebas PTZ. Informe completo aquí tan pronto como esté hecho — con los números y las posibles trampas, como con la C660.

Si otros aquí tienen Tapo con cable (C210, C310, C320WS, C520WS…) y quieren comparar el comportamiento ONVIF de su firmware, ¡me interesa! :raised_hands:

Tengo una C610 con batería y siempre me ha molestado no tener RTSP en este tipo de cámara. Si es necesario, también tengo una C500 y una C210, así que podría probar sin problema.

¡Al tope!

Por ahora lo he probado todo excepto Gladys, así que ahora lanzo Claude Fable en el desarrollo (para intentar gastar mis créditos esta noche ^^) !!

Os mantendré informados cuando tenga algo para probar !!

En mi casa tengo un mini PC dedicado en el que funciona Frigate, así que lo seguiré de cerca.
Lo que me planteo:

  • muchos usuarios de Frigate como yo utilizan un Google Coral (aunque esto es menos cierto últimamente), ¿no debería tenerse en cuenta?
  • tengo cámaras Reolink, cuya configuración para Frigate a veces ha sido laboriosa, si la integración con Gladys quiere ser lo más amigable posible, ¿no debería facilitarse la edición del yaml? Si no, perderemos a gente por el camino ^^

¡Eso es todo por mis primeras dudas!

Gracias @guim31, son exactamente las dos buenas preguntas — y tocan el corazón del diseño. Respondo punto por punto. :point_down:

1. Google Coral: sí, y es incluso prioritario

Absolutamente, y para ser precisos: el Coral es mejor que lo que he ejecutado en mi casa. Mi OpenVINO en iGPU funciona a ~15,8 ms de inferencia; un Coral suele estar alrededor de 6-10 ms, descargando por completo la CPU. Sería absurdo no soportarlo.

En Frigate es simplemente una elección de detector:

yaml

# Coral USB
detectors:
  coral:
    type: edgetpu
    device: usb

# Coral M.2 / PCIe
detectors:
  coral:
    type: edgetpu
    device: pci

con el montaje del dispositivo adecuado en el contenedor (/dev/bus/usb en USB, /dev/apex_0 en PCIe).

Lo que preveo para la parte de «configuración de hardware automática» es una cascada de detección en la instalación:

  1. Coral detectado (USB o PCIe) → detector edgetpu :white_check_mark:
  2. de lo contrario iGPU Intel / GPU disponible → detector openvino
  3. de lo contrario → detector CPU + advertencia honesta sobre los límites

…todo sobrecargable manualmente obviamente (modo experto), porque la detección automática no adivina todo.

:bulb: Matices importantes que van en tu sentido: detección ≠ decodificación. El Coral hace la inferencia, pero la decodificación de video sigue en la CPU si no hay aceleración de hardware. Los dos son complementarios: Coral (inferencia) + VAAPI/QSV/NVDEC (decodificación) = combo óptimo. La integración deberá proponer los dos ejes por separado, no una elección exclusiva.

Y aquí te necesito :slight_smile: : ya tienes un Coral funcionando. Si puedes compartirme el tipo (USB? M.2?), tu velocidad de inferencia real y el fragmento de docker-compose que monta el dispositivo en tu casa, me das una base de prueba que no tengo a mano. Sería una verdadera contribución al proyecto.

2. El YAML: mi posición (y creo que estamos de acuerdo en el fondo)

Aquí voy a reformular ligeramente tu necesidad, porque creo que el objetivo real no es «facilitar la edición del YAML» sino «no tener que editarlo». :grin:

Si Gladys se limita a exponer un editor YAML más bonito que el de Frigate, no aportamos nada: mejor usar Frigate directamente. El valor de Gladys (y su filosofía) es transformar el conocimiento en configuración. El público en general nunca debe ver YAML.

Por lo tanto, no soportaremos todo, pero lo que soportemos lo haremos bien. Además de eso, es totalmente posible implementar un equivalente a la creación automática de issues de GitHub como se hace en Tuya. Esto permitirá normalmente agregar una base de conocimiento para la configuración fácil en Gladys.

Pero el objetivo sigue siendo poder hacer las cosas manualmente en el YAML para los usuarios avanzados. Sin embargo, no creo que hablemos de eso en la interfaz directamente. Al final, será @pierre-gilles quien decida :wink:

¿Responde a tus inquietudes? Y si tienes otros casos retorcidos encontrados con Frigate (configuración Reolink, caso Coral, trampas de rendimiento…), son bienvenidos: cada trampa documentada aquí es una trampa que la integración evitará a todos. Es un poco todo el interés de hablar antes de codificar. :slight_smile:

¡Gracias por tus respuestas, es muy claro!
Después debo admitir que, aunque he logrado hacer funcionar todo esto, aún tengo dificultades para organizar mis conocimientos y los conceptos adecuados.

Tengo un Coral USB, revisaré el docker compose en cuanto esté en mi ordenador.
¿Quieres mi config.yaml completo?

He entendido tu idea sobre la configuración y comparto completamente tu visión de la implementación :+1:

¡Con mucho gusto para los dos, sí, si es posible! Pero no olvides borrar la configuración de tus datos personales, sobre todo :wink:

Mi docker compose :

  GNU nano 6.2                                                                                        docker-compose.yml                                                                                                 
services:
  frigate:
    container_name: frigate
    privileged: true
    restart: unless-stopped
    image: ghcr.io/blakeblackshear/frigate:0.17.0
    shm_size: "512mb"
    devices:
      - /dev/bus/usb:/dev/bus/usb
      - /dev/dri/renderD128:/dev/dri/renderD128
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - ./config:/config
      - ./storage:/media/frigate
      - type: tmpfs
        target: /tmp/cache
        tmpfs:
          size: 1000000000
    ports:
      - "8971:8971"
      - "8554:8554"
      - "8555:8555"
      - "8555:8555/udp"
      - "1984:1984"
    environment:
      FRIGATE_RTSP_PASSWORD: "mon-password"
      PLUS_API_KEY: "ma-clé"

Mi config.yaml :

auth:
  enabled: true

mqtt:
  host: 192.168.100.150
  port: 1883

ffmpeg:
  hwaccel_args: preset-vaapi

detect:
  enabled: true
  width: 1280
  height: 720
  fps: 5

record:
  enabled: true
  continuous:
    days: 2
  alerts:
    retain:
      days: 7
      mode: all
  detections:
    retain:
      days: 7
      mode: all

snapshots:
  enabled: true

detectors:
  coral:
    type: edgetpu
    device: usb

model:
  path: plus://ref
  width: 320
  height: 320
  model_type: yolo-generic
  input_tensor: nhwc
  input_pixel_format: rgb

semantic_search:
  enabled: true
  model_size: small 

face_recognition:
  enabled: true
  model_size: small
  min_area: 200

lpr:
  enabled: true

objects:
  track: [person, car, dog, cat]
  filters:
    person:
      threshold: 0.80
      min_area: 2500
    car:
      threshold: 0.85

go2rtc:
  streams:
    CAM1:
      - ffmpeg:http://192.168.100.201/flv?port=1935&app=bcs&stream=channel0_main.bcs&user=admin&password=mon-password#video=copy#audio=copy#audio=opus
    CAM1_SUB:
      - ffmpeg:http://192.168.100.201/flv?port=1935&app=bcs&stream=channel0_ext.bcs&user=admin&password=mon-password
    CAM2:
      - ffmpeg:http://192.168.100.202/flv?port=1935&app=bcs&stream=channel0_main.bcs&user=admin&password=mon-password#video=copy#audio=copy#audio=opus
    CAM2_SUB:
      - ffmpeg:http://192.168.100.202/flv?port=1935&app=bcs&stream=channel0_ext.bcs&user=admin&password=mon-password
    CAM3:
      - ffmpeg:http://192.168.100.203/flv?port=1935&app=bcs&stream=channel0_main.bcs&user=admin&password=mon-password#video=copy#audio=copy#audio=opus
    CAM3_SUB:
      - ffmpeg:http://192.168.100.203/flv?port=1935&app=bcs&stream=channel0_ext.bcs&user=admin&password=mon-password

cameras:
  CAM1:
    ffmpeg:
      inputs:
        - path: rtsp://127.0.0.1:8554/CAM1
          roles: [record]
        - path: rtsp://127.0.0.1:8554/CAM1_SUB
          roles: [detect]
    face_recognition:
      enabled: true

  CAM2:
    ffmpeg:
      inputs:
        - path: rtsp://127.0.0.1:8554/CAM2
          roles: [record]
        - path: rtsp://127.0.0.1:8554/CAM2_SUB
          roles: [detect]
    lpr:
      enabled: true
      min_area: 100
    face_recognition:
      enabled: true

  CAM3: # Garage / Chatière
    ffmpeg:
      inputs:
        - path: rtsp://127.0.0.1:8554/CAM3
          roles: [record]
        - path: rtsp://127.0.0.1:8554/CAM3_SUB
          roles: [detect]
    detect:
      enabled: true
    objects:
      track: [cat, person]
      filters:
        cat:
          min_area: 400
          threshold: 0.6

    zones:
      zone_chatiere:
        coordinates: 0.296,0.144,0.835,0.156,0.814,0.639,0.285,0.621
        loitering_time: 0
        objects: cat
        inertia: 3
 
version: 0.17-0

¡Tienes todo!

Estoy dentro para las pruebas… pero no tengo ninguna cámara :joy:

De hecho hay (entre otras) una cámara que me gustaría: eufy Security Solar Wall Light Cam S120.
Sin RTSP ni ONVIF.
Si crees que podemos integrarla, puedo comprar una para las pruebas.

Oki, buscaré la literatura antes entonces :sweat_smile: :wink:

1er jet :





Por el momento funciona con 2 cámaras en el CPU de Beelink, además de 2 Gladys + 1 HA:
image

Ahora pasamos a la GPU que no está en absoluto utilizada por el sistema actual.

Hola,

¡Qué buena esta función! :slight_smile:
Ya tengo un frigate instalado en otra máquina, ¿crees que es posible usar un frigate externo? :slight_smile:

Gracias

Hola @prohand,

Creo que, efectivamente, si todo esto se valida en forma, será totalmente posible hacer como Zigbee2mqtt y poder seleccionar un Frigate externo!!

Solo añadiremos una pestaña de Descubrimiento, creo que todo debería poder reconstruirse por sí mismo. Por otro lado, no podremos controlar la actualización de los dispositivos y del contenedor, creo. Bueno, por el momento lo veo así ^^

Sí, gracias.
Podré hacer pruebas cuando esté implementado :wink:

Un pequeño mensaje solo para expresarme… me parece increíble descubrir Frigate ahora
¡Es increíble las posibilidades de esta herramienta!! Y con un mini PC que ya hace funcionar cosas no triviales…
Estoy asombrado, cuando pienso que compré Netatmo en su momento a un precio de locura (negativamente) y que Frigate hace el trabajo 10 veces mejor con cámaras 5 a 6 veces más baratas…
Detección con precisión, definición de multi-zonas por tipo de detección, ajustes, cálculo de velocidad :scream:, reconocimiento facial, reconocimiento de matrícula…


Me da vergüenza no haber visto todos estos temas sobre Frigate durante 1 año!!

Hemos avanzado mucho, una imagen de prueba está disponible aquí para quienes quieran verla: docker pull terdious/gladys:Frigate-test

Atención para los poseedores de una instancia Frigate, normalmente la gestión de los puertos está totalmente gestionada. Pero nunca se sabe, aún no he probado la paralelización. Por lo tanto, les aconsejo que o bien apaguen la instancia de producción durante las pruebas, o bien lo hagan en una máquina aparte.

Además, algunas cámaras solo soportan 1 acceso a la vez, por lo que en un primer momento es preferible probar con la instancia de producción Frigate apagada.

Google Coral aún no está implementado. Pero debería llegar muy pronto :face_with_peeking_eye: :wink:

El objetivo es probar la comprensión y la simplicidad de la puesta en marcha del sistema. Ver si las explicaciones son suficientes en la interfaz (fuera de la documentación, que será más detallada si es necesario). Y, por supuesto, que funcione para los poseedores de Tapo / Reolink ^^

Lo que está implementado:

  • Integración de Frigate,
  • despliegue de contenedores
  • Añadir un dispositivo
  • Selección de las detecciones de presencia deseadas
  • Automatización del uso de la CPU o GPU según lo que el sistema ofrezca (la parte opcional modificable llegará con la integración de Google Coral
  • acceso a la página web de Frigate
  • subida de la imagen y del vídeo
  • subida de las detecciones de presencia (1 por tipo de detección seleccionado)
  • Preparación de la creación de un issue en GitHub para las cámaras no soportadas

Voy a hacer una prueba mañana :clap:

¿Funcionará con cámaras LSC de Action sin RTSP y cámaras Imou con RTSP?

¡Será la oportunidad de probar todo eso! ^^ Después, para las cámaras LSC, ¿es Tuya, no? ¡Justo estoy desarrollando por ese lado con @GBoulvin! Pero espero que podamos probar las dos.