Découverte de Windows Azure Media Services - Partie 1

Windows Azure Media Services est une des nombreuses briques disponibles dans l’offre Windows Azure de Microsoft. Elle est spécialisée dans la gestion, l’encodage et la diffusion de média vidéo depuis le cloud Microsoft. Globalement, cette brique permet de répondre à différentes problématiques telles que la vidéo à la demande, la protection du contenu vidéo via DRM, le streaming live ou encore la simple conversion de format !

Media Services Diagram

Source : MSDN (http://www.windowsazure.com/en-us/services/media-services/)

Dans cette série d’articles, je me concentrerai principalement sur les scénario d’encodage et de vidéo à la demande.

Avant de se lancer dans des considérations techniques pures, commençons par se demander pourquoi utiliser Windows Azure Media Services dans un tel scénario ? L’éco-système actuel est tel que tous les périphériques qui accèdent à des vidéos en streaming n’exploitent pas les mêmes protocoles : certains périphériques vont travailler en HTML 5 et faire du téléchargement progressif, les périphériques Microsoft vont être en capacité de faire du Smooth Streaming, les périphérique Apple et Androïd de l’HLS etc… Pourtant, il est nécessaire de pouvoir tous les servir, l’utilisateur est roi Sourire !

Bien qu’à l’heure actuelle tous les périphériques soient capables de faire du téléchargement progressif, cela ne constitue pas une solution viable, simplement car cela demande énormément d’intelligence au player pour être en capacité de jouer des fichiers en plus ou moins hautes définitions, en fonction de la bande passante de l’utilisateur, et donc de s’adapter à son débit pour une qualité optimale de diffusion.

En résumé : le téléchargement progressif, c’est mal ! Oui, mais que faire ? La question est assez problématique en effet, puisque les différents systèmes vont exploiter différents mécanismes pour la mise en place de streaming adaptif. A terme, la norme MPEG-DASH (Dynamic Adaptive Streaming over HTTP) devrait mettre tout le monde d’accord, mais ce n’est malheureusement pas encore le cas (cette fonctionnalité est d’ailleurs disponible dans Windows Azure Media Services depuis quelques jours à l’heure ou j’écris ce post).

Du coup, il est pour l’instant nécessaire de fournir à chaque système le format vidéo dont il a besoin, et donc trop souvent de démultiplier l’espace de stockage pour être capable de diffuser un seul et même fichier en téléchargement progressif, en smooth streaming, HLS… Pour répondre à cette problématique, Azure Media Services fournit une fonctionnalité de “packaging dynamique” qui permet de ne produire qu’un seul fichier MP4 multi débits, et de le packager dynamiquement à la demande pour servir le bon format au bon périphérique !

Concrètement, le premier scénario de vidéo à la demande auquel permet de répondre Windows Azure Media Service suit le workflow suivant :

  1. Envoi d’un fichier vidéo pivot (souvent un MP4 H264 en très haute définition) dans un espace de stockage Azure (blob storage)
  2. Encodage d’un fichier MP4 multi débit permettant d’avoir plusieurs formats à différents débit
  3. Création des URLs d’accès à ces différents fichiers + formats de packaging SmoothStreaming, HLS, MPEG Dash..
  4. Mise à disposition des URLs à des players spécialisés pour le streaming

Dans un prochain article, je détaillerai l’envoi d’un média MP4 pivot, la génération des tâches d’encodage multi débit et la lecture en streaming à l’aide des fonctionnalités de package dynamique d’Azure Media Services !

A bientôt

Julien Clignement d'œil

Ces billets pourraient aussi vous intéresser

Vous nous direz ?!

Commentaires

comments powered by Disqus