Encodage vidéo et audio avec Media Services
Avertissement
Azure Media Services sera mis hors service le 30 juin 2024. Pour plus d’informations, consultez le Guide de mise hors service AMS.
Conseil
Voulez-vous générer des miniatures, assembler deux vidéos ensemble, créer un sous-clip d’une vidéo ou la faire pivoter (entre autres) ? Vous trouverez un exemple de code Media Services dans la page Exemples.
Le terme encodage dans Media Services s’applique au processus de conversion de fichiers contenant de la vidéo et/ou audio numérique d’un format standard vers un autre, dans le but de (a) réduire la taille des fichiers et/ou (b) produire un format compatible avec un large éventail d’appareils et d’applications. Ce processus est également appelé compression vidéo ou transcodage. Pour une discussion plus approfondie de ces concepts, consultez Data compression et What Is Encoding and Transcoding?.
Les vidéos sont généralement fournies aux appareils et aux applications par téléchargement progressif ou par le biais de streaming à débit adaptatif.
Important
Media Services ne facture pas les travaux annulés ou ceux ayant renvoyé des erreurs. Par exemple, un travail qui a atteint 50 % de progression et qui est annulé n’est pas facturé à hauteur de 50 % des minutes du travail. Vous n’êtes facturé que pour les travaux terminés.
- Pour le téléchargement progressif, vous pouvez utiliser Azure Media Services afin de convertir un fichier multimédia numérique (mezzanine) en fichier MP4 qui contient la vidéo encodée avec le codec H.264 et le son encodé avec le codec AAC. Ce fichier MP4 est écrit dans un actif multimédia dans votre compte de stockage. Vous pouvez utiliser les SDK ou les API Stockage Azure (par exemple l’API REST de stockage ou le SDK .NET) pour télécharger le fichier directement. Si vous avez créé l’actif multimédia de sortie avec un nom de conteneur spécifique dans le stockage, utilisez cet emplacement. Sinon, vous pouvez utiliser Media Services pour lister les URL de conteneurs d’actifs multimédias.
- Pour préparer le contenu pour une diffusion en streaming à débit adaptatif, le fichier mezzanine doit être encodé à plusieurs débits (du plus élevé au plus faible). Pour garantir une transition appropriée de la qualité, le débit et la résolution de la vidéo sont réduits en parallèle. Il en résulte ce qu’on appelle une échelle d’encodage, c’est-à-dire un tableau de résolutions et de débits (consultez Échelle de débit adaptatif générée automatiquement ou utilisez le préréglage d’encodage adapté au contenu). Vous pouvez utiliser Media Services pour encoder vos fichiers mezzanine à plusieurs débits binaires. Dans ce cas, vous obtiendrez un ensemble de fichiers MP4 et de fichiers de configuration de diffusion en continu associés écrits dans une ressource de votre compte de stockage. Vous pouvez ensuite utiliser la fonctionnalité d’empaquetage dynamique dans Media Services pour diffuser la vidéo par le biais de protocoles de streaming tels que MPEG-DASH et HLS. Vous devrez pour cela créer un localisateur de streaming et générer des URL de streaming correspondant aux protocoles pris en charge, qui peuvent ensuite être remises aux appareils/applications en fonction de leurs fonctionnalités.
Transformations et travaux
Pour encoder avec Media Services v3, vous devez créer une transformation et un travail. La transformation définit une recette à appliquer pour vos paramètres et sorties d’encodage ; le travail est une instance de la recette. Pour plus d’informations, consultez Transformations et travaux.
Lors de l’encodage avec Media Services, vous utilisez des préréglages pour indiquer comment traiter les fichiers multimédias en entrée. Dans Media Services v3, vous utilisez l’encodeur standard pour coder vos fichiers. Par exemple, vous pouvez spécifier la résolution vidéo et/ou le nombre de canaux audio souhaité dans le contenu encodé.
Vous pouvez commencer rapidement à utiliser un des préréglages intégrés et basés sur les bonnes pratiques du secteur, ou vous pouvez choisir de créer un préréglage personnalisé pour les besoins de votre scénario ou de votre appareil.
À partir de janvier 2019, en cas de codage avec l’encodeur standard pour produire des fichiers MP4, un nouveau fichier .mpi est généré et ajouté à la ressource de sortie. Ce fichier MPI est destiné à améliorer les performances pour les scénarios d’empaquetage dynamique et de diffusion en continu.
Notes
Vous ne devez ni modifier ni supprimer le fichier MPI, ni dépendre de l'existence (ou non) d'un tel fichier dans votre service.
Préréglages intégrés
Media Services prend en charge les préréglages d’encodage intégrés suivants :
BuiltInStandardEncoderPreset
BuiltInStandardEncoderPreset est utilisé pour définir un préréglage intégré pour l’encodage de la vidéo en entrée avec l’encodeur standard.
Les préréglages intégrés suivants sont actuellement pris en charge :
EncoderNamedPreset.AACGoodQualityAudio : produit un seul fichier MP4 contenant seulement le contenu audio stéréo encodé à 192 Kbits/s.
EncoderNamedPreset.AdaptiveStreaming : prend en charge l’encodage à débit adaptatif H.264. Pour plus d’informations, consultez Génération automatique d’une échelle de débit binaire.
EncoderNamedPreset.H265AdaptiveStreaming : similaire à la présélection d’AdaptiveStreaming, mais utilise le codec HEVC (H.265). Produit un ensemble de fichiers MP4 alignés sur le groupe d’images avec une vidéo H.265 et un son AAC stéréo. Génère automatiquement une échelle de vitesse de transmission basée sur la résolution d’entrée, la vitesse de transmission et la fréquence d’images. Le préréglage généré automatiquement ne dépassera jamais la résolution d’entrée. Par exemple, si l’entrée est en 720p, la sortie restera au mieux en 720p.
EncoderNamedPreset.ContentAwareEncoding : expose un préréglage d’encodage adapté au contenu H.264. Produit un ensemble de fichiers MP4 alignés sur le groupe d’images en utilisant un encodage adapté au contenu. Étant donné un contenu d’entrée, le service effectue une analyse initiale légère du contenu d’entrée et utilise les résultats pour déterminer le nombre optimal de couches, le débit approprié et les paramètres de résolution pour la livraison par diffusion en continu adaptative. Ce préréglage est particulièrement efficace pour les vidéos de complexité faible ou moyenne, où les fichiers de sortie auront des vitesses de transmission inférieures, mais une qualité qui permettra aux viewers d’avoir une bonne expérience. La sortie contiendra des fichiers MP4 avec vidéo et audio entrelacées. Ce préréglage génère seulement une sortie allant jusqu’à 1080p en HD. Si une sortie 4K est nécessaire, vous pouvez configurer le préréglage avec PresetConfigurations en utilisant la propriété « maxHeight ». Pour plus d’informations, consultez Encodage sensible au contenu.
EncoderNamedPreset.H265ContentAwareEncoding : expose un préréglage d’encodage adapté au contenu HEVC (H.265). Produit un ensemble de fichiers MP4 alignés sur le groupe d’images en utilisant un encodage adapté au contenu. Étant donné un contenu d’entrée, le service effectue une analyse initiale légère du contenu d’entrée et utilise les résultats pour déterminer le nombre optimal de couches, le débit approprié et les paramètres de résolution pour la livraison par diffusion en continu adaptative. Ce préréglage est particulièrement efficace pour les vidéos de complexité faible ou moyenne, où les fichiers de sortie auront des vitesses de transmission inférieures, mais une qualité qui permettra aux viewers d’avoir une bonne expérience. La sortie contiendra des fichiers MP4 avec vidéo et audio entrelacées. Ce préréglage produit une sortie allant jusqu’à 4K en HD. Si une sortie 8K est nécessaire, vous pouvez configurer le préréglage avec PresetConfigurations en utilisant la propriété « maxHeight ».
EncoderNamedPreset.H264MultipleBitrate1080 produit un ensemble de huit fichiers MP4 alignés sur GOP, de 6000 kbits/s à 400 kbits/s, et un contenu audio AAC stéréo. La résolution commence à 1 080p et descend à 360p.
EncoderNamedPreset.H264MultipleBitrate720p produit un ensemble de six fichiers MP4 alignés sur GOP, de 3400 kbits/s à 400 kbits/s, et un contenu audio AAC stéréo. La résolution commence à 720p et descend à 360p.
EncoderNamedPreset.H264MultipleBitrateSD produit un ensemble de cinq fichiers MP4 alignés sur GOP, de 1600 kbits/s à 400 kbits/s, et un contenu audio AAC stéréo. La résolution commence à 480p et descend à 360p.
EncoderNamedPreset.H264SingleBitrate1080p : produit un fichier MP4 où la vidéo est encodée avec le codec H.264 à 6750 kbits/s et une hauteur d’image de 1080 pixels, et le contenu audio stéréo est encodé avec le codec AAC-LC à 128 kbits/s. Si vous souhaitez des débits inférieurs pour l’audio, vous pouvez créer une présélection d’encodage personnalisée dans votre transformation et ajuster le taux d’échantillonnage ou le nombre de canaux pour atteindre des valeurs inférieures pour AAC-LC.
EncoderNamedPreset.H264SingleBitrate720p : produit un fichier MP4 où la vidéo est encodée avec le codec H.264 à 4500 kbits/s et une hauteur d’image de 720 pixels, et le contenu audio stéréo est encodé avec le codec AAC-LC à 128 kbits/s. Si vous souhaitez des débits inférieurs pour l’audio, vous pouvez créer une présélection d’encodage personnalisée dans votre transformation et ajuster le taux d’échantillonnage ou le nombre de canaux pour atteindre des valeurs inférieures pour AAC-LC.
EncoderNamedPreset.H264SingleBitrateSD : produit un fichier MP4 où la vidéo est encodée avec le codec H.264 à 2200 kbits/s et une hauteur d’image de 480 pixels, et le contenu audio stéréo est encodé avec le codec AAC-LC à 128 kbits/s. Si vous souhaitez des débits inférieurs pour l’audio, vous pouvez créer une présélection d’encodage personnalisée dans votre transformation et ajuster le taux d’échantillonnage ou le nombre de canaux pour atteindre des valeurs inférieures pour AAC-LC.
EncoderNamedPreset.H265SingleBitrate720P : produit un fichier MP4 où la vidéo est encodée avec le codec HEVC (H.265) à 1800 kbits/s et une hauteur d’image de 720 pixels, et le contenu audio stéréo est encodé avec le codec AAC-LC à 128 kbits/s.
EncoderNamedPreset.H265SingleBitrate1080p : produit un fichier MP4 où la vidéo est encodée avec le codec HEVC (H.265) à 3500 kbits/s et une hauteur d’image de 1080 pixels, et le contenu audio stéréo est encodé avec le codec AAC-LC à 128 kbits/s.
EncoderNamedPreset.H265SingleBitrate4K : produit un fichier MP4 où la vidéo est encodée avec le codec HEVC (H.265) à 9500 kbits/s et une hauteur d’image de 2160 pixels, et le contenu audio stéréo est encodé avec le codec AAC-LC à 128 kbits/s.
Pour afficher la liste des préréglages la plus récente, consultez Préréglages intégrés à utiliser pour l’encodage de vidéos.
Préréglages personnalisés
Media Services prend entièrement en charge la personnalisation de toutes les valeurs dans les présélections afin de répondre à vos exigences et vos besoins spécifiques de codage.
StandardEncoderPreset
StandardEncoderPreset décrit les paramètres utilisés lors de l’encodage de vidéo en entrée avec l’encodeur standard. Utilisez ce préréglage lors de la personnalisation des préréglages de transformation.
Considérations
Lorsque vous créez des préréglages personnalisés, les considérations suivantes s’appliquent :
- Toutes les valeurs de hauteur et de largeur de contenu AVC doivent être un multiple de quatre.
- Dans Azure Media Services v3, toutes les vitesses d’encodage sont données en bits par seconde. Cela diffère des préréglages avec nos API v2, qui utilisaient des kilobits par seconde comme unité. Par exemple, si la vitesse de transmission dans v2 était de 128 (kilobits/seconde), elle sera définie sur 12 8000 (bits/seconde) dans v3.
Schéma de préréglage
Dans Media Services v3, les présélections sont des entités fortement typées dans l’API elle-même. Vous trouverez la définition « schema » (schéma) pour ces objets dans Open API Specification (ou Swagger). Vous pouvez également consulter les définitions prédéfinies (comme StandardEncoderPreset) dans l’API REST, le Kit de développement logiciel (SDK) .NET (ou d’autres documents de référence sur le Kit de développement logiciel (SDK) Media Services v3).
Mise à l’échelle de l’encodage dans v3
Pour les comptes créés avec la version 2020-05-01 ou une version ultérieure de l’API ou via le portail Azure, la mise à l’échelle et les unités réservées Multimédia ne sont plus nécessaires. La mise à l’échelle sera automatique et gérée par le service en interne.
Facturation
Media Services ne facture pas les travaux annulés ou erronés. Par exemple, un travail qui a atteint 50 % de progression et qui est annulé n’est pas facturé à hauteur de 50 % des minutes du travail. Vous n’êtes facturé que pour les travaux terminés.
Pour plus d’informations, voir la tarification.
Exemples d’encodage
Consultez la liste complète des exemples d’encodage.
Obtenir de l’aide et du support
Vous pouvez contacter Media Services pour vous poser des questions ou suivre nos mises à jour en suivant l’une des méthodes suivantes :
- Q & R
-
Stack Overflow. Balisez les questions avec
azure-media-services
. - @MSFTAzureMedia ou utiliser @AzureSupport pour demander du support.
- Ouvrez un ticket de support via le Portail Azure.