Cette page fournit une présentation technique de l'API Transcoder, y compris les fonctionnalités, la terminologie et les concepts utiles. L'API Transcoder implémente une API REST et RPC qui vous permet d'envoyer, de surveiller et de gérer des tâches de transcodage dans Google Cloud. Pour envoyer des tâches à l'aide de l'API Transcoder, vous devez d'abord importer les éléments multimédias dans Cloud Storage. Après le traitement d'une tâche, l'API Transcoder enregistre le contenu multimédia obtenu dans Cloud Storage.
Fonctionnalités
L'API Transcoder est compatible avec les fonctionnalités suivantes :
- Sortie dans différents formats de conteneur, y compris MPEG-4 (MP4), flux adaptatif dynamique sur HTTP (DASH, également appelé MPEG-DASH) et HTTP Live Streaming (HLS)
- Sortie avec différents débits et résolutions, y compris audio uniquement
- Améliorez la sortie vidéo par programmation, par exemple :
- Configurer des paramètres d'encodage de bas niveau, tels que le débit
- Remixer du contenu multimédia existant à l'aide de listes d'éditions complètes
- Spécifier la normalisation du volume audio.
Pour en savoir plus sur les normes MP4 et MPEG-DASH, consultez le site Web de Moving Picture Experts Group. Pour en savoir plus sur la norme HLS, consultez la page HTTP Live Streaming.
Contrôle des accès
Le modèle de contrôle des accès de l'API Transcoder est basé sur Identity and Access Management (IAM) de Google. Les autorisations IAM vous permettent de contrôler avec précision la manière dont les données multimédias peuvent être traitées, et par qui.
Limites
Le tableau suivant indique les limites par tâche de transcodage.
Limites des tâches | |
---|---|
Taille totale d'entrée | 400 Go |
Taille totale de sortie | 400 Go |
Durée EditList maximale | 24 heures |
Nombre maximal de flux vidéo | 30 |
Nombre maximal de flux audio | 50 |
Nombre maximal de flux de texte | 50 |
Nombre maximal de flux multiplex | 100 |
Nombre maximal de fichiers manifestes | 100 |
Nombre maximal de feuilles de sprites | 10 |
Concepts
Cette section présente des concepts importants concernant les fichiers vidéo et leur utilisation avec l'API Transcoder.
Composants d'un fichier vidéo
Chaque fichier vidéo contient un conteneur, qui est le wrapper de l'intégralité du fichier. L'API Transcoder définit le conteneur à l'aide de MuxStreams. Chaque conteneur comprend un ensemble d'éléments ElementaryStreams permettant de définir l'encodage des pistes audio de vidéos, audio et de sous-titres pour le fichier. Les fichiers vidéo et audio sont compressés à l'aide de codecs.
Dans l'exemple suivant, la vidéo est compressée au format H.264 et le contenu audio est compressé au format AAC. Les deux sont placés dans un conteneur MP4.
Figure 1. Composants d'un fichier vidéo (à gauche) et exemple de fichier MP4 (à droite)
Structure du protocole de streaming
Pour les médias diffusés en direct, les fournisseurs de contenu encodent le même contenu à plusieurs débits (mesurés en kilobits par seconde). Le fournisseur génère ensuite un fichier manifeste qui pointe vers les différents fichiers avec des débits différents. Le lecteur multimédia de streaming utilise le fichier manifeste pour sélectionner le fichier approprié, puis extrait la vidéo quelques secondes à la fois. Chaque débit peut être un ou plusieurs fichiers courts, en fonction de la compatibilité du lecteur.
Différentes résolutions de médias sont généralement encodées pour cibler différents débits. Par exemple, les débits inférieurs sont encodés en définition standard (SD) et non en haute définition (HD). L'ensemble de débits, de résolutions et de codecs est appelé "échelle de débit adaptatif". Les fournisseurs de contenu en streaming peuvent régler leur propre échelle en fonction des coûts CDN, des types d'appareils des utilisateurs, de la bande passante dans la région et d'autres facteurs.
Figure 2. Composants d'une structure de protocole de traitement par flux (en haut) et exemple d'implémentation de HTTP Live Streaming (HLS) (en bas)
Terminologie
Cette section fournit un glossaire contenant des termes utiles pour l'utilisation de l'API Transcoder.
Coupure publicitaire
Une coupure publicitaire est une courte annonce qui apparaît avant ou pendant la lecture d'un contenu multimédia. L'API Transcoder accepte une image clé de coupure publicitaire dans la configuration de la tâche. L'API Transcoder n'insère ou ne diffuse aucune publicité, et n'arrête pas la lecture des contenus multimédias. Les clients du lecteur vidéo sont responsables du traitement de l'image clé.
Atom
Un élément atom est une structure de données fondamentale permettant de définir les métadonnées et l'emplacement d'une vidéo. Une vidéo peut comprendre une hiérarchie imbriquée complexe de différents types d'élément atom, y compris des éléments atom audio, d'édition et de texte.
Élément atom audio
Un élément atom audio associe l'audio d'un flux élémentaire à une liste d'éditions.
Type de codec et profil
Lorsque vous sélectionnez le codec pour un flux vidéo, vous spécifiez le type de codec, tel que H.264, et le profil, par exemple le profil high
par défaut.
Conteneur
Un conteneur est un wrapper qui décrit la relation entre les différents composants d'un flux multiplexé, y compris les fichiers multimédias et les métadonnées. L'API Transcoder est compatible avec les formats de conteneurs MP4, MPEG-DASH et HLS.
Élément atom d'édition
Un élément atom d'édition définit les décalages de début et de fin pour les segments spécifiques d'un flux que vous souhaitez combiner dans une liste d'éditions.
Modifier la liste
Une liste d'éditions définit une séquence d'éditions sous la forme d'une chronologie pour le fichier ou le fichier manifeste résultant d'une tâche de transcodage.
Flux élémentaire
Un flux élémentaire est un encodage d'un fichier d'entrée, par exemple une piste audio, vidéo ou de texte de sous-titres. Vous devez empaqueter les flux élémentaires avant de mapper et de partager le flux avec différents formats de sortie.
Codage entropique
Le codage entropique est une forme de compression sans perte compatible avec l'API Transcoder. Lors de la configuration des tâches, vous pouvez spécifier le codeur entropique CAVLC (Context-Adaptive Variable-Length Coding) ou CABAC (Context-Adaptive Binary Arithmetic Coding).
Tâche
Une tâche est l'unité de base pour la gestion du travail à réaliser avec l'API Transcoder. Lorsque vous envoyez une tâche à l'API Transcoder, elle est traitée de manière asynchrone dans un emplacement géographique également appelé région. Vous pouvez répertorier et gérer toutes les tâches d'une région.
Le cycle de vie d'une tâche comprend trois étapes : préparer, transcoder et empaqueter.
- Préparer
- Télécharger les entrées depuis Cloud Storage
- Analyser les entrées
- Valider les entrées
- Transcoder
- Exécuter des opérations de transcodage sur les entrées
- Empaqueter
- Entrées d'assemblage
- Entrées multiplex
- Importer les sorties dans Cloud Storage
Une tâche possède un état mis à jour.
Le service signale les erreurs à l'aide du champ error
.
Configuration de la tâche
Une configuration de tâche représente un grand nombre des paramètres que vous pouvez personnaliser lors de la création et de l'envoi d'une tâche à l'API Transcoder. Vous pouvez spécifier des paramètres de configuration tels que des listes d'éditions et l'endroit où insérer des tags de coupure publicitaire dans un fichier manifeste de sortie. Vous pouvez créer des configurations de tâches réutilisables en tant que modèles de tâches à utiliser dans une région Google Cloud.
Modèle de tâche
Par défaut, l'API Transcoder applique un modèle prédéfini appelé preset/web-hd
pour renseigner une configuration de tâche. Cette configuration de tâche génère les fichiers de sortie suivants :
manifest.m3u8
: la playlist principale pour un flux multimédia HLS. Ce fichier contient des références à des playlists pour la variante en haute définition (HD) de la sortie et la variante en définition standard (SD) de la sortie.media-hd.m3u8
: playlist pour la variante en haute définitionmedia-hd0000000000.ts
: fichier de séquence vidéo en haute définition
media-sd.m3u8
: playlist pour la variante en définition standardmedia-sd0000000000.ts
: fichier de séquence vidéo en définition standard
manifest.mpd
: playlist pour un flux multimédia MPEG-DASH. Ce fichier contient des références aux fichiers de séquence vidéo uniquement et de séquence audio uniquement.audio-only0000000000.m4s
: fichier de séquence audio uniquementvideo-only-hd0000000000.m4s
: fichier de séquence vidéo uniquement en haute définitionvideo-only-sd0000000000.m4s
: fichier de séquence vidéo uniquement en définition standard
sd.mp4
: fichier vidéo en définition standard autonomehd.mp4
: fichier vidéo en haute définition autonome
Vous pouvez créer et gérer vos propres modèles de tâche personnalisés et les spécifier lors de la création des tâches.
Prétraitement
Le prétraitement est l'étape d'une tâche qui a lieu avant le transcodage principal.
Configuration du prétraitement
Une configuration de prétraitement représente les paramètres que vous pouvez appliquer à une vidéo avant l'étape de transcodage d'une tâche. Vous pouvez appliquer un recadrage ou une marge intérieure à cette configuration.
Mode de contrôle du taux
Le mode de contrôle du taux indique si une tâche doit être traitée à l'aide du mode CRF (facteur de taux constant) ou VBR (taux variable). Le mode CRF garantit une qualité constante tout au long des ressources multimédias traitées. Le mode VBR optimise le processus d'encodage afin de réduire la taille de fichier des ressources multimédias traitées. Pour les cas d'utilisation par flux, sélectionnez le mode de contrôle du taux VBR. À des fins d'archivage, sélectionnez le mode de contrôle du taux CRF.
Fichier manifeste
Un fichier manifeste est une description du contenu et des métadonnées disponibles d'un flux multimédia adaptatif vers un client. Dans l'API Transcoder, vous pouvez configurer une tâche pour générer un fichier manifeste avec un nom de fichier, une liste de flux multiplexés ainsi que le type du fichier manifeste, qui doit être au format HLS ou MPEG-DASH.
Élément atom de texte
Un élément atom de texte mappe le texte d'un flux élémentaire à une liste d'éditions.
Flux de texte
Un flux de texte encode les données de texte associées à une vidéo, telles que des sous-titres.
Étapes suivantes
- Lisez le guide de démarrage rapide.
- Découvrez comment effectuer des tâches de l'API Transcoder spécifiques.