Loupe

Azure Media Services : état des lieux des fonctionnalités

Comme tous les services d’Azure, Media Services (AMS) évolue en permanance afin de proposer de nouvelles fonctionnalités à ses utilisateurs. Dans ce poste, je vous propose de faire un état des lieux des différentes fonctionnalités d’Azure Media Services et les scénarios auxquels ce service permet de répondre.

En terme de scénarios, AMS permet de répondre à deux problématiques : la diffusion de contenu à la demande (VOD) et la diffusion de contenu en direct (LIVE). La seconde étant encore en preview à l’heure actuelle.

La VOD avec Azure Media Services

La VOD permet de diffuser du contenu vidéo à vos utilisateurs, à la demande (type Youtube, Netflix…). Media Services propose des fonctionnalités qui permettent de simplifier au maximum et d’automatiser les workflows de publication de ces contenus vidéo. Concrètement, la mise à disposition de contenu se fera généralement en suivant les étapes suivantes :

  1. Envoi d’un fichier vidéo “source” (haute définition, dans la majorité des cas) dans un BLOB azure.
  2. Réalisation d’une ou plusieurs tâches d’encodage avec un encodeur
    1. Génération de fichier basse résolution pour de la prévisualisation
    2. Génération de fichier MP4 Multi débit pour faire du streaming adaptif dynamique par la suite (j’y reviendrai plus loin)
    3. Génération de vignettes
    4. Incrustation de contenu
    5. Découpe de la vidéo
    6. Etc…
  3. Publication du contenu :
    1. Soit directement depuis le stockage BLOB Azure, avec des Shared Access Signature par exemple
    2. Soit sur les serveur d’origine d’AMS, pour du streaming adaptif dynamique

Le LIVE dans Azure Media Services

La brique LIVE d’AMS permet, comme son nom l’indique, d’utiliser la plateforme Cloud de Microsoft pour diffuser du contenu en direct. Lorsque l’on travaille avec cette brique, on suit généralement le workflow suivant :

  1. Création d’un flux live dans Azure Media Services
  2. Alimentation de ce flux live depuis un encodeur tiers (aujourd’hui en MP4 Smooth ou RTMP)
  3. Publication du flux live sur les serveurs d’origines AMS pour du streaming adaptif

AMS Live propose également une notion de programmes qui vient s’ajouter sur un flux Live. Les programmes permettent de configurer la fenêtre d’archivage du flux live (sur combien de temps il est possible de revenir en arrière dans le flux) mais aussi d’enregistrer un flux live pour pouvoir derrière proposer des catch up à la demande (et repasser dans un cycle VOD classique).

Le streaming adaptif dynamique dans Azure Media Services

Avant tout, il faut bien comprendre la différence entre le direct download et le streaming adaptif, qui sont grosso modo les deux modes de délivrance de contenu sur Internet.

Lorsque vous diffusez un contenu vidéo en direct download, il n’est pas possible de changer de qualité en cours de route (baisse ou augmentation) pour s’adapter aux capacités de la bande passante de l’utilisateur qui souhaite visionner le contenu. En plus de ça, il n’est pas possible de naviguer dans le flux pour avancer ou reculer, sans avoir téléchargé tous le contenu. Ce mode n’est clairement pas optimisé.

Le streaming adaptif repose sur un fichier multi-débit (de la résolution la plus basse, à la plus haute) qui permet de faire en sorte que la qualité du contenu s’adapte à la capacité de bande passante, et permet également la navigation instantanée dans le flux. Il existe différents formats de packaging pour faire de l’adaptive streaming, parmis les plus utilisés :

  1. HLS (Http Live Streaming) : historiquement pour les plateformes Apple et Androïd
  2. Le Smooth Streaming : historiquement pour les plateformes Microsoft.
  3. MPEG-Dash : norme assez récente qui pourrait devenir LA norme du streaming adaptif dans le futur

Aujourd’hui, les écosystèmes des utilisateurs ciblés par la VOD sont très variés, et il est souvent nécessaire de devoir proposer une lecture dans tous les formats cités ci-dessus pour proposer la meilleure expérience possible ! Du coup, cela pourrait impliquer de devoir dupliquer les contenus vidéos, pour chaque format, et donc augmenter de manière considérable les coûts de stockage.

Pour contourner cette problématique, Microsoft propose des serveurs d’origine dans Azure, qui permettent de packager dynamiquer les fluxs pour faire de l’adaptive streaming. Concrètement, vous généré une seule fois un fichier multi-débit avec l’encodeur AMS, et ensuite le packaging HLS, Smooth Streaming ou MPEG-Dash se fait dynamiquement à la demande :

 

image

Protection du contenu

On peut difficilement parler de diffusion de contenu vidéo sans aborder le point de la protection du contenu diffusé. Pour répondre à cette problématique, AMS propose soit de chiffrer le fichier directement au niveau du stockage, soit de manière dynamique, au moment de la diffusion, comme pour le packaging du streaming adaptif.

Il est possible protéger un contenu en utilisant soit AES, soit PlayReady.

Vous retrouvez alors dans Azure un service de gestion de clé pour AES et de gestion de licence PlayReady, selon la solution que vous choisissez d’implémenter !

Conclusion

Comme nous avons pu le voir dans ce billet, la brique Media Services d’Azure propose des outils assez avancés pour la gestion de médias dans le Cloud, que ce soit en VOD ou en direct !

Vous retrouverez toutes les informations nécessaires pour démarrer avec AMS sur cette page : http://azure.microsoft.com/en-us/services/media-services/

Si vous souhaitez voir un exemple de réalisation basée sur Azure Media Services, je vous invite à consulter notre page de webcasts techniques Infinite Series.

A bientôt,

Julien

Ces billets pourraient aussi vous intéresser

Vous nous direz ?!

Commentaires

comments powered by Disqus