Les protocoles temps réel Les protocoles temps réel

Transcription

Les protocoles temps réel Les protocoles temps réel
Streamming : architecture et service
Dominique PRESENT
I.U.T. de Marne la Vallée
Les protocoles temps réel
•
RSVP (Ressource ReSerVation Protocol) :
• utilisé par les applications temps réel pour réserver les ressources nécessaires
au niveau des routeurs situés le long du chemin de transmission
• Une Règle de Contrôle (Policy Control) détermine si l'utilisateur à la
permission administrative de faire de la réservation. Le contrôle d'admission
(Admission Control) détermine si le nœud à suffisamment de ressource pour
fournir la QoS demandée.
•
RTP (Real-time Transport Protocol)
– assure la reconstruction temporelle, la détection de perte, la sécurité et
l'identification du contenu.
– travaille avec le protocole RTCP pour obtenir des feed-back concernant la
qualité de la transmission
– fournit un système d'horloge (timestamping), une numérotation des séquences
et d'autres mécanismes pour prendre garde aux problèmes liés au temps.
– RTP tourne au-dessus de UDP
En-tête IP En-tête UDP En-tête RTP Données vidéo temps-réel
IUT - Marne la Vallée
streaming : architecture et services
© D. Présent
Les protocoles temps réel
RTCP (Real-Time Control Protocol)
– périodiquement des paquets RTCP envoie des informations sur la
qualité du service délivrée. Travaille avec RTP.
– RTCP offre les services suivants : Contrôle de la congestion et
monitoring de la QoS ; Identification de la source ;
Synchronisation inter-média ; Information de contrôle
RTSP (Real-Time Streaming Protocol)
– initie et commande à distance des flux multimédia stockés sur un
serveur de données à travers un réseau IP.
– offre des fonctionnalités comme l'arrêt, l'avance rapide, la
recherche avancée pour des flux vidéo et audio.
– Les données quant à elles sont transmises séparément en utilisant
le plus souvent RTP.
IUT - Marne la Vallée
streaming : architecture et services
© D. Présent
1
Session multimédia « temps réel »
des
Serveur « temps réel » 1-réservation
ressources dans les
routeurs à l ’établissement
Application
de la session
«temps réel»
2-transmission des données
dans des paquets RTP
RTP
RTCP
3-contrôle de la qualité de
la session (débit, gigue,
UDP
perte) par des paquets
RTCP
Routeur
RSVP
Client
Application
«temps réel»
RTP
RTCP RSVP
UDP
Routeur
RSVP
Routeur
RSVP
IUT - Marne la Vallée
streaming : architecture et services
© D. Présent
Video en ligne : le streaming
1 - test de performance de la liaison
2 - création d ’un buffer pouvant stocker
Versions du fichier
28Kb/s 56Kb/s 512Kb/s « n secondes » de vidéo
3 - transmission des paquets
4 - visualisation « n secondes » après
l ’arrivée du premier paquet
3
Routeur
serveur
"streaming"
Internet
Routeur
Buffer
7Ko
4
2
client
RTC
Modem 56Kb/s
• Les outils :
– un logiciel de production audio/vidéo permettant le codage en
fonction du débit du réseau emprunté
– un serveur pour stocker les fichiers, établir et paramétrer la
connexion avec le client
– un logiciel de lecture sur le poste client
IUT - Marne la Vallée
streaming : architecture et services
© D. Présent
Les outils de streaming : 4 éditeurs
•
•
•
•
Real Networks :
– RealProducer Plus pour le codage audio/vidéo
– RealServer pour le service de streaming
– RealPlayer pour la lecture des vidéo
Microsoft :
– Windows Media Encoder pour le codage audio/vidéo
– Windows Media Services pour le service de streaming
– Windows Media Player pour la lecture
Quick Time :
– QuickTime Streaming Server (incluant QTSS Publisher) pour le service
de streaming
– QuickTime Broadcaster pour la production « live »
– QuickTime Player ou QuickTime Pro pour la lecture
Macromedia :
– Flash Media Server pour le service de streaming
– Flash 8 Video Encoder pour le codage audio/vidéo
– Flash Player pour la lecture
IUT - Marne la Vallée
streaming : architecture et services
© D. Présent
2
fichier audio/vidéo avec Real Producer
• A partir de fichiers : les fichiers doivent être aux formats audio
(.au ou .wav) ou vidéo (.avi). Les fichiers mpeg-1 à 3 et quickTime
(nécessitent DirectX 6.0)
• A partir de sources : microphones, caméra vidéo
• Convertir le fichier en fichier RealMedia : avec RealProducer
Plus en choisissant les paramètres de codage (débit, qualité,…)
• Transférer le fichier RealMedia sur un serveur RealServer
• insérer les liens avec vos fichiers vidéo dans une page Web
Enregistrement « SureStream » : permet avec un seul fichier une
lecture à des débits différents (ex.: 28Kb/s et 56Kb/s). Le fichier est
ainsi lisible par d ’anciennes versions de RealPlayer.
IUT - Marne la Vallée
streaming : architecture et services
© D. Présent
L’infrastructure : Web + streaming
serveur
Web
administration
serveur
"streaming"
client
Hub
Hub
r é
s
e
a
u
Serveur « sreaming » :
Serveur Web :
station bi-processeur Xéon + logiciel Hélix Producer
station mono-processeur Pentium 3 + logiciel Apache
Station « administration » :
station mono-processeur Pentium 3
encodeur Hélix Producer
interface d’administration RealNetwork en ligne
éditeur HTML Dreamweaver
éditeur SMIL SMIL Editor
navigateur + lecteur de médias RealOne Player
Station client :
IUT - Marne la Vallée
streaming : architecture et services
© D. Présent
Le serveur Helix Universal Server
• Serveur de streaming pouvant être installé sur les plateformes Windows
server, Windows station et Unix ;
• nombreux médias compatibles :
• Realnetworks : RealAudio (.rm), RealVideo (.rm, .rmvb), RealPix (.rp)
et RealText (.rt) ;
• Macromedia : Flash (.swf) ;
• Microsoft : Windows Media (.asf, .wma, .wmv) ;
• Apple : QuickTime (.mov) ;
• Standards : MPEG-1; MPEG-4, MP3 ;
• Images : GIF (.gif), JPEG (.jpg, .jpeg), PNG (.png) ;
• Autres : AU (.au), AIFF (.aif, .ief), WAV (.wav)
•Enregistrement « SureStream » : permet une lecture à des débits adaptés au
lecteur (ex.: modems 28Kb/s ou 56Kb/s, ADSL 256Kb/s ou 512Kb/s).
IUT - Marne la Vallée
streaming : architecture et services
© D. Présent
3
diversité des présentations
• RealText : édition de clips textes pouvant être combinés avec d’autres
médias (audio ou vidéo). Réalisation de sous-titres par exemple ;
• RealPix : création de diaporama mixant des images GIF, JPEG ou PNG. Le
langage incluse des animations et effets tels que zoom, fondus…
• SMIL : Langage de présentations multimédias (Synchronized Multimedia
Integration Language) basé sur le XML. Permet le multi-affichage dans une
fenêtre mixant des vidéos, sons, des images et du texte. Peut intégrer des
présentations réalisées avec RealText ou RealPix.
• diffusion :
• à la demande : la visualisation débute à la demande du client qui
dispose des commandes d’arrêt, retour arrière, avance rapide…
• en direct : le client se connecte à une présentation pré-programmée. Il
ne dispose pas de commandes. Deux méthodes de diffusion :
• point à point – chaque client reçoit son propre flux de données ;
• multipoint – un seul flux de données pour tous les clients.
IUT - Marne la Vallée
streaming : architecture et services
© D. Présent
Caractéristiques du serveur
• stockage réparti : les fichiers distribuables peuvent être placés sur le
serveur (répertoire « content ») ou sur tout autre serveur du réseau ;
• informations de lecture : des informations sur les fichiers lus peuvent être
transmises et affichées par le lecteur ;
• serveur secouru : en cas d’interruption de lecture, le client peut être
connecté à un serveur de secours ;
• serveurs proxys : permettent d’accélérer la connexion des clients et la
distribution des clips ;
• contrôle d’accès :
• limitation du nombre de connexions simultanées ;
• autorisations d’accès par adresses IP ou numéros de ports ;
• authentification des clients par nom et mot de passe ;
• gestion et contrôle :
• fichier de listage des accès clients, fichiers ;
• activité temps réel du serveur (bande passante, fichiers ouverts, clients
connectés…)
IUT - Marne la Vallée
streaming : architecture et services
© D. Présent
Points d’accès du serveur
Les URLs pour accèder utilisent des « points d’accès » (mount points)
fonctionnant comme des répertoires. Les points d’accès par défaut sont :
/admin
accès aux pages d’administration du serveur ;
/ramgen
requêtes venant des navigateurs ;
/httpfs
ouverture des pages HTML par HTTP ;
/viewsource envoi de pages HTML listant les informations sur les
fichiers visionnés ;
/encfs
dialogue entre Helix Producer et Helix Server ;
/asxgen
requêtes des navigateurs concernant des fichiers Windows ;
/nscfile
ouverture des lecteurs Windows Media en multicast;
/scalable
requêtes des connexions multicast à débit configurable.
Exemples :
accès aux pages d’administration du serveur en local
http://<localhost>:<adminport>/admin/index.html
accès aux données RealNetworks du répertoire « content »
http://<serveur>:80/ramgen/répertoire/fichier.smi
IUT - Marne la Vallée
streaming : architecture et services
© D. Présent
4
Ports et protocoles
Ports par défaut
Généré
dynamiquement
IUT - Marne la Vallée
streaming : architecture et services
© D. Présent
RealServer : le serveur de streaming
• 2 versions logicielles : windows NT et Unix
• Le serveur utilise 2 canaux par client : un canal pour le
contrôle et les commandes, un canal pour les données
• pour chaque client, le serveur crée une tâche et réserve une
zone RAM (12Kb par Kb/s de débit)
• le serveur utilise 2 protocoles avec les applications de
lecture vidéo : Real Time Streaming Protocole (RTSP) et
Progressive Networks Audio (PNA)
Connexion TCP de contrôle
Flux UDP de données
RealPlayer
RealServer
IUT - Marne la Vallée
streaming : architecture et services
© D. Présent
Contrôle de débit par RTSP
Le serveur peut adapter le débit des données :
• Par négociation entre client et serveur. L’adaptation de débit n’est mise en œuvre que
si les conditions négociées à l’ouverture de la session sont réunies ;
• De sa propre initiative, sans demande du client. Dans ce cas, le serveur ignore les
requêtes d’adaptation de débit du client, et s’appuie sur les informations de
congestion fournies par le protocole RDT.
Un mécanisme de signalisation dans RTSP est en cours de standardisation (3GPP
26.234). Ce mécanisme nécessite que :
• Les extensions de réponses dans RTCP (NADU APP) soient utilisées pendant la
session ;
• La fréquence des réponses soit précisée ;
• Des seuils soient prédéfinis dans le buffer du client.
Les paramètres d’adaptation de débit peuvent être échangés à la demande ou lors de
l’ouverture de session dans un descriptif de session (Session Description Protocol).
Ce descriptif est systématique dans le cas de diffusion multicast.
IUT - Marne la Vallée
streaming : architecture et services
© D. Présent
5
Architecture de Helix DNA Server
Le noyau du serveur « Helix DNA » (Media Delivery Engine ) :
• fournit un ensemble de services communs à toutes les applications de la plateforme.
• Les compléments assurent les fonctions spécifiques à certaines applications.
Session
Control
FileSystem
Protocol
Allowance
FileFormat
InputSource
DataFlow
RateControl
Socket
co
ntr
ol
Registry
Broadcast
Plugin
Logging
Socket
Transport
noyau
Data
Socket
ck
dba
fee ta
da
client
Helix DNA Server : modèle d’interaction entre objets
IUT - Marne la Vallée
streaming : architecture et services
© D. Présent
Les congestions sont contrôlées par RDT
Le contrôle de congestion du serveur s’appuie sur les informations retournées par
le client. La caractérisation de la connexion utilise 2 variables principales : le
taux de perte et le délai de propagation.
Le protocole RDT ne dispose pas d’information d’horloge comme RTP. Le
protocole RDT compense par une analyse de la périodicité des acquittements
(ACK/NACK). A terme, le protocole RDT devrait se rapprocher des
fonctionnalités du protocole RTP.
Par le protocole RDP le client fournit au serveur des informations sur l’état du
buffer (nombre d’octets stockés).
IUT - Marne la Vallée
streaming : architecture et services
© D. Présent
Le transport des données dans RTP
H.263 Vidéo :
0
31
RTP Header
l’en-tête contient le type données, la
longueur de l’en-tête des données
H.263 + payload Header
et un « marqueur de temps », basé H.263 + compressed Data Stream
sur une horloge à 90kHz.
MPEG-4 Audio/Visual :
L’en-tête contient un n uméro de
séquence, un marqueur de temps
basé sur une horloge à 90kHz
0
31
RTP paramètres
Marqueur de temps
ID de synchro de source
paramètres complémentaires
RTP
header
MPEG-4 Data Stream
IUT - Marne la Vallée
streaming : architecture et services
© D. Présent
6
Le contrôle et la gestion de session
•
•
•
Le contrôle de session porte sur les interactions entre le serveur et le lecteur pour
des actions telles que l’ouverture, la lecture, la pause…
Le recours à un protocole tel que RTSP entre le serveur et le lecteur facilite
l’interaction ;
Pour chaque requête, un objet est créé par le Player Packet Management.
Player::Session
Object : OnPause
Session
Control
Player Packet
Management
IUT - Marne la Vallée
Protocol
Request
(pause)
RTSP
streaming : architecture et services
© D. Présent
Les 5 étapes de création des fichiers
administration
1
In te rn e t
Routeur
serveur
Web
serveur
"streaming"
3 4
Hub
2
ré s e a u
5
Etape 1 : encodage des vidéos sur la station d’administration avec Real Producer ;
Etape 2 : transfert des fichiers vidéos vers le serveur de streaming à partir de la station
d’administration ;
Etape 3 : création des fichiers HTML regroupant les liens vers les fichiers de pointage ;
Etape 4 : création du fichier « Ram » de liaison entre navigateur et lecteur multimédia ;
Etape 5 : création des fichiers de présentation multimédia SMIL sur le serveur de
streaming ou serveur Web ;
IUT - Marne la Vallée
streaming : architecture et services
© D. Présent
Etape 1 : encoder en fonction du débit
Les vidéo sont codées pour respecter la bande passante du support de transmission
choisi.
La bande passante est répartie en 3 sous-bandes :
• la vidéo
• l’audio
• le sur-débit.
Pour une bande passante de 65Kb/s, la répartition des sous-bandes peut se faire de la
manière suivante :
Bande passante : 56Kb/s
Vidéo : 27,5Kb/s audio : 6,5Kb/s sur-débit : 22Kb/s
Vidéo : 26Kb/s
audio : 8Kb/s
sur-débit : 22Kb/s
Débit total
données
voix
Voix +
musique
Musique
mono
Musique
stéréo
56Kb/s
34Kb/s
6,5Kb/s
8,5Kb/s
8Kb/s
8Kb/s
IUT - Marne la Vallée
streaming : architecture et services
© D. Présent
7
Etape 1 : les formats d’image pour la vidéo
La qualité de l’image pour une bande passante donnée dépend fortement de sa
dimension:
Débit total
données
RTC 28,8Kb/s
20Kb/s
RTC 56Kb/s
34Kb/s
RNIS 64Kb/s
45Kb/s
LAN
150Kb/s
ADSL 256Kb/s
225Kb/s
ADSL 512Kb/s
450Kb/s
IUT - Marne la Vallée
176 x 132 240 x 180 320 x 240 640 x 480
bon
correct
Faible
excellent
correct
bon
streaming : architecture et services
© D. Présent
Etape 1 : l’échantillonnage audio
Débit audio (kb/s)
5
6,5
8,5
16
32
64
Échantillonnage (kHz)
8
8
8
16
22
44
Échantillonnage de la voix
Échantillonnage (kHz) 11
12Kb/s
St
20Kb/s
St
22
44
St : stéréo
St-RA8; St-HR
St-RA8 : stéréo
RealAudio 8
32Kb/s
St; St-RA8
St-HR
44Kb/s
St
St-RA8; St-HR; Sd
64Kb/s
St; St-RA8; Sd
96Kb/s
St; St-RA8; Sd
264Kb/s
St-RA8; Sd
St-HR : stéréo
High Response
Sd : surround
Échantillonnage de la musique
IUT - Marne la Vallée
streaming : architecture et services
© D. Présent
Le codage audio/vidéo : paramètrage
Type de
codage
Choix des
débits
Format du
fichier
IUT - Marne la Vallée
streaming : architecture et services
© D. Présent
8
Statistiques d ’enregistrement
Durée de codage
par rapport à la
durée du clip
Caractéristiques
des flux
audio/vidéo
IUT - Marne la Vallée
streaming : architecture et services
© D. Présent
Session de codage : paramètrage
Nom du
serveur
Nom du
fichier
IUT - Marne la Vallée
streaming : architecture et services
Port utilisé
utilisateur
© D. Présent
Etape 1 : le paramétrage vidéo avancé
Le type de flux :
• flux à débit constant (CBR) ;
• flux à débit variable (VBR)/débit moyen (le codage moyen peut être
dépassé pour des images complexes pendant une brève période) ;
• flux à débit variable/qualité vidéo (les séquences complexes utiliseront
le débit maximum possible).
Les options des flux :
• la taille du buffer (nombre d’images stockées avant visualisation) – de
4 à 25 secondes ;
• la fréquence des images I (images à codage intrinsèque) de 0 à 60sec ;
• l’utilisation ou non d’une correction d’erreur (loss protection)
IUT - Marne la Vallée
streaming : architecture et services
© D. Présent
9
Etape 2 : transfert des fichiers
• Les fichiers sont placés sur le répertoire « content » du serveur ;
• des sous-répertoires peuvent être créés ;
• des alias facilitent l’accès aux présentations placées dans les sousrépertoires créés ;
• si des fichiers sont placés sur d’autres serveurs, des fichiers de liens
doivent être créés dans le répertoire « content ».
IUT - Marne la Vallée
streaming : architecture et services
© D. Présent
Dialogue client-serveur Web-serveur streaming
Serveur
Web
Fichier RAM
1
2
Vidéo disponibles :
• astérix
• obélix
• idéfix
3
Fichier SMIL
4
navigateur
RealPlayer
5
6
Fichiers vidéo
RealServer
1 un click sur le lien envoie une requête au serveur
2 le serveur Web télécharge le fichier RAM ( .ram)
3 le lecteur vidéo est chargé
4 le lecteur interroge le fichier SMIL ( .smil) et
évalue le fichier vidéo adapté
5 le lecteur demande la lecture du fichier
6 la lecture de la vidéo commence
IUT - Marne la Vallée
streaming : architecture et services
© D. Présent
Etape 4 : Les fichiers RAM
Lien entre la page Web et les fichiers vidéos :
–
–
–
–
Lancent le lecteur RealOne ;
Ouvrent les connexions RTSP avec le serveur ;
Passent au lecteur les URL des fichiers pouvant être ouverts ;
un fichier vidéo ne doit être défini qu ’une seule fois.
Exemple de fichier : videos.ram
rtsp://www.compagnie.com/media/video128k.rm
rtsp://www.compagnie.com/media/video156k.rm
rtsp://www.compagnie.com/mediaserver/videos.smil
La page web pointera sur ce fichier :
<a href=« http://www.compagnie.com/ramfiles/videos.ram »>cliquer pour
choisir une vidéo</a>
Note : pour un test en local, le fichier Ram est placé dans le répertoire du clip.
L’URL commencera par file://
IUT - Marne la Vallée
streaming : architecture et services
© D. Présent
10
Etape 4 : des paramètres d’initialisation
Le fichier RAM permet de paramétrer le lecteur à son ouverture :
– Dimensions de l’écran
– Mode d’affichage des boutons de contrôle
– Début et fin de lecture du clip
screensize=double | full | original
mode=normal | theater | toolbar
start (end)=hh:mm:ss.x
Exemples :
rtsp://www.compagnie.com/media/video128k.rm?screensize=full
#affiche le clip en plein écran
rtsp://www.compagnie.com/media/video128k.rm?rpcontextheigh=150
&rpcontextwidth=250&rpcontexturl=http://ww.companie.com/index.ht
ml # affiche la page html dans un fenêtre de 250x150
rtsp://www.compagnie.com/media/video128k.rm?start=55&end=1:35
# affiche le clip pendant 40 secondes
IUT - Marne la Vallée
streaming : architecture et services
© D. Présent
Etape 4 : des infos dans le lecteur
•
•
Pendant la lecture d’un clip, le fichier RAM permet d’afficher les
informations d’une page html ;
Ces informations s’affichent dans une fenêtre séparée.
Exemples :
rtsp://www.compagnie.com/media/video128k.rm?rpcontext
height=250&rpcontextwidth=280&rpcontexturl=« http://co
mpagnie.com/infomedias.html » #affiche le contenu de la page
dans un rectangle de 250x280 pixels
rtsp://www.compagnie.com/media/video128k.rm?rpurl=« h
ttp://compagnie.com/index.html » #affiche le contenu de la
page dans le navigateur
IUT - Marne la Vallée
streaming : architecture et services
© D. Présent
Etape 4 : emplacement et liens
• Les fichiers Ram peuvent être placés sur le serveur de streaming ou sur
n’importe quel serveur Web ;
• si les fichiers sont sur le serveur de streaming, les liens vers les clips
peuvent utiliser des chemins relatifs ;
• si les fichiers sont sur un serveur autre, les liens veers les clips doivent
utiliser des URL complets.
IUT - Marne la Vallée
streaming : architecture et services
© D. Présent
11
Etape 5 : présentation en SMIL
• Utilisent le langage au standard internationnal
Synchronized Multimedia Integration Language
• permettent la sélection de la bande passante
• ces fichiers sont optionnels
Exemple de fichier : videos.smil
<smil>
<body>
<switch>
<ref src="LPsticm.rm" system-bitrate="220000 "/>
<ref src="LPsticl.rm" system-bitrate="150000"/>
<ref src="LPsticd.rm" system-bitrate="64000"/>
</switch>
</body>
</smil>
IUT - Marne la Vallée
streaming : architecture et services
© D. Présent
Liens utiles
•
Real Server :
– Outils de streaming - http://europe.realnetworks.com/?src=fr_gb_home
– Architecture du serveur Helix DNA https://protocol.helixcommunity.org/2006/devdocs/sod-rtsp-adaptation-signaling02.txt
– Protocoles - https://protocol.helixcommunity.org/
•
Protocoles Temps Réel :
– RTCP
– RTSP - http://www.ietf.org/rfc/rfc2326.txt
– RTP - http://www.ietf.org/rfc/rfc1889.txt
– RDT https://protocol.helixcommunity.org/2005/devdocs/RDT_Feature_Level_30.txt
•
SMIL :
– XHTML & SMIL - http://aristote1.aristote.asso.fr/CSMIL/
– Normes - http://www.w3.org/TR/REC-smil
– Éditeur + cours - http://wam.inrialpes.fr/
•
Site de streaming :
– Vidéothèque de l’IRIA - http://www.inria.fr/multimedia/Videotheque-fra.html
IUT - Marne la Vallée
streaming : architecture et services
© D. Présent
12

Documents pareils

intégration streaming

intégration streaming 1 - test de performance de la liaison 2 - création d ’un buffer pouvant stocker Versions du fichier 28Kb/s 56Kb/s 512Kb/s « n secondes » de vidéo 3 - transmission des paquets 4 - visualisation « n ...

Plus en détail

Quelques Mots sur la technologie du STREAMING

Quelques Mots sur la technologie du STREAMING Lecteur : RealPlayer Solution multi-poste (lecteur, encodeur et serveur) Serveur : solution non intégrée à une plateforme prise en charge de tous les formats de streaming existants support des prot...

Plus en détail