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