MicrocosmWorksInnover et Architecturer le Cosmos Numérique
À proposContact
MicrocosmWorksInnover et architecturer des cosmos numériques

Fournir des solutions informatiques qui comptent. Nous sommes passionnés par la technologie, la sécurité et aidons les entreprises à croître grâce à une infrastructure informatique fiable et innovante.

[email protected]
+91 7011868196
New Delhi, India

Hub de Croissance IA

Hub IAInnovation pour les startupsAccélérateur d'entreprise

Solutions

Toutes les solutionsApplications de bien-être et de fitnessPlateforme vidéo IADéveloppement d'agents IA

Ressources

PerspectivesGuides de l'industriePlans d'utilisationModèles d'architectureÉtudes de cas

Entreprise

À propos de nousContactNotre travail

Services

Consultation numériqueInfrastructure cloudDéveloppement SaaSDéveloppement IATechnologie vidéo
Développement ERPPersonnalisation ZohoDéveloppement OdooIntégration SalesforceDéveloppement CRM personnalisé
Intégration QuickBooksSolutions IoTDéveloppement Blockchain
Consultation en cybersécuritéSupport IT - L3

© 2026 MicrocosmWorks. Tous droits réservés.

Politique de confidentialitéConditions d'utilisation
Retour aux Études de Cas
AI SurveillancePublié June 22, 2026 · Mis à jour June 22, 2026

Architecture de streaming RTSP à auto-mise à l'échelle avec orchestrateurs doubles et zéro perte de paquets

Une plateforme de surveillance devait faire évoluer dynamiquement son infrastructure de streaming vidéo — gérant entre 10 et plus de 200 caméras IP avec des centaines de spectateurs simultanés et de workers de traitement AI — tout en garantissant zéro perte de paquets pendant les opérations de mise à l'échelle et en maintenant des URL de stream stables qui ne changent jamais.

Discutez de Votre Projet
rtsp-streaming-autoscale-mediamtx.webp
AI Surveillance
Domain
11
Technologies
6
Key Results
Delivered
Status

Le Défi

Une infrastructure de streaming fixe ne pouvait pas gérer les demandes variables d'une plateforme de surveillance en croissance :

  • Variabilité de l'échelle — Le nombre de caméras et la demande des spectateurs fluctuaient considérablement tout au long de la journée (rapport pic-creux de 10x)
  • Coût de surprovisionnement — Le provisionnement pour la charge de pointe signifiait plus de 70% de ressources inactives pendant les heures creuses
  • Perte de paquets pendant la mise à l'échelle — L'ajout ou la suppression de serveurs de streaming provoquait des interruptions de stream, entraînant la perte d'images pour les workers de traitement AI
  • Instabilité des URL — Les caméras et les spectateurs configurés avec des IP de serveur spécifiques nécessitaient une reconfiguration lorsque l'infrastructure changeait
  • Besoins de mise à l'échelle différents — L'ingestion de caméras et la distribution aux spectateurs avaient des modèles de charge fondamentalement différents nécessitant une mise à l'échelle indépendante
  • Interruption des workers AI — Les pipelines de traitement AI plantaient lorsque leur serveur de stream source était réduit

Notre Solution

Nous avons conçu une architecture de streaming à auto-mise à l'échelle avec orchestrateurs doubles, dotée de clusters d'ingestion et de distribution séparés, d'un arrêt gracieux en 5 phases pour zéro perte de paquets, d'URL stables basées sur DNS, et d'une reconnexion automatisée des workers AI.

Architecture

  • Serveur de streaming : MediaMTX pour la prise en charge des protocoles RTSP/WebRTC/HLS
  • Cluster d'ingestion : 1 à 10 serveurs recevant les streams RTSP des caméras
  • Cluster de distribution : 2 à 20 serveurs desservant les spectateurs (WebRTC/HLS) et les workers AI (RTSP)
  • Orchestrateurs doubles : Contrôleurs de mise à l'échelle indépendants pour l'ingestion et la distribution
  • Équilibreurs de charge : Équilibreurs de charge séparés par cluster avec des algorithmes adaptés au protocole
  • Registre de services : Redis pour l'état des serveurs, les mappages de stream et la coordination
  • Surveillance de l'état de santé : Vérifications actives de l'état de santé avec récupération automatisée
  • Couche DNS : Noms de domaine stables pointant vers les équilibreurs de charge (les URL ne changent jamais)

Conception des orchestrateurs doubles

Pourquoi deux orchestrateurs

L'ingestion et la distribution ont des caractéristiques de mise à l'échelle fondamentalement différentes :

  • L'ingestion évolue en fonction du nombre de caméras et de la bande passante entrante (prévisible, croît régulièrement)
  • La distribution évolue en fonction du nombre de spectateurs et de la demande des workers AI (irrégulière, imprévisible)

Des orchestrateurs séparés permettent à chacun de s'adapter indépendamment avec des politiques, des métriques et des seuils spécialisés — sans que les décisions de mise à l'échelle d'un cluster n'affectent l'autre.

Orchestrateur d'ingestion

  • Métrique principale : Connexions de caméras par serveur
  • Métrique secondaire : Utilisation de la bande passante entrante
  • Mise à l'échelle vers le haut : Lorsque le CPU dépasse un seuil ou que le nombre de caméras par serveur dépasse la capacité
  • Mise à l'échelle vers le bas : Lorsque l'utilisation tombe en dessous du seuil pendant une période de stabilisation prolongée
  • Plage de serveurs : 1 à 10 serveurs

Orchestrateur de distribution

  • Métrique principale : Connexions spectateurs + workers AI par serveur
  • Métrique secondaire : Utilisation de la bande passante sortante
  • Mise à l'échelle vers le haut : Lorsque le CPU dépasse un seuil ou que le nombre de connexions par serveur dépasse la capacité
  • Mise à l'échelle vers le bas : Lorsque l'utilisation tombe en dessous du seuil pendant une période prolongée (stabilisation plus longue que pour l'ingestion)
  • Plage de serveurs : 2 à 20 serveurs (minimum 2 pour une haute disponibilité)

Zéro perte de paquets : Arrêt gracieux en 5 phases

Lorsqu'un serveur de distribution est programmé pour être supprimé, un processus en 5 phases garantit qu'aucune image n'est perdue :

Phase 1 : Pré-notification

Le serveur est marqué comme "DRAINING" dans le registre de services. Le poids de l'équilibreur de charge est réduit afin que les nouvelles connexions soient acheminées ailleurs. Les notifications Redis pub/sub et les webhooks alertent les workers AI pour qu'ils se préparent à la migration.

Phase 2 : Mise à jour de l'équilibreur de charge

Le serveur est supprimé du pool backend de l'équilibreur de charge. Aucune nouvelle connexion ne peut atteindre le serveur en cours de désactivation. Les connexions existantes se poursuivent sans interruption.

Phase 3 : Migration des workers AI

Les workers AI se déconnectent du serveur en cours de désactivation et se reconnectent aux serveurs de distribution sains. La conservation de l'état basée sur des checkpoints garantit que le traitement reprend à partir de l'image exacte où il s'est arrêté. Délai total : environ 3 secondes avec zéro image perdue.

Phase 4 : Désactivation des spectateurs

Les connexions de spectateurs restantes se désactivent naturellement sur une fenêtre configurable. Les lecteurs vidéo modernes se reconnectent automatiquement à la même URL stable, qui est acheminée vers des serveurs sains. La plupart des spectateurs ne subissent aucune interruption.

Phase 5 : Nettoyage

Vérifier que toutes les connexions sont fermées. Supprimer le serveur du registre de services. Détruire l'instance cloud. Enregistrer les métriques de mise à l'échelle.

URL stables

L'architecture des URL garantit que les caméras et les clients n'ont jamais besoin de reconfiguration :

  • Cible de publication de la caméra : Un nom de domaine d'ingestion stable
  • Cible d'accès spectateur/AI : Un nom de domaine de distribution stable
  • Les enregistrements DNS pointent vers les IP des équilibreurs de charge (qui sont permanentes)
  • Les équilibreurs de charge gèrent le routage vers les serveurs backend de manière transparente
  • Les serveurs backend peuvent être ajoutés, supprimés ou remplacés sans changement d'URL

Registre de services (Redis)

Une instance Redis centralisée coordonne l'ensemble du système :

  • Suivi de l'état des serveurs (actif, en désactivation, hors ligne)
  • Mappage stream-vers-serveur (quelle caméra est sur quel serveur d'ingestion)
  • État des workers AI et données de checkpoint
  • Métriques de charge par serveur pour les décisions de mise à l'échelle
  • Canaux Pub/sub pour les événements de coordination en temps réel

Reconnexion du client AI

Une bibliothèque cliente AI fournit une reconnexion transparente :

  • Écoute les notifications de suppression de serveur via Redis pub/sub
  • Enregistrement automatique des checkpoints d'images à intervalles réguliers
  • Reconnexion à un serveur de distribution sain sur notification
  • Reprise du traitement à partir du checkpoint avec un écart minimal
  • Rapport de métriques pour les événements de reconnexion

Surveillance de l'état de santé

  • Vérifications actives de l'état de santé sur chaque serveur à intervalles réguliers
  • Mises à jour automatiques des équilibreurs de charge en cas de défaillance des serveurs
  • Déclencheurs de récupération automatique pour les serveurs ne répondant pas
  • Suivi de la disponibilité et rapport d'accessibilité

Fonctionnalités clés

  1. Orchestrateurs doubles — Mise à l'échelle indépendante pour les clusters d'ingestion et de distribution
  2. Zéro perte de paquets — Arrêt gracieux en 5 phases avec migration des workers AI
  3. URL stables — Le routage basé sur DNS garantit que les URL ne changent jamais pendant la mise à l'échelle
  4. Reconnexion des workers AI — Migration basée sur des checkpoints avec un écart d'environ 3 secondes et zéro perte d'images
  5. Mise à l'échelle indépendante — L'ingestion et la distribution s'adaptent en fonction de leurs propres métriques
  6. Registre de services — Coordination basée sur Redis pour l'état des serveurs et les mappages de stream
  7. Surveillance de l'état de santé — Vérifications actives avec récupération automatique
  8. Optimisation des coûts — Réduction automatique de l'échelle pendant les périodes de faible demande

Résultats

Perte de paquets : 0,00% pour les workers AI pendant les opérations de mise à l'échelle
Reconnexion AI : ~3 secondes avec reprise basée sur checkpoint
Temps de mise à l'échelle vers le haut : ~60 secondes du déclenchement au service

Stack Technologique

MediaMTXPythonFastAPIRedisDockerCloud VM APIsLoad BalancersDNSPrometheusGrafanaWebSocket

caseStudyDetail.more Études de Cas

Découvrez plus de nos implémentations techniques

AI Accounting

Traitement de factures assisté par l'IA avec OCR et intégration QuickBooks

Une entreprise de taille moyenne, traitant des centaines de factures fournisseurs chaque mois, devait éliminer la saisie manuelle des données en extrayant automatiquement les données des factures à l'aide de l'IA/OCR et en les synchronisant directement dans QuickBooks pour la tenue de livres et le suivi des paiements.

Lire l'Étude de Cas
Video Encoding

Insertion d'annonces côté client (CSAI) avec analyse des marqueurs SCTE-35 et intégration de lecteurs multiplateformes

Une plateforme de streaming vidéo devait implémenter l'insertion d'annonces côté client (CSAI) sur les applications web, mobiles et de télévision connectée — permettant des expériences publicitaires personnalisées au niveau de l'appareil avec un support complet d'interaction publicitaire (superpositions cliquables, bannières complémentaires, boutons de saut) que l'insertion côté serveur ne peut pas offrir.

Prêt à Transformer Votre Entreprise ?

Discutons de la façon dont nous pouvons appliquer des solutions similaires à vos défis.

Contactez-NouscaseStudyDetail.viewAllCaseStudies
Temps de mise à l'échelle vers le bas : ~220 secondes avec arrêt gracieux complet
Stabilité des URL : 100% — aucun changement d'URL lors d'événements de mise à l'échelle
Temps de fonctionnement : 99,95% de disponibilité du système
Lire l'Étude de Cas
Web Scraping

Plateforme de Web Scraping et de Génération de Contenu de Blog Propulsée par l'AI

Une entreprise médiatique avait besoin d'une plateforme de contenu intelligente capable d'automatiser la création de contenu de blog en récupérant du contenu web existant, en l'analysant à l'aide de l'AI et en générant des articles de blog originaux et optimisés pour le SEO à partir des données extraites.

Lire l'Étude de Cas

Questions fréquemment posées

MicrocosmWorks a implémenté une architecture d'orchestrateur double actif-actif où les deux orchestrateurs maintiennent un état synchronisé concernant les attributions de flux et la santé des workers, avec un basculement automatique qui transfère la gestion des flux à l'orchestrateur survivant en quelques secondes si l'un d'eux tombe en panne. Cela élimine le point de défaillance unique dont souffrent les architectures traditionnelles à orchestrateur unique, assurant zéro perte de paquets pendant la maintenance de l'orchestrateur ou des pannes inattendues.

MicrocosmWorks a conçu un mécanisme de désactivation progressive où les workers en cours de retrait continuent de servir leurs flux attribués jusqu'à ce que toutes les connexions soient proprement migrées vers de nouveaux workers via des séquences RTSP TEARDOWN et re-SETUP. Les nouveaux workers sont entièrement initialisés et vérifiés avant de recevoir des attributions de flux, et la transition utilise des fenêtres de chevauchement où les anciens et les nouveaux workers servent brièvement le même flux pour éviter toute interruption.

MicrocosmWorks a sélectionné MediaMTX pour ce projet car il est léger, open-source, et conçu spécifiquement pour le re-streaming RTSP avec une surcharge de ressources minimale par flux comparé aux serveurs multimédia complets. Il prend en charge la création de flux dynamique via API, fonctionne efficacement dans des conteneurs pour l'auto-scaling basé sur Kubernetes, et évite les coûts de licence par flux des alternatives commerciales comme Wowza qui peuvent devenir prohibitifs à grande échelle.

MicrocosmWorks a déployé une stack d'observabilité complète qui suit les métriques par flux, incluant le taux de perte de paquets, le jitter, le nombre de reconnexions et la latence de bout en bout, avec des alertes qui se déclenchent avant que la dégradation ne devienne visible pour les utilisateurs finaux. Le système de monitoring suit également les métriques de prise de décision de l'orchestrateur, telles que les événements de scaling, les durées de migration de flux et les tendances d'utilisation des workers, afin de permettre une planification proactive de la capacité.

Oui, MicrocosmWorks a conçu les worker nodes pour prendre en charge la sortie RTSP concurrente pour les spectateurs en direct et l'enregistrement segmenté vers le stockage d'objets, avec une allocation de ressources indépendante pour chaque charge de travail. L'enregistrement utilise un chemin d'écriture séparé qui met en mémoire tampon les segments localement avant de les télécharger, de sorte que les pics d'E/S de stockage n'impactent jamais la diffusion en direct, et l'auto-scaler tient compte de la demande de ressources combinée des deux charges de travail lors des décisions de mise à l'échelle.