Dynamic Stream Selection 2.0
Les systèmes modernes de gestion vidéo sont confrontés à un compromis architectural fondamental :
d'une part, le nombre de caméras affichées simultanément par client ne cesse d'augmenter (par exemple, les grandes salles de contrôle avec des dizaines de flux), tandis que, d'autre part, la résolution et le débit binaire des caméras ne cessent d'augmenter.
Les architectures de streaming conventionnelles, en particulier les approches à flux unique ou à double flux simple, atteignent leurs limites physiques au niveau du GPU, du CPU et du réseau.
La sélection Dynamic Stream Selection 2.0 (DSS 2.0) relève ce défi en dissociant systématiquement la génération, le traitement et la consommation des flux.
Principe fondamental du DSS 2.0
DSS 2.0 repose sur un concept architectural clair:
La sélection des flux ne se fait plus à l'entrée (de la caméra vers le serveur), mais à la sortie (du serveur vers le client).
Éléments clés:
- La caméra fournit jusqu'à quatre flux parallèles configurables au serveur
- Ces flux diffèrent généralement en termes de résolution (par exemple, faible, moyenne, élevée, très élevée)
- Tous les flux configurés sont transmis en continu au serveur
- Le serveur décide de manière dynamique, individuellement pour chaque flux, quel flux est diffusé
Les clients comprennent:
- Les visionneuses d'opérateurs (par exemple, les clients G-View, G-SIM).
- Les clients Web (API Web / streaming WebSocket).
- L'analyse vidéo (par exemple, G-Tect).
- L'enregistrement (continu ou basé sur les événements).)
Sélection de flux spécifique au client
Chaque client fournit les informations suivantes lorsqu'il demande une vidéo:
- Les dimensions réelles en pixels de son visionneur.
- Préférences facultatives (par exemple, priorité à la qualité ou à la performance).
Sur la base de ces informations, DSS 2.0 sélectionne le flux le plus approprié à l'aide d'une méthode d'approximation.
La décision d'un client concernant le flux n'a aucune incidence sur les autres clients de la même caméra.
Exemple
- Un opérateur ouvre une caméra en mode plein écran (4K requis).
- Dans le même temps, l'analyse vidéo continue de traiter un flux à basse résolution.
- D'autres opérateurs visionnent la même caméra à différentes résolutions.
Aucun client n'oblige les autres clients à passer à une résolution supérieure.
DSS 2.0
- Les flux sont disponibles en permanence.
- La commutation est interne et transparente.
- Aucune reconfiguration de l'encodeur sur la caméra n'est nécessaire.
- Gains de performances significatifs, même avec seulement deux flux.
Différence essentielle par rapport au double flux classique:
Tous les flux configurés fonctionnent en continu, ce qui permet une commutation instantanée sans délai ni interruption d'enregistrement.
Double flux classique
Tâche fixe:
- Flux A : enregistrement
- Flux B : visionnage en direct
Inconvénients:
- Le changement de flux peut entraîner la réinitialisation de l'encodeur
- Risque de lacunes dans l'enregistrement pendant les événements
- Pas de comportement spécifique au client
- La caméra doit reconfigurer les flux à la volée lorsque les exigences changent
Flux unique
- Un flux pour tous les usages
- Charge GPU élevée avec un grand nombre de spectateurs
- Pas d'évolutivité pour des tailles de spectateurs variables
Convient lorsque:
- La bande passante entre la caméra et le serveur est extrêmement limitée
- Il n'existe qu'un seul cas d'utilisation (par exemple, l'enregistrement uniquement)
Configuration et exigences
Prise en charge via:
- Plugin Loader
- Plugins universels RTSP
- Plugins E4 et E5
Les flux sont référencés directement via des URL RTSP ou configurés sur la caméra à l'aide du Plugin Loader.
Tous les flux d'un ensemble DSS utilisent le même codec (par exemple, H.264 ou H.265). La sélection des flux est principalement basée sur la résolution, et non sur la fréquence d'images.
Bande passante réseau
DSS 2.0 modifie les exigences en matière de bande passante:
De la caméra au serveur:
Tendance à être plus élevée, car plusieurs flux sont transmis en parallèle. Dépend de:
- Nombre de flux
- Résolutions
- Profils de débit binaire de la caméraa
Serveur vers clients:
Plus faible, car les clients ne reçoivent que la résolution dont ils ont réellement besoin.
Important:
La bande passante supplémentaire effective n'est pas linéaire avec un facteur de 4, mais se situe généralement entre 1,5 et 1,75, en fonction des profils de flux.
Ressources système
Le principal avantage technique du DSS 2.0 réside dans la réduction considérable de la charge de décodage (CPU/GPU).
- Les petits visionneurs décodent les petits flux
- Les grands visionneurs décodent les grands flux
- Pas de décodage 4K inutile pour les vignettes
Exemple:
35 flux/visionneurs de caméra sur 3 moniteurs.
Avant DSS 2.0 :
- Utilisation du GPU : ~90-100 %
- Saccades
Après le passage à DSS 2.0 (deux flux par caméra):
- Utilisation du GPU : ~40-45 %
- Flux fluides
- Résolution maximale lorsque vous double-cliquez sur une seule image
Limitations (intentionnelles)
DSS 2.0 ne fait actuellement pas la distinction entre des résolutions identiques avec des fréquences d'images différentes.
Les cas d'utilisation tels que:
- FPS faible pendant le fonctionnement normal
- FPS élevé pendant les événements
doivent toujours être gérés à l'aide de mécanismes classiques (par exemple, le changement de résolution).
Cette limitation est intentionnelle et vise à garantir la stabilité et la prévisibilité.
Résumé des avantages
Dynamic Stream Selection 2.0 offre:
- Une sélection de flux spécifique au client
- Une réduction massive de la charge GPU et CPU
- Une évolutivité nettement améliorée des postes de travail
- Une commutation transparente sans réinitialisation des encodeurs
- Une utilisation optimale des hautes résolutions lorsque cela est nécessaire
- Une séparation claire des exigences en matière d'enregistrement, d'analyse et d'affichage
DSS 2.0 n'est pas une amélioration progressive, mais une refonte architecturale fondamentale de la distribution des flux, introduite avec G-Core 8.2.