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éeProtocoleRôle
1Encodeur principalSRTPrimaire
2Encodeur de secoursSRTSecours à chaud
3Encodeur cloudRTMPSecours tiède
4Mire/motif de testFichierRepli 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 :

  1. 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.

  2. 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.

  3. 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.).

  4. 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étectionTemps de commutation typique
Déconnexion SRT<50ms
Délai de paquets (500ms)500-600ms
Seuil de débit200-500ms
Seuil de perte de paquets100-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 :

  1. Créez la route avec la sortie souhaitée (par exemple, SRT push vers CDN).
  2. Ajoutez l’Entrée 1 (Priorité 1) : SRT Listener sur le port 9000, latence 200ms, phrase de passe définie.
  3. Ajoutez l’Entrée 2 (Priorité 2) : SRT Caller vers l’encodeur de secours à srt://backup:9000, latence 500ms.
  4. Ajoutez l’Entrée 3 (Priorité 3) : RTMP Listener sur le port 1935, clé de flux backup-rtmp.
  5. Définissez les paramètres de santé : délai 500ms, débit minimum 500 kbps.
  6. 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