• 3 min read

Nouveautés du traitement vidéo Azure Media Services

Les développeurs et les sociétés de médias font confiance à Azure Media Services pour encoder, protéger, indexer et diffuser des vidéos à grande échelle. Cette semaine, nous sommes fiers d’annoncer plusieurs améliorations aux Media Services, notamment la disponibilité générale de la nouvelle API d’Azure Media Services version 3, ainsi que de nouvelles mises à jour d’Azure Media Player.

Les développeurs et les sociétés de médias font confiance à Azure Media Services pour encoder, protéger, indexer et diffuser des vidéos à grande échelle. Cette semaine, nous sommes fiers d’annoncer plusieurs améliorations aux Media Services, notamment la disponibilité générale de la nouvelle API d’Azure Media Services version 3, ainsi que de nouvelles mises à jour d’Azure Media Player.

Streaming en direct à faible latence, transcodage 24 heures sur 24, format CMAF et nouvelle API (v3) de pointe prête pour la production

L’API Azure Media Services v3 a été annoncée lors de la conférence Build en mai 2018, laquelle a proposé un modèle de développement simplifié, a permis une meilleure intégration aux principaux services Azure, tels qu’Event Grid et Functions, et bien plus encore. L’API est maintenant généralement disponible et s’accompagne d’un grand nombre de nouvelles fonctionnalités passionnantes. Vous pouvez dès à présent commencer à migrer en production les charges de travail qui ont été construites sur l’API en préversion.

Nouveautés

La nouvelle API Media Services v3 marque une étape importante dans l’amélioration de l’expérience développeur pour les clients Media Services. La nouvelle API propose un ensemble de kits de développement logiciel (SDK) pour .NET, .NET Core, Java, Go, Python, Ruby et Node.js. En outre, l’API prend en charge les scénarios clés suivants.

Vidéo en flux continu de faible latence avec transcodage 24 heures sur 24

Remplaçant l’entité Channel dans l’API v2, LiveEvent apporte plusieurs améliorations notables au service.

Il nous est souvent demandé de diminuer la latence lors d’événements de diffusion live en continu. Notre nouveau mode de streaming en direct à faible latence est maintenant disponible exclusivement sur l’entité LiveEvent de notre API v3. Il prend en charge une latence de bout en bout de 8 secondes lorsqu’il est utilisé conjointement avec le nouveau profil heuristique à faible latence d’Azure Media Player, ou une latence de bout en bout d’environ 10 secondes avec une lecture HLS native sur un appareil Apple iOS. Il suffit de configurer votre encodeur live pour utiliser des tailles de GOP inférieures à 1 seconde, et vous pouvez rapidement réduire la latence globale lorsque vous diffusez du contenu à des audiences de petite ou moyenne taille. Bien sûr, il faut noter que la latence de bout en bout peut varier en fonction des conditions du réseau local ou en introduisant une couche de mise en cache d’un réseau de distribution de contenu. Testez la configuration qui vous convient le mieux, car la latence peut varier.

Dans l’avenir, nous continuerons à apporter des améliorations à notre solution à faible latence. Le mois dernier, nous avons annoncé que nous adoptions le protocole open source SRT Alliance pour contribuer à améliorer le streaming en direct à faible latence vers Azure avec un accès sécurisé et fiable au cloud. Dans le cadre de cette annonce, nous avons déjà commencé à ajouter la prise en charge du protocole Ingest SRT à notre LiveEvent.

Pour utiliser la nouvelle fonction LowLatency, vous pouvez définir le paramètre StreamOptionsFlag sur LowLatency dans le LiveEvent :

FE39240A-E58B-4773-B137-891FFAF7141A

Une fois que le flux de données est opérationnel et actif, ouvrez la page Démonstration du lecteur multimédia Azure et configurez les options de lecture afin d’utiliser le profil heuristique à faible latence (« Low Latency Heuristics Profile »).

Sélection de l’option Low Latency Heuristics Profile

Ensuite, lorsque vous diffusez une vidéo en direct, vous disposez de deux options pour les événements de diffusion en continu de longue durée. Si vous avez besoin de fournir des flux continus en direct de façon linéaire (24 h/24, 7 j/7, 365 j/an), vous devez utiliser un encodeur local avec notre LiveEvent « pass-through » sans transcodage. Si vous avez besoin d’encodage live dans le cloud, l’API v2 vous limite à huit heures de diffusion. Nous sommes très heureux d’annoncer que nous avons augmenté la prise en charge des durées de transcodage en direct jusqu’à 24 heures lors de l’utilisation du nouvel événement en direct.

Enfin, nous avons vérifié plusieurs encodeurs RTMP mis à jour, notamment les dernières versions de MediaExcel, Telestream Wirecast, Haivision KB et Switcher Studio.

Développement plus aisé avec Azure Event Grid et Azure Resource Manager

Pour faciliter votre expérience de développement par le biais de solutions Azure pour les médias, nous utilisons Azure Event Grid pour offrir plus de notifications liées aux opérations communes. Vous pouvez désormais vous abonner aux événements des opérations Job et JobOutput afin de mieux intégrer vos applications média personnalisées. Si vous créez des workflows personnalisés dans une opération Transform, vous pouvez spécifier vos données de corrélation dans l’objet Job. Ces données de corrélation peuvent être extraites des notifications reçues via Event Grid pour aider à créer des workflows qui résolvent des problèmes communs avec des applications multi-locataires, ou l’intégration aux systèmes tiers de gestion des ressources multimédias. Lors de la supervision d’un flux temps réel, vous pouvez utiliser de nouveaux événements, tels que la pulsation de transfert direct, les événements connectés et déconnectés de l’encodeur live amont.

Abonnez-vous à n’importe quel événement Media Services par le biais du code, de Logic Apps ou du Portail Azure.

Créer un abonnement aux événements

Dans le cadre de la gestion des transformations, des événements live, des clés DRM, des points de terminaison de streaming et des ressources, la transition vers Azure Resource Management (ARM), notre API v3 vous fait bénéficier des avantages suivants :

  1. Développement plus aisé à l’aide de modèles ARM.
  2. Possibilité d’utilisation du contrôle d’accès en fonction du rôle (RBAC).

Création d’ingestion et de ressource simplifiée

L’ingestion de contenu dans Media Services impliquait de multiples étapes, telles que la copie de fichiers vers le stockage Azure et la création d’Assets et d’AssetFiles. La nouvelle API vous permet de pointer simplement vers un fichier existant dans le stockage Azure à l’aide d’une URL SAS, ou de l’ingérer depuis n’importe quelle URL accessible via HTTP(S).

var input = new JobInputHttp(
                     baseUri: "https://nimbuscdn-nimbuspm.streaming.mediaservices.windows.net/2b533311-b215-4409-80af-529c3e853622/",
                     files: new List<String> {"Ignite-short.mp4"}
                     );

Nous avons également simplifié la création de ressources dans le Stockage Blob Azure, en vous permettant de définir directement le nom du conteneur. Vous pouvez à présent utiliser les API de stockage pour ajouter des fichiers dans le conteneur. Les ressources v2 existantes continueront à fonctionner dans la nouvelle API, mais les ressources v3 ne sont pas rétrocompatibles.

Diffusion en continu et empaquetage dynamique avec MPEG CMAF

Nous venons d’intégrer la prise en charge officielle de la dernière spécification MPEG (Common Media Application Format, CMAF) avec le chiffrement « cbcs ». Officiellement connu sous le nom de MPEG-A Part 19 ou ISO/IEC 23000-19, CMAF est un nouveau format de fichier multimédia qui permet le stockage et la diffusion de médias en continu à l’aide d’un format unique à débit adaptatif chiffré sur une large gamme d’appareils, de type iPhone, Android et Windows notamment. Les fournisseurs de services de diffusion en continu bénéficieront de ce format commun grâce à une meilleure interopérabilité, une diffusion en continu à faible latence et une efficacité accrue du cache d’un réseau de distribution de contenu.

Pour utiliser le nouveau format CMAF, ajoutez simplement la balise "format=" suivante à l’URL de vos URL de diffusion en continu et choisissez le type de manifeste HLS (pour les appareils iOS) ou DASH (pour les appareils Windows ou Android) appropriés.

Pour le manifeste MPEG DASH avec contenu au format CMAF, utilisez “format=mpd-time-cmaf” comme indiqué ci-après :

https://<<your-account-name>>.streaming.media.azure.net/<<locator-ID>>/<<manifest-name>>.ism/manifest(format=mpd-time-cmaf)

Pour le manifeste HLS avec contenu au format CMAF, utilisez “format=m3u8-cma” comme indiqué ci-après :

https://<<your-account-name>>.streaming.media.azure.net/<<locator-ID>>/<<manifest-name>>.ism/manifest(format=m3u8-cmaf)

Gérer Media Services à partir de la ligne de commande

Enfin, nous avons mis à jour le module Azure CLI 2.0 pour Media Services afin d’y inclure toutes les fonctionnalités de l’API v3. Le 23 octobre 2018, nous publierons la version finale du module CLI Media Services, disponible en téléchargement ou utilisable directement dans Azure Cloud Shell. L’interface de ligne de commande (CLI) est conçue pour faciliter la création de scripts Media Services. La CLI permet d’exécuter des requêtes d’exécution de travaux, de création d’événements en direct et de transformations personnalisées, de gestion de clés de contenu, et bien plus encore. Le module CLI inclut également la prise en charge de points de terminaison de streaming, de stratégies de clés de contenu et de filtres de manifeste dynamique.

CE05FFEB-4B2C-4F51-A02D-073A5648967B

Essayez la nouvelle API en suivant ces tutoriels de prise en main :

Gardez le contact

N’oubliez pas non plus de vérifier l’outil Video Indexer car il est, lui aussi, devenu généralement disponible le mois dernier. Nous sommes impatients d’avoir votre avis sur ces mises à jour ! Vous pouvez poser vos questions sur notre forum MSDN ou sur Stack Overflow, ou proposer de nouvelles idées sur les sites User Voice d’Azure Media Services et de Video Indexer. Vous pouvez également nous contacter sur Twitter, aux adresses @MSFTAzureMedia et @Video_Indexer.