← Retour aux projets

Monitoring vidéo · Télécom Paris / GPAC · 2024 — présent

GPAC Monitor.

Voir ce qui se passe dans un pipeline vidéo.

RÔLE / Conception et développement full-stack de l’interface, de la communication temps réel et du système de relecture.STATUT / livré
GPAC Monitor : graphe des filtres et métriques de session
Vue en direct · graphe des filtres et détails de sessionAgrandir ↗

Une interface de diagnostic pour suivre les filtres, les flux audio et vidéo, les métriques et les événements d’une session GPAC — en direct ou lors de sa relecture.

Le problème à résoudre

Un pipeline GPAC est un graphe vivant : les filtres apparaissent, les connexions changent et chaque PID transporte ses propres propriétés média. Les logs seuls rendent difficile la lecture de cette activité, surtout lorsque la session dure ou qu’un incident ne se reproduit pas facilement.

Une lecture du système, pas seulement un tableau de bord

L’interface réunit le graphe des filtres, les détails des PIDs, les statistiques de session, les métriques CPU et mémoire, et les logs. La sélection d’un filtre permet de relier sa place dans le pipeline à ses propriétés, ses arguments et son état.

  • Graphe interactif des filtres et des connexions.
  • Détails des flux : codec, type média, dimensions, débit et état des PIDs.
  • Widgets de monitoring et métriques de statut par filtre.

Une intégration directe à l’API GPAC

Le serveur de monitoring s’exécute dans le runtime QuickJS embarqué de GPAC. Il utilise les callbacks de FilterSession pour suivre la création et la suppression des filtres, la reconfiguration des PIDs et les changements d’arguments. Il lit les propriétés et statistiques des PIDs via les bindings GPAC, puis transmet des messages ciblés au navigateur par WebSocket RMT.

  • Callbacks de session et boucle de monitoring partagée.
  • Abonnements par type de données et fréquence contrôlée.
  • Collecte des propriétés IPID/OPID, avec conservation du lien vers le filtre source.

Rejouer pour comprendre

Le mode History / Replay enregistre les événements et des états de référence. Lors d’un seek, un checkpoint sert de base, puis les événements reconstruisent l’état visible : graphe, arguments, PIDs, statuts et logs. Le même pipeline d’actions alimente le direct et l’historique.

Performance et fiabilité

Le profilage a conduit à limiter les mises à jour et les rerenders du graphe, à déplacer du parsing vers des Web Workers et à regrouper certains flux WebSocket. Des tests Vitest, des régressions ciblées et des fixtures de contrat client/serveur protègent les invariants techniques.

851 → 105 msINP mesuré

Après optimisation du graphe et de la fréquence des mises à jour.

0,00CLS mesuré

Stabilité visuelle de l’interface.

900+tests automatisés

Chiffre déclaré dans le CV 2026.

GPAC Monitor : session enregistrée avec timeline d’événements
Mode History · timeline et relecture d’une sessionAgrandir ↗
← Tous les projetsDiscuter d’un projet ↗