Serveur de streaming

Transcription

Serveur de streaming
Création de vidéos pour streaming
Dominique PRESENT
I.U.T. de Marne la Vallée
L’infrastructure : Web + streaming
serveur
Web
administration
serveur
"streaming"
client
Hub
r é
s
e
a
u
Hub
Serveur « sreaming » :
station bi-processeur Xéon + logiciel Hélix Producer
Serveur Web :
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 de MLV
création de vidéos pour streaming
© D. PRESENT
1
Le serveur Helix Universal Server
• Serveur de streaming pouvant être installé sur les plateformes Windows
server, Windows staion 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 de MLV
création de vidéos pour streaming
© D. PRESENT
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 de MLV
création de vidéos pour streaming
© D. PRESENT
2
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 de MLV
création de vidéos pour streaming
© D. PRESENT
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 de MLV
création de vidéos pour streaming
© D. PRESENT
3
Ports et protocoles
Ports par défaut
Généré
dynamiquement
IUT de MLV
création de vidéos pour streaming
© D. PRESENT
Les 5 étapes de création des fichiers
1
administration
In te rn e t
Routeur
serveur
Web
serveur
"streaming"
3 4
2
5
Hub
ré s e a u
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 de MLV
création de vidéos pour streaming
© D. PRESENT
4
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 de MLV
création de vidéos pour streaming
© D. PRESENT
Etape 1 : les débits standards pour l’audio
En fonction de la bande passante totale, des répartitions de débits en sous-bandes sont
standardisées :
Débit total
données
voix
Voix +
musique
Musique
mono
Musique
stéréo
28,8Kb/s
20Kb/s
6,5Kb/s
6,5Kb/s
8Kb/s
8Kb/s
56Kb/s
34Kb/s
6,5Kb/s
8,5Kb/s
8Kb/s
8Kb/s
256Kb/s
225Kb/s
32Kb/s
44Kb/s
44Kb/s
44Kb/s
512Kb/s
450Kb/s
64Kb/s
64Kb/s
64Kb/s
64Kb/s
IUT de MLV
création de vidéos pour streaming
© D. PRESENT
5
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 de MLV
176 x 132 240 x 180 320 x 240 640 x 480
bon
excellent
création de vidéos pour streaming
correct
Faible
correct
bon
© D. PRESENT
Etape 1 : paramétrages de l’encodeur
Les paramètres généraux :
• la ou les bande(s) passante(s) totale(s) du support vers le client ;
• la bande passante pour les données audio ;
• la bande passante pour les données vidéo ;
• la qualité de l’échantillonnage des données encodées ;
• l’utilisation ou non d’un codage en 2 passes ;
• l’utilisation ou non du redimensionnement de l’image vidéo.
Les modes de codage :
• pour l’audio – voix ou musique ;
• pour la vidéo – mouvement normal – image précise – mouvement
régulier – mode diapositives – la fréquence image ;
• le codeur - realvideo 9 – ½ écran en dial-up – qualité VHS – qualité
DVD (500Kb/s).
Remarques :
• quand la fréquence d’échantillonnage est différente de celle utilisée
par le codeur, un ré-échantillonnage est nécessaire ;
• l’encodage en 2 passes n’est possible que de fichier à fichier ;
• le redimenssionnement s’exprime en pixels. Un agrandissement
détériore la qualité de l’image (utiliser le filtre « haute qualité »).
IUT de MLV
création de vidéos pour streaming
© D. PRESENT
6
Etape 1 : les modèles de débits du codeur
support
données
support
données
support
données
RTC
28Kb/s
20Kb/s
RNIS
64Kb/s
45Kb/s
ADSL
512Kb/s
450Kb/s
Wireless
20Kb/s
LAN
150Kb/s
Qualité
VHS
75OKb/s
RTC
56Kb/s
34Kb/s
ADSL
256Kb/s
225Kb/s
Qualité
DVD
1,5Mb/s
Le débit de données comprend le débit vidéo et le débit audiot
IUT de MLV
création de vidéos pour streaming
© D. PRESENT
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 de MLV
création de vidéos pour streaming
© D. PRESENT
7
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 de MLV
création de vidéos pour streaming
© D. PRESENT
Etape 1 : encodage des vidéos
Débit de
codage
Fichier à
encoder
IUT de MLV
Fichier ram
Options de
codage
Fichier du profil
de codage
création de vidéos pour streaming
© D. PRESENT
8
Etape 1 : encodage des vidéos
Nb de passes
de codage
Profils
audio
Débits de
codage
IUT de MLV
création de vidéos pour streaming
© D. PRESENT
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 de MLV
création de vidéos pour streaming
© D. PRESENT
9
Dialogue client-serveur Web-serveur streaming
Serveur
Web
Fichier RAM
Vidéo disponibles :
• astérix
• obélix
• idéfix
1
2
3
4
Fichier SMIL
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 de MLV
création de vidéos pour streaming
© D. PRESENT
Fichiers et protocoles
Les URL vers les fichiers des médias stockés sur le serveur RealServer utilisent les
paramètres suivants :
• le protocole d’initialisation de la connexion(http, rtsp ou pna) ;
• l’adresse IP ;
• le port utilisé pour les requêtes (80 pour http, 554 pour rtsp, 7070 pour pna) ;
• le point d’accès (mount point) indiquant comment accéder au répertoire ;
• le chemin d’accès au sous-répertoire de stockage (sauf répertoire par défaut) ;
• le nom du fichier audio-vidéo.
Protocoles et formats des fichiers d’accès aux données :
fichiers
Fichiers associés
Protocoles
html
SMIL, Ram, Ramgen
http
Ram
aucun
Rtsp ou pna
SMIL
Ram
Rtsp
Boite de dialogue
aucun
Rtsp ou pna
IUT de MLV
création de vidéos pour streaming
© D. PRESENT
10
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 de MLV
création de vidéos pour streaming
© D. PRESENT
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 de MLV
création de vidéos pour streaming
© D. PRESENT
11
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 de MLV
création de vidéos pour streaming
© D. PRESENT
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 de MLV
création de vidéos pour streaming
© D. PRESENT
12
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 de MLV
création de vidéos pour streaming
© D. PRESENT
13

Documents pareils