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.