[ver] [corde]

Pour tout commentaire :

[lettre]
Matthieu Sponton

Rapport de SOI lundi 12 juillet 1999.

de Matthieu Sponton

casier 597

tél : 7312

sponton@enst.fr

Ecole Nationale Supérieure des Télécommunications

http://www.stud.enst.fr/~sponton/soi/Rapport.htm

 

 

Video On Demand :

 

La Video On Demand est un enjeu majeur des développements de la technologie actuelle.
La Video On Demand est un concept qui propose de permettre à un utilisateur d'accéder depuis un client à des documents sous forme de flux audio et/ou vidéo.
Les intérêts sont importants: son développement devrait permettre d'accéder, via un ordinateur connecté à un réseau, au type de services auxquels la télévision nous a habitué[ver]s depuis longtemps, avec en plus les avantages du magnétoscope: on peut en effet, dans les applications de Video à la Demande, programmer la diffusion d'un document, ou même demander sa diffusion immédiate.

On peut également ajouter à cette diffusion les fonctionnalités d'interactivité qui permettent tous les logiciels informatiques – par exemple, lors de la diffusion de la réclame d'un produit, on pourra faire apparaître un bon de commande en cliquant sur le produit, ou faire un zoom sur le produit,... les possibilités sont infinies. La réception sera ainsi personnalisée – on pourra paramétrer la qualité de la diffusion, l'heure,...

De plus, la diffusion de documents basés sur ces technologies peut être très bon marché, ne nécessitant souvent que la mise en place d'un serveur chez le diffuseur et d'un client chez le consommateur. Cela permet à tout un chacun de produire, et diffuser ses propres documents vidéo – comme le web a permis, depuis quelques années, à tout un chacun de publier en ligne des documents mêlant eux aussi des textes, des sons, des vidéos, des images,... Les technologies de Video On Demand devraient d'ailleurs se fondre dans celles déjà employées sur le web, et les améliorer. A l'avenir, on accédera aux documents diffusés par un serveur de vidéo de façon transparente, au cours de la navigation sur le web, à travers son navigateur.

On peut dès lors imaginer de nombreuses applications des développements de ces technologies, que ne permettait pas jusqu'à maintenant la télévision, de par son mode de diffusion coûteux et n'admettant pas le cas par cas.

On aura par exemple sans doute la possibilité, en plus de programmes qu'on trouve déjà sur nos télévisions actuelles, d'avoir accès à des bases de données de films éducatifs ou de loisir, à des bases de données de cours (télé-enseignement) permettant à l'élève de gérer son programme et son rythme d'apprentissage personnellement,... le tout en haute définition ! – en résumé, la Video On Demand permettra ce que le web permet déjà, avec en plus une véritable interactivité multimédia.

Un projet particulier :

Voici l'exemple d'un projet développé par un étudiant de l'université de Nice, dont on pourra trouver le rapport à l'adresse http://www-mips.unice.fr/~gchamard/indexR.html, rapport qui est repris ci-dessous.

L'étudiant s'est appuyé sur une solution proposée par FVC (http://www.fvc.com), société qui propose des produits de streaming vidéo (cf. http:/[ver]/www.fvc.com/products/streaming_video.html) permettant la diffusion de flux audio, vidéo, données en temps réel, à travers les intranets des entreprises, l'Internet et les réseaux hauts débits. Avec ces produits, de la vidéo HI-FI et plein écran peuvent être acheminé à travers le Réseau.

L'étudiant a choisi d'utiliser un produit FVC appelé V_Cache, qui permet de stocker et de mettre en ligne plusieurs heures de vidéo haute qualité préalablement enregistrée, sous format MPEG-1 ou MPEG-2. Ce serveur de vidéo s'accède alors à partir d'un réseau ATM ou IP/Ethernet et garantie un partage des données à très haut débit, en QoS (cf. http://www.fvc.com/products/vcache.html). FVC propose également le produit V_Caster (cf. http://www.fvc.com/products/vcaster.html), qui permet de diffuser des documents vidéo en direct – c'est-à-dire qu'on pourra diffuser en direct ce qu'une caméra filme, en même temps qu'elle filme. V_Caster permet de plus d'enregistrer la vidéo filmée, qui pourra alors être diffusée avec V_Cache.

Dans le cadre du projet, l'étudiant a choisi d'utiliser les possibilités d'ATM.

ATM est un réseau à haut débit, basé sur un réseau physique en fibre optique. La technique de transfert est basée sur les principes de multiplexage et de commutation numériques conditionnées en paquets de longueur fixe appelés "cellules". Orienté connexion, l'établissement d'une connexion se traduit non seulement par l'allocation d'un chemin

virtuel (voix virtuelle et/ou d'un conduit virtuel) mais aussi par l'allocation des ressources requises, par exemple le débit (cf. http://www-aristote.cea.fr/ghd/tut/tut200f.html).

De ce fait, ATM est, d'après l'étudiant, la technologie idéale pour la VoD, proposant la QoS requise quelle que soit la charge du réseau. De plus, en utilisant IP sur ATM, la VoD peut être utilisé de la même façon qu'elle le serait sur l'Internet (si celui-ci avait le débit minimal souhaité).

Pour les clients, il est possible d'utiliser [ver]n'importe quel Media Player capable de lire les formats MPEG-1 ou MPEG-2. En sus, on peut également utiliser MOS (Multimedia Operating Software, cf. http://www.fvc.com/products/MOS.html), middleware développé par FVC , permettant d'utiliser pleinement les fonctionnalités de QoS disponibles avec l'utilisation d'ATM et de synchroniser les flux entre eux – il est dès lors possible de visualiser plusieurs documents à la fois. MOS se situe au-dessus de l'OS Réseaux.

 

Architecture MOS :

FVC propose en outre le module V-TV – c'est le client qui vient avec V-Caster –, V-Synch – qui permet de synchroniser les flux de deux utilisateurs distincts, même situés à des endroits différents –, V-Record – qui facilite l'enregistrement temps réel des téléconférences –, et V-Ether – qui permet d'employer Ethernet/IP au lieu d'ATM.

La solution RealNetworks :

Le media player de RealNetworks, RealPlayer, est le plus répandu des media player dans le monde.

Les deux produits phare de RealNetworks sont le RealPlayer et le RealEncoder.

Côté matériel,[ver] un 486 muni d'une carte son et d'une carte vidéo, et d'au moins 16-40 Mo de RAM (mais 80 Mo est encore mieux) devrait suffire. Et bien sûr, un gros disque dur et un graveur de compact Discs sont indispensables pour la conservation et la sauvegarde des fichiers.

Côté logiciel, il faut disposer d'un éditeur audio (comme par exemple, pour Windows, CoolEdit ou SoundForge, cf. http://www.sonicfoundry.com/ ) ou d'un éditeur matériel comme Pro Tools (cf. http://www.digidesign.com/ ), et d'un éditeur vidéo, comme Adobe Premiere (cf. http://www.hotwired.com/webmonkey/toolbox/premiere.html ). On aura aussi besoin, si l'on veut capturer les documents à partir d'une caméra ou d'une télévision, de logiciels de capture (ou mieux, une carte de capture). Enfin, pour la compression, il est nécessaire de disposer du RealEncoder (gratuit ) ou du RealPublisher ($49) disponible chez RealNetworks ( http://www.real.com ).

Pour ajouter au document vidéo des animations et de l'interactivité, on dispose également de RealFlash, qui permet d'emboîter des effets Shockwave et Flash dans les flux vidéo (cf. http://www.shockrave.com/ ).

Etape par étape :

La première étape est d'acquérir un fichier source, à l'aide de l'éditeur de sons pour le son, l'éditeur vidéo pour la vidéo. Pour le son, étant donné que chaque étape ultérieure détériora la qualité du fichier, il faut démarrer avec la meilleure qualité possible – par exemple échantillonner à 44.1 kHz, avec un microphone de bonne qualité. Le fichier devra être converti à l'aide de l'éditeur de sons au format AIFF, AIF (Audi Interchange File Format) ou WAV (cf. http://webopedia.internet.com/TERM/W/WAV.html ), s'il ne l'est déjà. Pour la vidéo, le nombre d'images par seconde devra être le plus bas possible (8 à 15 images par seconde), en gardant à l'esprit que la qualité de l'image est souvent plus importante que le nombre d'images par seconde. Au total, si le document est destiné à une diffusion sur le web, la capture ne devra pas excéder, pour cause de faiblesse de débit du web, les 10 images par seconde à 320x240 pixels. La qualité de la carte de capture sera elle-aussi de première importance.

L’étape suivante est la compression du fichier source à l'aide de RealEncoder.

Pour un fichier audio, une douzaine de codecs sont disponibles, de Audio 14.4 Music-mono à Audio 56k Music-stereo (on pourra d'ailleurs mettre à disposition plusieurs versions, 14.4 bps, 28.8 bps, …). Les fichiers devront être sauvegardés avec l'extension .ra. L'étape est similaire pour un fichier vidéo, sauf que l'extension devra être .rm. De plus, RealEncoder offre la possibilité de capturer la vidéo directement – permettant de diffuser en direct.

On pourra référer les fichiers audio dans n'importe quelle page web comme suit :

<p><a href="stuff/banjo_1.ra">14.4 bps</a>

<br><a href="stuff/banjo_2.ra">28.8 bps</a>

<br><a href="stuff/banjo_3.ra">56k/ISDN</a>

Pour rajouter de l’interactivité au flux vidéo, on pourra lui rajouter de l’interactivité, ce qui se fait de façon similaire aux images map qu’on trouvait sur les pages web il y a encore quelque temps, et permettra d’activer des liens par simples clics de souris sur l'image, le lien activé dépendant de l’endroit et du moment où l’on a cliqué. Par exemple, le fichier pourrait ressembler à :

DURATION=0:0:3:57:0

<MAP START=0:0:0:0:0 END=0:0:3:57:0 [ver]COORDS=0, 0,100,100>

<AREA START=0:0:0:0:0 END=0:0:0:18:07 SHAPE=RECTANGLE COORDS=0, 0,300,300

URL="http://www.hits.org/hits/index.html" ALT="What is HITS? URL" >

<AREA START=0:0:0:18:07 END=0:0:0:35:22 SHAPE=RECTANGLE COORDS=0 ,0,300,300

URL="http://www.hits.org/hits/where.html" ALT="Where is HITS? URL" >

<AREA START=0:0:0:35:22 END=0:0:0:57:04 SHAPE=RECTANGLE COORDS=0 ,0,300,300

URL="http://www.hits.org/community/blocksburg/index.html" ALT="Blocksburg

URL">

</MAP>

Il faudra ensuite emboîter ces quelques lignes de code dans le fichier.rm, selon les instructions données à http://www.real.com/devzone/library/creating/index.html .

Pour que le fichier puisse commencer à être joué avant d'être chargé dans sa totalité, il faut "streamer" le fichier. Real fut la première compagnie à offrir cette [ver] possibilité de manière correcte, d'après certaines sources (http://www.hotwired.com/webmonkey/98/18/index1a.html ). Pour cela, on a besoin d'utiliser le RealServer, chargé de gérer les différents flux avec les clients. Plusieurs versions sont disponibles (dans l'ordre croissant de prix, de fonctionnalités et de puissance, Basic, Intranet, Internet, and Commerce).

La version Basic est gratuite, mais ne permet de gérer que soixante flux en même temps (les clients supplémentaires seront rejetés). Pour avoir une idée des prix, la version Internet est elle-même déclinée en quatre versions IS1, IS2, IS3, IS4 (IS pour Internet Software) – permettant de supporter respectivement 100, 200, 400, 1000 utilisateurs concurrents –, qui coûtent respectivement, en dollars US, pour les versions 1, 2, 3 (pour la 4, il faut contacter directement RealNetworks), pour la version RealAudio/Real Video : 5995, 11195, 21595, pour le support de la version RealAudio/Real Video : 2395, 4475, 8635, pour le module permettant d'utiliser RealFlash : 2795, 4995,8795, pour le support de RealFlash : 1115, 1995, 3515, pour la version RealAudio seulement : 4995, 9995, 19995, pour le support de la version RealAudio seulement : 1995, 3995, 7995.

Les serveurs Internet et Commerce permettent de gérer des droits d’accès.

RealServer est disponibles pour plusieurs versions d'UNIX, pour Windows NT et Windows 95/98. Il nécessite 6 Mo de RAM plus 40 ko de RAM par flux supplémentaire. L'installation est réputée simple et bien documentée (malgré quelques bugs connus et documentés dans la FAQ).

Le RealServer prend les fichiers audio/video, les segmente, et envoie les morceaux vers un buffer sur le disque dur. Le buffer lie alors les paquets de façon à ce que leur visualisation soit de bonne qualité. Pratiquement, il suffit de prendre le .ra obtenu (cf. explications ci-dessus), et de le référencer par un lien contenu dans un fichier d’extension.ram. L’extension .ram indique au RealPlayer de charger le fichier comme un flux, plutôt que de le télécharger dans son entier. Par exemple, le fichier .ram sera un fichier texte contenant cette ligne : pnm://my.server/banjotim/stuff/banjo.ra

 

Le document HTML contiendra alors la ligne suivante :

<a href="stuff/banjo_1.ram">Banjo Madness</a>

 

RealFlash :

RealFlash permet d'allier les fonctionnalités offertes par le RealServer et celles offertes par le logiciel Flash de Macromedia (cf. http://www.macromedia.com/software/flash/ ), permettant donc d'allier des flux audio/video avec des animations vectorielles. Le logiciel Flash est nécessaire pour créer les animations. Ce logiciel est similaire à l'Illustrator d'Adobe ou à Director de Macromedia, et on peut d'ailleurs importer des fichiers directement de ces logiciels (ainsi que de Freehand). En bref, on crée des structures simples (triangles, rectangles, …), à partir desquelles on crée les structures complexes par assemblage (grouper), puis on dispose les figures sur une grille à deux dimensions d'espace et une dimension de temps (table de montage).

Il ne reste plus qu'à encoder le fichier avec les flux vidéo à l'aide de RealEncoder (gratuit) ou RealPublisher. Avec RealEncoder, il faut exporter l'animation en un fichier .rm. On lie alors les fichiers par un métafichier qui référence les différentes parties composant le fichier à visualiser (cf. la partie sur le RealServer). Pour s'assurer que tous les plug-ins et helpers sont présents pour la visualisation, on pourra consulter avec profit les guides Java/Javascript à http://www.shockrave.com/ .

 

 

Bibliographie :

Comme on peut s'en douter, les documents sur le sujet sont innombrables.
Pour une présentation PowerPoint de la VoD, on pourra consulter http://deptinfo.unice.fr/~berera/net99/td/td-net3.ppt[ver] ou http://deptinfo.unice.fr/~berera/net99/td/td-net3/index.htm qui n'est pas très approfondi (c'est juste une présentation, il manque les explications et les commentaires), mais où l'on trouvera une liste de projets de VoD.

On trouvera une bonne introduction à SMIL (Synchronized Multimedia Integration Language) à http://deptinfo.unice.fr/~berera/net99/smil/smil-intro.htm .

On trouvera un article sur le service Mbone VCR On Demand (VCR pour Video Cassette Recording) à http://www.informatik.uni-mannheim.de/~whd/mvod/

Une bonne introduction aux protocoles Internet pour les communications multimédia à http://deptinfo.unice.fr/~berera/net99/ip/ip-II.htm
En particulier, la partie[ver] Internet multimédia applications, sous partie Application protocols for the Web concerne de près la VoD, et est très intéressante (pourquoi on élabore des protocoles spécifiques au lieu d’employer http, quelles solutions on adopte alors, …).

Le plus gros concurrent de RealNetwork est Microsoft, qui, arrivé tard sur le marché, déploie maintenant les gros moyens (voir http://www.microsoft.com/windows/windowsmedia/default.asp ) avec le Sreaming Media Server.

L’université de Berkeley a fait de [ver]gros efforts de recherche sur le sujet, on pourra consulter ou trouver des liens à http://bmrc.berkeley.edu/ , http://imj.gatech.edu/ (Interactive Multimedia Jukebox), des cours et conférences sous forme de fichier vidéo interagissant avec des documents PowerPoint très bien faits à http://bmrc.berkeley.edu/courseware/cs298/spring99/ , (voir par exemple http://bmrc.berkeley.edu/courseware/cs298/spring99/w4/replay.ram ), et http://bmrc.berkeley.edu/bibs/schedule/ .

Le rapport de l’élève dont je me suis inspiré pour la première partie du mien se trouve à l’adresse http://www-mips.unice.fr/~gchamard/indexR.html

Un excellent article d'un universitaire finlandais sur la Video On Demand (VoD Overview) donne une idée de l'état de l'art dans le domaine à http://www.cs.tut.fi/tlt/stuff/vod/VoDOverview/vod1.html (mais bizarrement, je n'y ai pas vu parler des solutions RealNetworks et Microsoft, qui ne sont peut-être pas les meilleures ni les plus intéressantes, mais qui sont en tous cas des standards de facto et les plus présentes commercialement, il semble).

On trouvera une bonne documentation sur les solutions RealNetworks à http://www.real.com/products/index.html, http://www.real.com/solutions/index.html, et http://www.real.com/devzone/index.html .

Des tutoriaux simples et allant droit au but (pour le grand public) sont trouvables à l'adresse http://www.hotwired.com/webmonkey/. En particulier, on lira avec intérêt Webmonkey: multimedia:[ver] Streaming Audio with Shoutcast à http://www.hotwired.com/webmonkey/99/26/index0a.html?tw=frontdoor, Webmonkey: multimedia: Adam's Multimedia Tutorial (dont j'ai tiré mes explications de la 2e partie de mon rapport sur RealNetworks) à http://www.hotwired.com/webmonkey/multimedia/tutorials/tutorial3.html , Webmonkey: multimedia: Audio for the Masses à http://www.hotwired.com/webmonkey/geektalk/96/42/index3a.html?tw=multimedia , et on trouvera certainement d’autres documents sur le sujet à Webmonkey: multimedia collection (http://www.hotwired.com/webmonkey/multimedia/[ver]multimedia_more.html#audio ), à http://search.hotwired.com/search97/s97.vts?collection=news&collection=webmonkey&collection=webmonkey_guides&collection=hotwired&collection=magazine&collection=animation&collection=suck&Action=FilterSearch&Filter=docs_filter.hts&ResultTemplate=uber_hotwired.hts&QueryText=video%20on%20demand , à http://search.hotwired.com/search97/s97.vts?collection=webmonkey_guides&Action=FilterSearch&Filter=docs_filter.hts&ResultTemplate=webmonkey_guides.hts&QueryText=video%20on%20demand ,et à http://search.hotwired.com/search97/s97.vts?Action=FilterSearch&Filter=docs_filter.hts&ResultTemplate=webmonkey.hts&Collection=webmonkey&QueryText=video%20on%20demand .

Il existe désormais (au moins) une télévision CanalWeb, diffusant sur le web en RealSolution à http://www.canalweb.net/ et beaucoup de liens à http://realguide.real.com/ , sue le site de Real.

On trouvera encore d'autres liens à http://www.altavista.com/cgi-bin/query?pg=q&kl=fr&stype=stext&q=video+on+demand+server&search.x=26&search.y=11 .

Enfin, un dossier sur MP3 est disponible sur le site de ZDNet à http://www.zdnet.fr/prod/lint/a0009283.html .

[ver] [corde]

Pour tout commentaire :

[lettre]
Matthieu Sponton