Une des questions qui m’a été le plus souvent posée au cours des dernières années lorsqu’on parle de livrer du contenu vidéo sur IP est la suivante : “Quelle est la différence entre du Progressive Download et du Streaming ? Pourquoi choisir une méthode plutôt que l’autre ?”. Chacune des deux méthodes est bien distincte et a ses avantages et ses désavantages.

Progressive Download

Cette méthode de livraison utilise à la base un simple serveur web. Parfois, on le réfère à du “http streaming”, mais en réalité, ce n’en est pas vraiment. Le serveur web ne fait que pousser les données le plus rapidement que possible sans se soucier en quel débit le fichier vidéo a été compressé. Sur la plupart des plateformes de livraison (Windows Media, Flash, Real), le lecteur permet de démarrer le visionnement du clip avant que le fichier ne soit entièrement transféré. Aussitôt qu’il y a assez de données pour procéder à une lecture continue, le lecteur se mettra à jouer le clip.

Avec cette méthode, que vous ayez un modem 28.8…ou que vous ayez le forfait extrême par câble, vous visionnerez le clip avec la même qualité. Seul le temps de téléchargement variera. Vous ne pourrez par contre pas avancer à un endroit du clip qui n’a pas encore été téléchargé. En réalité, il y a une façon de le rendre possible, mais à la base, ce n’est pas possible.

Cette méthode est avantageuse dans les cas suivants :

  1. Les vidéos à livrer sont courts (2, 3, 5, 6 minutes) et nécessitent donc un temps de téléchargement raisonnable, même avec une connexion plus lente.
  2. La qualité prime sur l’accessibilité
  3. Les clips à diffuser sont avant tout des clips sur demande
  4. Minimiser les coûts de déploiement (simples serveurs web)
  5. Vous n’avez pas besoin de faire du direct

Streaming Server (Serveur de diffusion en continu)

Un serveur de diffusion en continu (streaming), est un logiciel qui reconnait le format des fichiers, la bande passante disponible, la structure des fichiers et porte attention à comment le fichier est joué sur le lecteur client. Cette méthode transmet les données en fonction du débit du fichier demandé. Ainsi, un fichier encodé à un débit de 300kbps sera livré à 300kbps. Il y aurait des précisions à faire ici, mais à la base c’est ce qui se passe. Étant donné que le serveur de diffusion est en constante communication avec le lecteur client, le débit de livraison peut même s’adapter en suivant les fluctuations du réseau. La technologie Windows Media, entre autre, peut livrer des fichiers encodés en MBR (multiple bitrates). Grosso modo, c’est un gros fichier dans lequel plusieurs débits du même clip se retrouvent. Ainsi, si la bande passante entre l’Internaute et le serveur de diffusion se dégradait, automatiquement, le serveur de diffusion compenserait en livrant un des débits inférieurs inclus dans le fichier mère.

Le serveur de diffusion permet également de monitorer de façon précise ce que l’Internaute visionne et pendant combien de temps exactement il le regarde. On n’a aucun contrôle sur la présence ou non de l’Internaute devant l’écran par contre ;)

Contrairement au progressive download, le fichier ne se retrouve pas dans son entièreté sur l’ordinateur de l’Internaute. Les données envoyées sont affichées, puis éliminées aussitôt. On a ainsi un plus grand contrôle sur le contenu.

Finalement, si vous avez besoin de faire un direct, un serveur de diffusion devient une nécessité. Ce serveur permet également de livrer le contenu en multicast (j’en parlerai dans un prochain billet).

Cette méthode est donc avantageuse dans les cas suivants :

  1. Effectuer une diffusion en direct
  2. Recueillir des données statistiques extrêmement précises et détaillées sur les visionnements
  3. L’accessibilité prime sur la qualité
  4. Plus grand contrôle sur l’usage de la bande passante
    utilisée (seules les données de la portion visionnée sont transférées)
  5. Plus grand contrôle sur le contenu
  6. Les clips à diffuser sont de longue durée (30, 45, 60 min)

Ce billet n’est en fait qu’une simple introduction aux 2 méthodes de livraison, et votre choix, qui pourrait très bien être également une combinaison des deux, nécessitera une analyse plus en profondeur de vos besoins : voulez-vous votre propre infrastructure?, quel(s) formats diffuserez-vous? (Un serveur de diffusion Windows Media est inclu avec l’OS, pour un serveur Flash Media, il vous faudra débourser quelques milliers supplémentaires en argent ou en temps - des solutions OpenSource sont disponibles), la protection des droits d’auteurs est-elle critique?, Ferez-vous de la diffusion en direct?, Synchroniserez-vous des éléments au stream vidéo?, etc.

De plus, d’autres méthodes autres que les deux mentionnées sont également disponibles, mais moins répandues. Si vous désirez plus d’informations et connaître en détail toute la mécanique derrière, je vous inviterais à consulter les quelques liens plus bas. Vous pouvez également communiquer avec moi, il me fera plaisir de vous aiguiller correctement :)

http://www.microsoft.com/windows/windowsmedia/compare/webservvstreamserv.aspx

http://www.microsoft.com/windows/windowsmedia/forpros/serve/features.aspx

http://www.flashcomguru.com/index.cfm/2005/11/2/Streaming-flv-video-via-PHP-take-two

http://www.adobe.com/products/flashmediaserver/productinfo/pricing/

Post to Twitter .