13
Telescreen Thierry Bouedo, 15 novembre 2011

Telescreen Thierry Bouedo, 15 novembre 2011. Telescreen l Thierry Bouedo, 15 novembre 2011 Contexte et environnement Caméras visant différents faisceaux

Embed Size (px)

Citation preview

Page 1: Telescreen Thierry Bouedo, 15 novembre 2011. Telescreen l Thierry Bouedo, 15 novembre 2011 Contexte et environnement  Caméras visant différents faisceaux

Telescreen

Thierry Bouedo, 15 novembre 2011

Page 2: Telescreen Thierry Bouedo, 15 novembre 2011. Telescreen l Thierry Bouedo, 15 novembre 2011 Contexte et environnement  Caméras visant différents faisceaux

Telescreenl

Thierry Bouedo, 15 novembre 2011

Contexte et environnement Caméras visant différents faisceaux de l’interféromètre pour :

assurer des contrôles locaux (de position), “surveiller” quelques salles, retourner de l’information de visualisation (qualitative) en salle de contrôle

Architecture du système actuel :

Affichage en salle de contrôle

Problématique : des caméras vieillissantes, volumineuses, très probablement des caméras supplémentaires dans le futur (une trentaine de caméras à

ce jour), un hardware d’acquisition (carte VME) et de calcul (RIO) obsolète

Application de configuration / contrôle (commerciale fermée)éthernet

Un choix à faire pour de nouvelles caméras (et pour l’acquisition)

mélangeur / compositeur analogique

(mosaïque statique ou singleton)

Contrôle locallien numériqueimage par image Flux vidéo

analogiqueContrôle local

lien numériqueimage par image Flux vidéo

analogiqueContrôle local

lien numériqueimage par image Flux vidéo

analogique

Sauvegarde intégrée (format propriétaire)

VME

VME

VME

Affichage en salle de contrôle

Page 3: Telescreen Thierry Bouedo, 15 novembre 2011. Telescreen l Thierry Bouedo, 15 novembre 2011 Contexte et environnement  Caméras visant différents faisceaux

Telescreenl

Thierry Bouedo, 15 novembre 2011

Nouvelles camérasAu regard des critères principaux (optique, sensibilité du capteur, résolution,…), le choix s’est porté sur un modèle de caméra présentant une interface éthernet.La question devient :

La réponse est :

mélangeur / compositeur analogique

(mosaïque statique ou singleton)

Contrôle localFlux vidéo ?

Contrôle localFlux vidéo ?

Contrôle local

Sauvegarde intégrée (format propriétaire)

?

Affichage en salle de contrôle

Flux vidéo ?

?

?

mélangeur / compositeur numérique

logicielAffichage en

salle de contrôle

Sauvegarde externe (sur le réseau)

Flux vidéo (sur le réseau)

Page 4: Telescreen Thierry Bouedo, 15 novembre 2011. Telescreen l Thierry Bouedo, 15 novembre 2011 Contexte et environnement  Caméras visant différents faisceaux

Rapport moral

Thierry Bouedo, 15 novembre 2011

Nouvelle architecture

PC temps réel

switch ethernet

RTSP, RTP

PC temps réel

switch ethernet

RTSP, RTP

Any video streams

RTSP

Remote displayRecording

NFS

RTSP

Telescreen (1 ou plusieurs Video Core)

Main displays in Control Room

ethernet ethernet

Private networks

Camera IP(http, tcp, udp, rtp, rtsp, …)

Remote display

Telescreenl

Contrôle (http)

Contrôles locaux

Page 5: Telescreen Thierry Bouedo, 15 novembre 2011. Telescreen l Thierry Bouedo, 15 novembre 2011 Contexte et environnement  Caméras visant différents faisceaux

Rapport moral

Thierry Bouedo, 15 novembre 2011

Video Core, élément de base de l’architecture,appuyé sur deux technologies “open source” :

Gstreamer : framework de manipulation des flux multimédia : Basé sur une structure de graphe qui permet la

construction totalement arbitraire d’un pipeline de traitement,

Architecture ouverte à base de plugins (déjà existant ou à écrire soi-même),

Utilise le modèle objet de la Glib et son mécanisme de distribution des évènements,

Fortement threadé -> efficacité sur une machine multi-coeurs,

Utilisé par une large communauté (support, documentation, exemples, pérennité, …);

http://gstreamer.freedesktop.org/

LibSoup : librairie de développement de client/serveur sur http : Utilise le modèle objet de la GLib (projet Gnome), Fonctionnement asynchrone par l’utilisation du

mécanisme de callback de la boucle d’évènement de la GLib (GMainLoop),

http://live.gnome.org/LibSoup

Telescreenl

Client web (navigateur)

serveur web

LibSoup pipeline de

traitement vidéo

Gstreamer

Flux vidéo

callbacksde contrôle du pipeline

Page 6: Telescreen Thierry Bouedo, 15 novembre 2011. Telescreen l Thierry Bouedo, 15 novembre 2011 Contexte et environnement  Caméras visant différents faisceaux

Rapport moral

Thierry Bouedo, 15 novembre 2011

Gstreamer, l’architecture

Plusieurs classes de plugins :• protocols : interface avec l’extérieur• sources: entrée pour l’audio/vidéo

(invoquent les plugins de protocole)• formats: compréhension des

containers, parseurs, formateurs, séparateurs et mélangeurs audio/vidéo, sous-titres, …

• codecs: codeurs et décodeurs• filters: convertisseurs, mixers,

effets, redimensionnement, ...• sinks: pour audio/vidéo (invoquent

les plugins de protocole)

Telescreenl

Séparation forte entre :• application • core (gestion du pipeline)• plugins

Page 7: Telescreen Thierry Bouedo, 15 novembre 2011. Telescreen l Thierry Bouedo, 15 novembre 2011 Contexte et environnement  Caméras visant différents faisceaux

Rapport moral

Thierry Bouedo, 15 novembre 2011

Gstreamer, les fondations

Telescreenl

Pipeline : contient l'ensemble des actions à effectuer, assure le séquencement du traitement et gère le flux interne des données (passage de blocs par

buffers), gère les états START, PAUSE, STOP

la composition du pipeline s’effectue par le chainage d’Elements compatibles.

Page 8: Telescreen Thierry Bouedo, 15 novembre 2011. Telescreen l Thierry Bouedo, 15 novembre 2011 Contexte et environnement  Caméras visant différents faisceaux

Rapport moral

Thierry Bouedo, 15 novembre 2011

Gstreamer, les fondations

Telescreenl

Element : objet de base ; un plugin = collection d’éléments du même domaine d’action un élément = une action (ou groupe d’action) dans un pipeline 3 types d’éléments :

Production des données Traitement des données Gestion de la sortie des données

Pads: sont les entrées/sorties des éléments. Ils servent à interconnecter les éléments entre eux sont classés en 2 sous-ensembles :

les pads de type "sink", permettant de faire entrer des données dans un élément les pads de type "src" (source), permettant de faire sortir des données d'un élément

incluent des critères (Caps): de vérification que le format des données correspond à ce qui est attendu (SINK pad) de définition des données générées (SRC pad)

plusieurs pads (src et/ou sink) peuvent être associés à un même élément 3 statuts possibles pour un pad :

ALWAYS : toujours présent REQUEST : créé par une demande de l’application SOMETIMES : créé en fonction du flux de données traversant

le pipeline garantit la négociation de lien entre un SRC pad et un SINK pad

Page 9: Telescreen Thierry Bouedo, 15 novembre 2011. Telescreen l Thierry Bouedo, 15 novembre 2011 Contexte et environnement  Caméras visant différents faisceaux

Rapport moral

Thierry Bouedo, 15 novembre 2011

Gstreamer, la communication

Telescreenl

Plusieurs mécanismes pour la communication entre les éléments et entre le pipeline et l’application :

buffers : utilisés pour faire transiter le flux de données entre les éléments dans le pipeline. Les buffers vont toujours des sources vers les sinks (downstream)

events : envoyés entre les éléments ou depuis l’application vers les éléments. Les events peuvent voyager upstream and downstream. Par exemple, le blocage (du transfert des buffers) au sein d’un élément ou la fin d’un flux

messages : postés par les éléments vers l’application via le bus des message du pipeline bus. Les messages sont généralement utilisés pour transmettre des informations comme les erreurs, les changements d’état, l’état de bufferisation, la fin du flux, …

queries : permettent à l’application de demander des informations telles que la durée ou la position de lecture. Un élément peut aussi utiliser les queries pour réclamer des informations aux éléments auxquels il est lié (comme la taille du fichier, la durée – souvent upstream).

Page 10: Telescreen Thierry Bouedo, 15 novembre 2011. Telescreen l Thierry Bouedo, 15 novembre 2011 Contexte et environnement  Caméras visant différents faisceaux

replicator

mixer-mosaic

Rapport moral

Thierry Bouedo, 15 novembre 2011

Video Core : un joli Lego… ! stream input stream input stream inputstream input

decoder

scaling

replicator

video output

stream input

decoder

scaling

decoder

scaling

replicator

stream input

decoder

scaling

replicator

decoder

scaling

replicator

scaling

mixer-mosaic

video output

connectors (pads) dynamically created

1 or more instances according the number of input streams

1 or more instances according the number of output video

RTSP server

Recorder

encoder encoder

Telescreenl

Page 11: Telescreen Thierry Bouedo, 15 novembre 2011. Telescreen l Thierry Bouedo, 15 novembre 2011 Contexte et environnement  Caméras visant différents faisceaux

Rapport moral

Thierry Bouedo, 15 novembre 2011

Un système extensibleEn fonction de la charge du réseau, de la charge CPU (des machines où sont

décodés les flux), des différentes fonctionnalités (affichage,

enregistrement sur disque, …),plusieurs instances du Video Core peuventse répartir le travail.

Telescreenl

Subpart of video streams

Video Core

Subpart of video streams

Video Core

Control room displays

video streams

Control room displays

video streams

Écriture sur disque via NFS

Display Recording RTSP serverWWW

Vidéo streaming

Local network - ethernet

Local network - ethernet

Page 12: Telescreen Thierry Bouedo, 15 novembre 2011. Telescreen l Thierry Bouedo, 15 novembre 2011 Contexte et environnement  Caméras visant différents faisceaux

Rapport moral

Thierry Bouedo, 15 novembre 2011

L’interface de contrôle

Telescreenl

à travers le web via un navigateur : les pages html sont construites dynamiquement et servies par le serveur web intégré dans chaque

instances du Video Core

Client web (navigateur)

serveur web

LibSoup pipeline de traitement

vidéoGstreamer

Flux vidéo

callbacksde contrôle du pipeline

Page 13: Telescreen Thierry Bouedo, 15 novembre 2011. Telescreen l Thierry Bouedo, 15 novembre 2011 Contexte et environnement  Caméras visant différents faisceaux

Rapport moral

Thierry Bouedo, 15 novembre 2011

Telescreenl

Démo Questions ?