Le Streaming Video, en quelques mots, est un système informatique qui permet de diffuser en temps réel, c'est à dire sans avoir besoin de télécharger un fichier vidéo avant de le visualiser, un flux audio-video depuis un serveur de Streaming vers plusieurs clients. L'utilisateur a besoin d'installer au préalable un plug-in ou un client de Streaming. Il pourra ensuite en "cliquant" sur un lien avec son buttineur le visualiser instantanémment ou presque sur son ordinateur. Le flux vidéo peut être du direct (Live) ou non.
Il existe au jour d'aujourd'hui (attention, celà évolue chaque jour...) quatre grands acteurs qui se partagent le marché du video Streaming:
Plateformes supportées par le Player: Windows, Linux, Solaris, Symbian, Linux et autres Unix, Mac OS. Voir également le projet Helix lequel travaille sur un Helix Player, multi-plateformes et open-source. Il utilise plusieurs formats open-source. Une autre version, RealPlayer, utilise les formats de RealNetworks.
Plateformes supportées par le Player: Windows, Mac OS. Il existe des clients Linux susceptibles de recevoir des flux au format Windows Media. A ma connaissance, au jour d'aujourd'hui, il existe une version Béta et une autre payante (TurboLinux, revendeur japonais de distributions Linux, pour 149$).
Plateformes supportées par le Player Flash: Windows, Mac OSX, Linux, Solaris
Historiquement, le premier a été RealNetworks. C'est pour cette raison principale que nous utilisons aujourd'hui un de leur serveur. L'autre raison principale, qui explique en partie pourquoi nous l'utilisons encore, est que c'est le seul système de Video Streaming a être vraiment Multiplateformes. Puis viennent d'autres avantages comme la possiblité d'utiliser le language SMIL pour diffuser des objets Multimédias synchronisés, de diffuser n'importe quel format ou presque (Real, Quicktime, Windows Media, etc.) et d'être sensiblement plus performant, plus souple, plus ouvert, bref plus complet.
Plateformes supportées par le Player: pratiquement toutes
Plugin: Il existe un plugin pour Mozilla seulement ce qui constitue le seul mais important point négatif de VLC considérant que l'utilisateur lambda se contente généralement de cliquer pour visualiser une vidéo. VLC - Guide des aspects client
Connaître le format utilisé par un fichier vidéo: codec, container, type du fichier, kbps, frame/s ...
Avant de pouvoir diffuser une vidéo en Streaming il faut encoder un fichier vidéo/audio d'un autre format (par exemple en MPEG1, MPEG2, MPEG3, MPEG4, AVI, DIVX, etc.) ou une VHS ou un DVD en un fichier au format de Streaming du serveur.
Comme nous utilisons un serveur Real, il est donc fortement conseillé d'encoder votre vidéo au format Real. De plus, l'encodage façon RealNetworks est de loin le plus simple; en une seule passe trés facile à réaliser vous obtenez un fichier multi-bande passantes au format Real depuis à peu prés n'importe quel autre format Vidéo. Pour encoder au format Real, vous devez utiliser un encodeur, l'encodeur de RealNetworks gratuit suffit généralement à nos modestes besoins. Néanmoins, vous pouvez encoder vers d'autres formats bien que nous ne le conseillons pas. Notre serveur Real peut "streamer" le format Windows Media sans aucun problème. Pour le format Quicktime d'Apple, vous devrez faire une petite manipulation supplémentaire.
Aprés avoir encodé votre Vidéo, vous pouvez si vous le souhaitez le placer sur notre serveur en m'ayant auparavant demander un compte: EPFLTV
Dans Realproducer, ouvrir le fichier vidéo que vous voulez encoder: File->Open Input File
Si besoin, ajouter un fichier de destination (fichier où sera encodé votre vidéo): File->Add File Destination
Cliquez sur Audiences:
choisir les trois bandes passantes suivantes"56k Dial-up", "256k DSL" et "768k DSL"
Redimmensionner votre vidéo si besoin en 480x360 pour le format 4/3 ou 480x270 pour le 16/9 (Resize) (Uniquement avec RealProducer Plus payant)
Cliquez sur "Clip Information" et remplissez selon vos goûts
Si besoin, dans le champs "Destination", cliquez droit sur votre fichier vidéo, Edit Destination, et entrez le nom du fichier dans lequel sera encodé celui-ci.
Cliquez sur "Encoder" pour, devenez quoi,... encoder!
Installer Movie Maker gratuit ou utilisez Windows Media Encoder
Dans Movie Maker, importer votre fichier: File->import into Collections
Placer ce fichier (drag&drop avec la souris) dans le StoryBoard en bas
Cliquez sur File->Save Movie File
Choisissez: sauver la vidéo sur votre ordinateur
Choisissez un nom de fichier, par ex: mon_fichier_38k.wmv
Dans les "Movie Settings": choisissez la bande passante adéquate, nous conseillons dans l'ordre "dial-up access (38kbps)", "for broadband (340kbps)" et "for LAN (768kbps)". Ce choix n'est pas limitatif. Vous devez donc créer plusieurs fichiers, un pour chaque bande passante choisie.
Encoder au format Quicktime d'Apple
Il existe principalement deux façon d'encoder une vidéo au format Quicktime pour qu'elle soit délivrer depuis EPFLTV: le streaming video et le progressive download. Après plusieurs essais pénibles, il me paraît aujourd'hui plus adéquat d'utiliser le Progressive Download
Installer Quicktime Pro payant. Il est disponible gratuitement pour les utilisateurs de l'EPFL sur Distrilog
Dans Quicktime Pro, ouvrir votre fichier source de haute qualité: Fichier->Ouvrir
Exporter-le au format Quicktime: File->Exporter
Choisir un nom pour votre nouveau fichier ayant pour suffixe ".mov": test.mov
Exporter: Séquence vers séquences Quicktime
Cliquez sur Options:
Video:
Réglages:
Type de compression: Sorenson Video 3
Fréquence d'image: 15 ips
Images clés: chaque 150 images
Débit: Restreindre à soit 700 kbit/s pour le haut débit, soit à 256 kbit/s pour le bas débit
Optimisé pour: Télécharger
Compresseur qualité: Optimale
Filtre: Sans
Taille: 480x360 pour le format 4/3 ou 480x270 pour le 16/9
Son, Audio: Réglages
Format: AAC
Channels: stéréo (ou mono s'il s'agit d'un discours)
Paramètres Encoder: Target bit rate: 128 kbps (ou 64 kbps pour du mono)
Cocher "Préparer pour l'enchaînement via Internet" et choisisser "Démarrage rapide - En-tête compréssé
Il existe plusieurs outil permettant d'encoder une vidéo au format Flash: Flash Professional, Flash Basic et d'autres. Je n'ai essayé que Flash Professional. Il s'agit ici de progressive download et pas exactement de streaming bien que celà soit possible voire conseillé. EPFLTV nécessite le format FLV 1.1.
Dans Flash Professional, ouvrez un nouveau Document Flash
Fichier/Importer/Importer de la vidéo: mavideo.mpg
Déploiement: choisissez "Téléchargement progressif à partir d'un serveur web"
Codage:
Afficher les paramètres avancés
Codec vidéo: Sorenson Spark/Qualité élevée/Redimensionner la vidéo selon les normes d'EPFLTV par exemple (480x360), le reste par défaut
Bien que notre serveur Real puisse être utilisé pour diffuser en direct des flux aux formats RealMedia, Windows Media et Quicktime, nous vous conseillons toutefois pour des questions pratiques d'utiliser le format RealMedia. La raison principale est toujours la même, à savoir le format RealMedia est lisible sur pratiquement toutes plates-formes.
Pour diffuser un évennement en direct, par exemple un séminaire, une interview ou un cours, il vous faudra au minimum les outils suivants. Il est bien évident que pour des évennements d'une certaine envergure, vous ne pourrez pas faire l'économie de matériels audiovisuels professionnels et de personnes capables de bien les maîtriser:
un ordinateur de préférence équipé d'une carte d'acquisition Vidéo.
une caméra (sans carte d'acquisition Vidéo, vous pouvez utiliser une webcam sur port USB, mais la qualité sera trés infèrieure)
un microphone branché sur votre carte Audio de votre ordinateur
Cocher sur Devices et choisissez vos matériel audio et vidéo
Ajouter une destination vers le serveur: File->Server Destination
Destination name: Serveur Real EPFL
Stream name: mon_direct.rm
Broadcast method: Push, Account-Based Login
Server Address: hostname_du_serveur_Real que je vous transmettrai
Port: 8080
Transport: UDP
Username/Password: le compte que je vous transmettrai
Cliquez sur Audiences: faites en sorte (en utilisant la grosse flêche du milieu pour passer un Template vers la droite, la poubelle pour effacer les Audiences non citées ci-après) d'avoir dans le champs de droite, Audiences in job, trois bandes passantes, soit 56k Dial-Up, 256k DSL or Cable, 768 DSL or Cable.
Cliquez sur Clip Information et remplissez
Cliquez sur "Encode". En cas de problème, vous verrez un message d'erreur. Sinon, dans la partie Status de la Destination, vous devriez voir s'afficher: Broadcasting...
Ensuite, vous devez ajoutez un lien sur une page HTML d'un serveur WWW, tel que:
http://hostname_du_serveur_Real:8080/scalable/mon_direct.rm.sdp: indique que votre flux vidéo est diffusé en Multicast SDP
http://hostname_du_serveur_Real:8080/ramgen/broadcast/mon_direct.rm: pour de l'Unicast
rtsp://hostname_du_serveur_Real:554/broadcast/mon_direct.rm pour de l'Unicast si votre page inclut un client Reaplayer "embedded".
Normalement le lien Multicast suffit puisque le serveur détecte si l'utilisateur peut recevoir du Multicast et dans le cas contraire bascule automatiquement en Unicast.
Vous pouvez si nécessaire me demander d'ajouter votre lien sur EPFLTV.
Si vous avez des problèmes de "Buffering" (l'émission s'arrête un moment puis reprends un peu plus tard), c'est probablement un problème de performance du côté de l'encodeur. Il vous faudra diminuer par exemple la taille de la vidéo, limiter le mombre de stream (Audiences), se limiter à des bandes passantes de 700Kbits/s (Audiences) voire augmenter les performances de votre ordinateur..
Play DivX video in your browser(Plugin pour Windows et Mac bientôt Linux. Il ne s'agit pas de streaming mais de progressive download. A suivre, intéressant mais l'encodeur est malheureusement payant)