Basculement multi-entrées : Redondance N+1 pour les flux en direct
Comment fonctionne le basculement multi-entrées avec redondance N+1 dans Vajra Cast. Chaînes de priorité, surveillance et commutation automatique.
Qu’est-ce que le basculement multi-entrées ?
En ingénierie broadcast, la redondance N+1 signifie disposer d’un secours de plus que le minimum requis. Pour le streaming en direct, cela se traduit par la configuration de plusieurs sources d’entrée pour une seule route de sortie, de sorte que si le flux principal tombe en panne, le système bascule automatiquement vers la prochaine entrée saine dans la chaîne.
Vajra Cast implémente le basculement multi-entrées comme une primitive fondamentale du routage. Chaque route peut avoir une liste ordonnée d’entrées — une chaîne de priorité — et le moteur surveille en permanence toutes les entrées, basculant vers la source saine de plus haute priorité à tout moment.
Ce n’est pas une fonctionnalité annexe. C’est intégré au moteur de routage lui-même, ce qui signifie que les décisions de basculement s’effectuent au niveau des paquets, pas au niveau applicatif. Le résultat : des temps de commutation mesurés en millisecondes, pas en secondes.
Chaînes de priorité
Une chaîne de priorité est une liste ordonnée d’entrées assignées à une route unique. Chaque entrée a un numéro de priorité, où les numéros les plus bas indiquent la priorité la plus haute :
| Priorité | Entrée | Protocole | Rôle |
|---|---|---|---|
| 1 | Encodeur principal | SRT | Primaire |
| 2 | Encodeur de secours | SRT | Secours à chaud |
| 3 | Encodeur cloud | RTMP | Secours tiède |
| 4 | Mire/motif de test | Fichier | Repli d’urgence |
Vajra Cast sélectionne toujours l’entrée de plus haute priorité (numéro le plus bas) qui est actuellement saine. Si la priorité 1 tombe, il bascule vers la priorité 2. Si la priorité 1 se rétablit, il rebascule.
Vous pouvez construire des chaînes aussi profondes que votre infrastructure l’exige. Il n’y a pas de limite stricte sur le nombre d’entrées dans une chaîne de priorité.
Indépendance protocolaire
Les chaînes de priorité sont agnostiques en termes de protocole. Vous pouvez mélanger SRT, RTMP, HLS, UDP et entrées basées sur fichier dans la même chaîne. C’est important pour les déploiements réels où votre flux principal pourrait être en SRT via Internet, votre secours un encodeur RTMP sur le réseau local, et votre repli d’urgence un fichier de mire pré-enregistré.
Surveillance de santé
Le moteur de basculement doit savoir quand une entrée est saine et quand elle ne l’est pas. Vajra Cast surveille chaque entrée dans la chaîne de priorité simultanément, en utilisant plusieurs signaux :
État de connexion
La vérification la plus élémentaire : l’entrée est-elle connectée ? Pour SRT, cela signifie que le handshake est terminé et que les paquets circulent. Pour RTMP, la connexion TCP est établie et des données media sont reçues.
- SRT listener : sain quand un caller se connecte et que les media arrivent
- SRT caller : sain quand la connexion vers le listener distant réussit
- RTMP : sain quand le diffuseur se connecte et envoie de l’audio/vidéo
Flux de paquets
Une entrée connectée qui cesse d’envoyer des paquets n’est pas saine. Vajra Cast suit l’horodatage du dernier paquet reçu pour chaque entrée et la marque comme défaillante après un délai configurable :
Délai de santé : 500ms (par défaut)
Si aucun paquet n’arrive pendant 500ms, l’entrée est signalée comme hors service et le moteur déclenche un basculement vers la priorité suivante.
Seuil de débit
Parfois une entrée se dégrade sans se déconnecter complètement. Un encodeur caméra peut chuter à une fraction de son débit normal en raison d’une surchauffe ou d’une congestion réseau. Vous pouvez définir un seuil de débit minimum :
Débit minimum : 500 kbps
Si le débit mesuré descend en dessous de ce plancher, l’entrée est considérée comme défaillante. Cela détecte les flux « zombies » qui sont techniquement actifs mais inutilisables pour la diffusion.
Métriques spécifiques SRT
Pour les entrées SRT, Vajra Cast surveille également les statistiques au niveau protocolaire :
- Taux de perte de paquets — une perte soutenue au-dessus d’un seuil configurable déclenche le basculement
- RTT (temps aller-retour) — des augmentations soudaines du RTT peuvent indiquer une défaillance du chemin réseau
- Taux de retransmission — un taux élevé de retransmission peut précéder une panne complète
Ces métriques vous donnent un avertissement plus précoce que la simple surveillance de l’état de connexion. Vous pouvez détecter un lien en dégradation et basculer avant qu’il n’affecte votre sortie.
Comportement de commutation
Lorsque le moteur de basculement détecte une entrée défaillante et bascule vers la priorité suivante, plusieurs choses se produisent :
-
Le tampon de sortie absorbe la commutation. Vajra Cast maintient un petit tampon de sortie (configurable, généralement 50-200ms) qui lisse la transition. Pour les sorties SRT, ceci est absorbé dans la fenêtre de latence SRT.
-
La continuité des codecs est maintenue. Si les deux entrées utilisent le même codec et la même résolution, la commutation est transparente au niveau transport. Si les entrées diffèrent, le moteur de transcodage gère l’adaptation.
-
Un événement est enregistré. Chaque commutation de basculement est enregistrée avec un horodatage, l’entrée défaillante, l’entrée qui a pris le relais et la raison de la commutation (délai, débit, perte de paquets, etc.).
-
Les métriques sont mises à jour. Le point d’accès Prometheus signale les événements de basculement, afin que vos tableaux de bord Grafana et vos règles d’alerte puissent réagir.
Chronométrage de la commutation
La vitesse d’une commutation de basculement dépend de la méthode de détection :
| Méthode de détection | Temps de commutation typique |
|---|---|
| Déconnexion SRT | <50ms |
| Délai de paquets (500ms) | 500-600ms |
| Seuil de débit | 200-500ms |
| Seuil de perte de paquets | 100-300ms |
Pour le basculement le plus rapide possible, utilisez SRT pour les entrées principale et de secours. La gestion de connexion SRT offre une détection en moins de 50ms, ce qui se traduit par des commutations invisibles pour les spectateurs.
Comportement de rétablissement
Lorsqu’une entrée de plus haute priorité se rétablit, Vajra Cast peut automatiquement rebasculer vers elle. Ceci est configurable :
- Rétablissement automatique : activé — rebascule vers l’entrée de plus haute priorité dès qu’elle est saine. Un temporisateur de maintien configurable (par défaut : 5 secondes) empêche les oscillations en exigeant que l’entrée rétablie soit stable avant de rebasculer.
- Rétablissement automatique : désactivé — reste sur l’entrée courante jusqu’à une commutation manuelle ou une défaillance de l’entrée courante.
Pour la plupart des déploiements en production, le rétablissement automatique avec un temporisateur de maintien de 5 à 10 secondes est le réglage recommandé. Cela garantit le retour à votre meilleure source sans risquer des commutations rapides lors d’un rétablissement instable.
Exemple de configuration
Une route de basculement multi-entrées typique dans Vajra Cast :
- Créez la route avec la sortie souhaitée (par exemple, SRT push vers CDN).
- Ajoutez l’Entrée 1 (Priorité 1) : SRT Listener sur le port 9000, latence 200ms, phrase de passe définie.
- Ajoutez l’Entrée 2 (Priorité 2) : SRT Caller vers l’encodeur de secours à
srt://backup:9000, latence 500ms. - Ajoutez l’Entrée 3 (Priorité 3) : RTMP Listener sur le port 1935, clé de flux
backup-rtmp. - Définissez les paramètres de santé : délai 500ms, débit minimum 500 kbps.
- Définissez le rétablissement : rétablissement automatique activé, maintien 5 secondes.
Une fois configurée, la route est active. Connectez votre encodeur principal au listener SRT, et le système gère tout le reste automatiquement.
Schémas de déploiement réels
Production sportive à distance
Principal : SRT depuis l’encodeur sur site via fibre dédiée. Secours : SRT depuis l’encodeur sur site via Internet public (chemin différent). Urgence : RTMP depuis un encodeur cloud recevant le même flux caméra via un convertisseur SDI-IP séparé.
Réunion d’entreprise (Town Hall)
Principal : SRT depuis l’encodeur de l’équipe AV. Secours : RTMP depuis un ordinateur portable exécutant OBS comme encodeur redondant. Urgence : mire pré-enregistrée « difficultés techniques ».
Streaming religieux 24h/24
Principal : SRT depuis le mélangeur de production principal. Secours : SRT depuis une caméra secondaire avec encodage direct. Urgence : enregistrement en boucle de l’intérieur de l’église avec musique de fond.
Prochaines étapes
- Retournez au Guide de basculement des flux vidéo pour l’architecture complète de basculement
- Découvrez la récupération après crash pour la restauration automatique des flux après les défaillances logicielles
- Explorez la redondance SRT pour les schémas de basculement spécifiques à SRT