Aller au contenu principal

Service Camera Manager

Rôle : Le producteur (I/O bound)
Source : services/camera-manager

Responsabilités

Le Camera Manager assure l’interface avec le monde physique. Il maintient des connexions applicatives persistantes aux caméras IP RTSP.

1. Décodage matériel

Avec le codec h264_cuvid, le service délègue la décompression vidéo au moteur NVDEC du GPU.

Avantage : Les cœurs CUDA du GPU restent disponibles pour l’inférence IA.

2. Pré-traitement des frames

Avant d’envoyer les frames dans le pipeline, le manager :

  • Redimensionne les images à la résolution native du modèle (ex. 640x640) avec cv2.cuda.resize.
  • Normalise les pixels si nécessaire.
  • Encode la frame en JPEG (qualité 85) pour limiter la bande passante Redis.

3. Connexion robuste

Les caméras sont des appareils IoT peu fiables. Le service implémente une boucle « auto-réparation » :

  • Vérifie le flux régulièrement.
  • Recrée automatiquement l’objet de capture OpenCV si le flux se fige.
  • Envoie les métriques de connectivité à Prometheus.