ApsaraVideo Media Processing (MPS) s'appuie sur trois groupes de termes : les concepts du produit tels que les jobs, les pipelines, les workflows et les modèles ; les fondamentaux audio et vidéo tels que le transcodage, le débit binaire et la fréquence d'images ; ainsi que les termes de la plateforme Alibaba Cloud tels que les régions et Object Storage Service. Familiarisez-vous avec ces termes avant de soumettre un job dans la console MPS ou d'appeler une opération API.
Concepts du produit MPS
MPS organise le traitement des médias autour des jobs. Vous pouvez soumettre un job directement ou configurer un workflow qui exécute une séquence prédéfinie de jobs lors du téléchargement d'un fichier. Un job asynchrone reste en attente dans un pipeline jusqu'à ce que MPS le planifie, tandis qu'un modèle de transcodage ou un modèle de filigrane fournit les paramètres de traitement appliqués par le job.
Job
Un job est l'abstraction utilisée par MPS pour représenter une demande de traitement multimédia. Chaque job comporte trois informations clés : l'entrée, la sortie et les paramètres de traitement.
-
Types de jobs courants — MPS propose des jobs d'analyse des informations média, des jobs de transcodage, des jobs de requête de transcodage, des jobs de capture d'instantanés et des jobs d'IA vidéo.
Les jobs de transcodage incluent le transcodage standard, le transcodage Narrowband HD™ 1,0, le transcodage Narrowband HD™ 2,0 et les jobs d'amélioration audio et vidéo.
Les jobs d'IA vidéo comprennent la production intelligente, le balisage intelligent, la modération de contenu, l'empreinte digitale des médias et les jobs de filigrane de droits d'auteur.
-
Soumission de job
Méthode de soumission — Vous pouvez soumettre un job via la console MPS, en appelant les SDK ou les opérations API correspondant au type de job, ou en déclenchant un workflow que vous avez configuré.
Paramètres requis — Par exemple, lors de la soumission d'un job de transcodage, les paramètres principaux à spécifier incluent le fichier d'entrée, le chemin de sortie, le modèle de transcodage (ou les paramètres de transcodage), file d'attente MPS et la priorité.
Le temps d'exécution varie selon le type de job. Certains jobs se terminent immédiatement après leur soumission. Toutefois, la plupart des jobs nécessitent le téléchargement, le traitement et l'analyse des fichiers, opérations qui ne peuvent pas être effectuées en temps réel. Par conséquent, les jobs sont divisés en modes d'invocation synchrones et asynchrones. Le tableau suivant compare ces deux modes.
| Mode d'invocation | Jobs applicables | Méthode de soumission | Résultat de la tâche | Organigramme |
| Mode synchrone | Jobs de capture d'instantané unique et jobs d'analyse des informations média. | Appelez les SDK ou les opérations API correspondant au type de job. | Après la soumission, l'opération renvoie immédiatement le résultat de la tâche, tel que l'adresse du fichier d'instantané et les détails des informations média. Vous pouvez également interroger périodiquement l'opération de requête de job pour récupérer le résultat de la tâche, mais vous ne pouvez pas recevoir ce résultat en configurant des notifications Message Service (MNS). Une erreur de délai d'expiration peut survenir si le fichier d'entrée est volumineux. Configurez un mécanisme de nouvelle tentative si nécessaire. | Flux de tâches synchrones |
| Mode asynchrone | Tous les types de jobs MPS. | Console MPS (pour certains types). Appelez les SDK ou les opérations API correspondant au type de job. Déclenchez un workflow que vous avez configuré (pour certains types). | Après la soumission, l'opération renvoie uniquement si la soumission a réussi. Pour récupérer le résultat de la tâche, vous devez utiliser l'interrogation périodique ou configurer MNS. | Flux de tâches asynchrones |
Pour récupérer le résultat d'un job asynchrone, utilisez l'une des méthodes suivantes :
Interrogation périodique — Chaque job est identifié par un JobId unique, renvoyé à l'appelant lors de la soumission du job. Vous pouvez également consulter le JobId dans la liste des jobs de la console. Enregistrez le JobId et interrogez périodiquement l'opération de requête de job pour récupérer le résultat de la tâche.
Configuration MNS — Configurez des notifications MNS pour un pipeline ou un workflow afin de recevoir le résultat de la tâche en temps utile. Une notification contient l'ID du job (JobId), les données utilisateur (UserData) et le résultat détaillé.
Pipeline
Un pipeline est une file d'attente pour les jobs asynchrones. Lorsque vous soumettez un job asynchrone, celui-ci est mis en file d'attente dans le pipeline. Dans la limite de concurrence définie, les jobs en attente sont planifiés et exécutés dans l'ordre, en fonction de leur priorité et de leur heure de soumission. Les différents types de pipelines varient en nombre de pipelines créables, en fonctionnalités prises en charge et en capacités de concurrence. Pour plus d'informations, consultez Présentation des pipelines.
Workflow
Un workflow est une séquence prédéfinie de jobs. Après le téléchargement d'un fichier dans le bucket Object Storage Service (OSS) spécifié, les jobs s'exécutent dans l'ordre selon les étapes et conditions que vous avez arrangées à l'avance.
Modèle de transcodage
Un modèle de transcodage est un ensemble de paramètres de traitement identifié par un ID unique. Utilisez un modèle de transcodage pour simplifier les opérations lors de la création d'un job de transcodage ou de l'utilisation d'un workflow. Selon la source de création, les modèles de transcodage sont classés en trois types. Pour plus d'informations, consultez Présentation des modèles de transcodage.
Modèle personnalisé — Modèle de transcodage que vous créez dans la console MPS ou en appelant une opération API. Aucun paramètre n'est personnalisé en arrière-plan.
Modèle adapté — Modèle de transcodage pour lequel MPS configure des paramètres personnalisés en arrière-plan selon vos exigences spécifiques. Ces paramètres personnalisés déterminent le résultat du traitement et les paramètres que vous configurez ne prennent pas effet. Les paramètres personnalisés ne sont pas visibles pour vous et ne peuvent pas être modifiés de votre côté.
Modèle prédéfini — Modèle de transcodage fourni par MPS pour différentes résolutions, adapté à une plage spécifique de bande passante réseau. Les modèles prédéfinis incluent des modèles statiques prédéfinis et des modèles intelligents prédéfinis. Les modèles statiques prédéfinis prennent en charge le transcodage standard, le transcodage audio, la conversion de format de conteneur, Narrowband HD™ 1,0 et Narrowband HD™ 2,0. Pour plus d'informations, accédez à la console MPS ou consultez Détails des modèles prédéfinis.
Job d'analyse de modèle
Un job d'analyse de modèle renvoie la liste des modèles prédéfinis disponibles pour un fichier d'entrée. Étant donné que les fichiers d'entrée varient en résolution, débit binaire et autres attributs, tous les modèles prédéfinis ne conviennent pas à un fichier d'entrée donné. Par conséquent, avant d'utiliser un modèle prédéfini, appelez l'opération Soumettre un job d'analyse de modèle. Pour récupérer le résultat, appelez l'opération QueryAnalysisJobList.
Modèle de filigrane
Un modèle de filigrane est un ensemble de paramètres utilisés pour ajouter un filigrane à une vidéo, tels que la position, le décalage et la taille du filigrane. Chaque modèle de filigrane est identifié par un ID unique. Pour ajouter un filigrane à une vidéo de sortie, spécifiez un modèle de filigrane ou transmettez directement les paramètres correspondants.
Concepts audio et vidéo
Transcodage
Le transcodage est le processus de conversion d'un flux audio ou vidéo compressé et encodé en un autre flux audio ou vidéo, afin de s'adapter à différentes bandes passantes réseau, capacités de traitement des terminaux et exigences des utilisateurs. Le transcodage consiste essentiellement en un processus de décodage suivi d'un processus d'encodage. Par conséquent, les flux avant et après la conversion peuvent utiliser ou non le même format d'encodage vidéo. H.264, H.265 et AV1 sont les formats d'encodage couramment utilisés.
Conversion de format de conteneur
La conversion de format de conteneur modifie le format de conteneur d'un fichier vidéo ou audio, par exemple en convertissant une vidéo AVI en MP4. Aucun encodage ou décodage audio ou vidéo n'est effectué. Le processus extrait les flux vidéo et audio compressés d'un fichier dans un format de conteneur donné, puis les reconditionne dans un fichier avec un autre format de conteneur. Par rapport au transcodage, la conversion de format de conteneur présente les deux caractéristiques suivantes :
Traitement extrêmement rapide — L'encodage et le décodage audio et vidéo sont hautement complexes et constituent la majeure partie du temps de transcodage. La conversion de format de conteneur ne nécessite ni encodage ni décodage, ce qui permet d'économiser beaucoup de temps de traitement.
Aucune perte de qualité audio ou vidéo — Comme aucun décodage (décompression) ni encodage (compression) n'est effectué, aucune perte de compression ne survient. Le fichier converti est presque identique au fichier d'origine en termes de résolution et de débit binaire.
Lors de la conversion de MP4 en M3U8 et TS, la taille du package augmente en raison des spécifications du protocole.
Résolution
La résolution décrit la capacité d'une vidéo à restituer les détails. Elle est généralement exprimée par le nombre de pixels dans chaque dimension. Par exemple, 1280 × 720 indique que la vidéo fait 1280 pixels de large et 720 pixels de haut. Une vidéo avec une résolution plus élevée contient plus de pixels, ce qui rend les détails de l'image plus fins et l'image plus nette.
La résolution est le principal facteur déterminant le débit binaire, et différentes résolutions nécessitent des débits binaires différents. Une résolution plus élevée nécessite généralement un débit binaire plus élevé, mais chaque résolution possède sa propre plage de débit binaire raisonnable. En dessous de cette plage, la qualité d'image est médiocre. Au-dessus de cette plage, la qualité d'image s'améliore peu ou pas du tout, et le trafic réseau ainsi que l'espace de stockage sont gaspillés.
Débit binaire
Le débit binaire représente le volume de données qu'un fichier vidéo utilise par unité de temps. Il est également appelé flux ou taux de flux, et constitue le facteur le plus important pour le contrôle de la qualité d'image dans l'encodage vidéo. Le débit binaire se mesure en bits par seconde (bit/s ou bps) et s'exprime couramment en Kbps (milliers de bits par seconde) ou Mbps. À résolution égale, un débit binaire plus élevé réduit le taux de compression et améliore la qualité d'image. Un débit binaire plus élevé signifie également un taux d'échantillonnage plus élevé par unité de temps et une précision accrue du flux de données, de sorte que le fichier traité reste plus proche du fichier d'origine et l'image est plus nette. En contrepartie, l'appareil de lecture nécessite des capacités de décodage plus élevées.
Un débit binaire plus élevé produit également un fichier plus volumineux. La taille du fichier se calcule selon la formule suivante : Taille du fichier = Durée × Débit binaire/8. Par exemple, un fichier vidéo 720p de 60 minutes avec un débit binaire de 1 Mbps, courant en ligne, a une taille d'environ 3600 secondes × 1 Mb/8 = 450 Mo.
Fréquence d'images
La fréquence d'images est l'unité de mesure du nombre d'images vidéo affichées par unité de temps, c'est-à-dire le nombre d'images actualisées par seconde. Elle se mesure en images par seconde (FPS) ou en hertz (Hz).
Une fréquence d'images plus élevée offre des images plus fluides et plus réalistes. En général, 25 à 30 FPS sont acceptables, et augmenter la fréquence d'images à 60 FPS améliore sensiblement l'interactivité et le réalisme. Au-delà de 75 FPS, cependant, les améliorations supplémentaires de fluidité sont difficiles à percevoir. Si la fréquence d'images dépasse le taux de rafraîchissement de l'écran, l'affichage ne peut pas suivre cette vitesse, de sorte que les images supplémentaires et la capacité de traitement graphique qui leur sont consacrées sont gaspillées. À résolution égale, une fréquence d'images plus élevée exige des capacités de traitement plus importantes de la part de la carte graphique.
Intervalle d'images clés vidéo (GOP)
Un groupe d'images (GOP) est un ensemble d'images consécutives au sein d'une vidéo ou d'un flux vidéo encodé en MPEG. Un GOP commence par une image I et se termine à la prochaine image I. Un GOP contient les types d'images suivants :
Image I (image codée intra) — Également appelée image intra-codée ou image clé. Une image I est une image indépendante qui contient toutes ses propres informations et peut être décodée sans référence à d'autres images. Vous pouvez la considérer comme une image fixe. La première image d'une séquence vidéo est toujours une image I, et chaque GOP commence par une image I.
Image P (image codée prédictive) — Également appelée image codée prédictive inter-trames. Une image P doit référencer l'image I précédente pour être encodée. Elle représente la différence entre l'image actuelle et l'image précédente, qui peut être une image I ou une image P. Lors du décodage, la différence définie par l'image actuelle est superposée à l'image précédemment mise en cache pour générer l'image finale. Comparée à une image I, une image P occupe généralement moins de bits de données. Cependant, en raison de ses dépendances complexes vis-à-vis des images P et I précédentes, elle est très sensible aux erreurs de transmission.
Image B (image codée prédictive bidirectionnelle) — Également appelée image codée prédictive bidirectionnelle. Une image B enregistre la différence entre l'image actuelle et les images précédente et suivante. Pour décoder une image B, vous devez obtenir l'image précédemment mise en cache et également décoder l'image suivante, puis superposer les deux aux données de l'image actuelle pour obtenir l'image finale. Les images B offrent un taux de compression élevé mais nécessitent des performances de décodage supérieures. La valeur GOP indique l'intervalle d'images clés, c'est-à-dire le nombre d'images entre deux images clés, la distance entre deux images IDR et le nombre maximal d'images dans un groupe d'images. En général, au moins une image clé est requise pour chaque seconde de vidéo. Augmenter le nombre d'images clés améliore la qualité vidéo mais augmente également la consommation de bande passante et la charge réseau. Pour obtenir l'intervalle de temps, divisez la valeur GOP en images par la fréquence d'images. Par exemple, une valeur GOP de 250 images à une fréquence d'images de 25 FPS donne un intervalle de temps de 10 secondes.
Maintenez la valeur GOP dans une plage raisonnable pour équilibrer la qualité vidéo, la taille du fichier (bande passante réseau) et le comportement de recherche (vitesse de réponse du déplacement et de l'avance rapide) :
Augmenter la valeur GOP aide à réduire la taille du fichier vidéo. Cependant, ne la définissez pas trop grande. Une valeur GOP excessivement élevée déforme les images dans les dernières trames du GOP et dégrade la qualité vidéo.
La valeur GOP est également un facteur clé affectant la vitesse de réponse de la recherche. Lors d'une recherche, le lecteur localise l'image clé précédente la plus proche de la position spécifiée. Une valeur GOP plus grande signifie que l'image clé peut être plus éloignée de la position spécifiée, de sorte que davantage d'images prédictives doivent être décodées et le temps de réponse de la recherche (temps de mise en mémoire tampon) est plus long.
Étant donné que les images P et B sont plus complexes que les images I, une valeur GOP excessivement élevée produit trop d'images P et B, ce qui réduit l'efficacité de l'encodage.
Cependant, si la valeur GOP est trop petite, vous devez augmenter le débit binaire de sortie de la vidéo pour éviter la dégradation de la qualité d'image, ce qui augmente la consommation de bande passante.
Profil d'encodage audio et vidéo
Un profil d'encodage est un ensemble de capacités d'encodage spécifiques pour une classe d'applications donnée.
H.264 définit les trois profils principaux suivants :
Baseline — Qualité d'image de base, adaptée aux appareils mobiles. Ce profil prend en charge les images I et P, et supporte uniquement le balayage progressif et le codage de longueur variable adaptatif au contexte (CAVLC).
Main — Qualité d'image grand public, adaptée aux appareils de définition standard, tels que les lecteurs MP4 avec des capacités de décodage relativement faibles, les lecteurs vidéo portables, les PSP et les iPods. Ce profil prend en charge les images I, P et B, supporte à la fois le balayage progressif et entrelacé, et prend en charge à la fois CAVLC et le codage arithmétique binaire adaptatif au contexte (CABAC).
High — Haute qualité d'image, adaptée aux appareils à haute résolution et grands écrans, tels que la diffusion, le stockage sur disque vidéo (Blu-ray Discs) et la télévision haute définition. En plus des capacités du profil Main, ce profil ajoute la prédiction intra 8 × 8, la quantification personnalisée, le codage vidéo sans perte et davantage de formats YUV.Les principaux profils AAC sont les suivants :
aac_low : AAC à faible complexité (LC)
aac_he : AAC à haute efficacité (HE-AAC)
aac_he_v2 : AAC à haute efficacité version 2 (HE-AACv2)
aac_ld : AAC à faible délai (LD)
aac_eld : AAC à faible délai amélioré (ELD)
Contrôle du débit binaire et passes d'encodage
Le contrôle du débit binaire est le processus de détermination du débit binaire de sortie lors de l'encodage vidéo. Deux paramètres fonctionnent conjointement : la méthode de contrôle du débit binaire, qui détermine comment le débit binaire de sortie est alloué, et le nombre de passes d'encodage, qui détermine combien de fois l'encodeur traite la vidéo. Les méthodes de contrôle du débit binaire couramment utilisées sont les suivantes :
CBR (débit binaire constant) — Mode à débit fixe dans lequel le fichier utilise un seul débit du début à la fin. Comparé au VBR et à l'ABR, le CBR produit des fichiers plus volumineux, et la qualité vidéo n'est pas sensiblement meilleure que celle du VBR et de l'ABR.
VBR (débit binaire variable) — Mode à débit dynamique, c'est-à-dire un débit non fixe. Lors de l'encodage audio et vidéo, le débit binaire est déterminé à la volée en fonction de la complexité du fichier d'entrée : des débits plus élevés sont alloués au contenu complexe et des débits plus faibles au contenu simple. Le VBR est généralement utilisé avec le mode d'encodage Two-Pass. Le VBR convient aux scénarios de stockage car il utilise l'espace de stockage limité de manière plus rationnelle, mais vous ne pouvez pas prédire la taille du fichier de sortie ni ses fluctuations de débit.
ABR (débit binaire moyen) — Méthode de contrôle du débit binaire par défaut d'Alibaba Cloud. L'ABR est un mode à débit moyen qui est une variante interpolée du VBR. LAME a créé ce mode d'encodage pour remédier au mauvais rapport taille/qualité du CBR et à la taille de fichier imprévisible du VBR. Dans une taille de fichier spécifiée, l'ABR divise le flux en segments de 50 images (30 images correspondent à environ une seconde), et utilise des débits relativement faibles pour les fréquences basses et moins perceptibles et des débits élevés pour le contenu à haute fréquence et les grandes plages dynamiques. L'ABR atteint le débit binaire spécifié dans une certaine plage de temps : les pics de débit local peuvent dépasser le débit spécifié, mais le débit moyen reste constant dans une plage raisonnable et l'encodage reste dynamique en fonction de la complexité. L'ABR peut donc être considéré comme un compromis entre le VBR et le CBR.
-
VBV (Video Buffering Verifier) — Le vérificateur de mise en mémoire tampon vidéo offre un moyen de maintenir le débit binaire en dessous d'une valeur maximale. Pour utiliser cette méthode, définissez le débit binaire de sortie de pointe (maxrate) et la taille du buffer (bufsize). VBV peut être utilisé avec l'encodage Two-Pass ou CRF. Cette dernière combinaison est également connue sous le nom de Capped CRF.
Bufsize — Taille du buffer vidéo. Définissez-la en fonction de la fluctuation de débit binaire attendue. Généralement, définissez bufsize au double de la valeur de maxrate. Si le client dispose d'un petit cache, définissez bufsize égal à maxrate. Pour limiter le débit binaire, définissez bufsize à la moitié de la valeur de maxrate ou moins.
CRF (constant rate factor) — Mode de facteur de contrôle de la qualité. La qualité vidéo est quantifiée en niveaux, où 0 est sans perte et 51 est le pire. Définir le CRF maintient la qualité vidéo subjective globale constante, de sorte que le débit binaire fluctue avec la complexité de la scène. (Recommandé) Si vous ne savez pas quel CRF utiliser, définissez une valeur entre 23 et 29. Ajustez-la en fonction de la complexité de l'image : chaque augmentation de 6 divise le débit binaire par deux, et chaque diminution de 6 le double. À définition égale, l'animation peut généralement être réglée plus haut que les prises de vue réelles. Le CRF offre une meilleure qualité vidéo, mais vous ne pouvez pas prédire la taille du fichier de sortie ni ses fluctuations de débit.
Capped CRF — Le débit binaire produit par le CRF n'est pas fixe. Vous pouvez utiliser le CRF conjointement avec VBV pour limiter la plage de fluctuation du débit binaire et éviter les pics de débit.MPS prend en charge les passes d'encodage suivantes :
One-Pass — Méthode d'encodage par défaut d'Alibaba Cloud. One-Pass encode plus rapidement que Two-Pass.
Two-Pass — L'encodeur s'exécute deux fois pour allouer le débit binaire avec précision et produire un fichier plus petit de meilleure qualité. La première passe analyse la vidéo et génère un fichier journal, et la seconde passe encode en fonction des résultats de l'analyse pour atteindre la meilleure qualité d'encodage. Two-Pass prend plus de temps que One-Pass, il ne peut donc pas être utilisé dans les scénarios nécessitant une grande réactivité du transcodage, tels que le streaming en direct et la communication en temps réel. Two-Pass est également inadapté lorsque la vidéo d'entrée est déjà fortement compressée, car des artefacts de blocage apparaissent.
Termes de la plateforme Alibaba Cloud
Région
Une région est un nœud de service Alibaba Cloud. Les services Alibaba Cloud sont disponibles dans différentes régions, vous permettant de sélectionner des services dans la région la plus proche de vous pour une latence d'accès plus faible et une meilleure expérience utilisateur.
Object Storage Service (OSS)
OSS désigne Alibaba Cloud Object Storage Service. ApsaraVideo Media Processing transcode les fichiers multimédias que vous stockez dans OSS, et les fichiers de sortie transcodés sont également stockés dans OSS. Pour plus d'informations sur les concepts OSS, consultez Termes OSS.
Bucket
Un bucket est un conteneur utilisé pour stocker des objets. Chaque objet appartient à un bucket. Un bucket possède divers attributs de configuration, notamment la région, les permissions d'accès et la classe de stockage. Vous pouvez créer différents types de buckets pour stocker différentes données selon vos besoins. Pour plus d'informations, consultez Bucket dans les termes OSS.
Objet
Les objets sont l'unité de base du stockage de données dans OSS et sont également appelés fichiers OSS. Contrairement à un système de fichiers traditionnel, OSS ne possède pas de structure de répertoire hiérarchique pour les objets. Un objet se compose de métadonnées d'objet (Object Meta), de données utilisateur (Data) et d'un nom de fichier (Key), et est identifié par une Key unique au sein du bucket. Les métadonnées d'objet sont un ensemble de paires clé-valeur décrivant les attributs de l'objet, tels que la dernière heure de modification et la taille. Vous pouvez également stocker des informations personnalisées dans les métadonnées. Pour plus d'informations, consultez Objet dans les termes OSS.
Paire AccessKey
Une AccessKey, ou AK en abrégé, désigne l'AccessKey ID et l'AccessKey secret utilisés pour la vérification de l'identité d'accès. OSS vérifie l'identité de l'expéditeur d'une demande en contrôlant une signature générée à partir de l'AccessKey ID et de l'AccessKey secret via un chiffrement symétrique. L'AccessKey ID identifie l'utilisateur. L'AccessKey secret est la clé que vous utilisez pour chiffrer les chaînes de signature et qu'OSS utilise pour vérifier les chaînes de signature. Gardez l'AccessKey secret confidentiel.
Il existe trois types d'AccessKeys :
Une AccessKey demandée par le propriétaire du bucket.
Une AccessKey accordée par le propriétaire du bucket à un demandeur tiers via une autorisation RAM.
Une AccessKey accordée par le propriétaire du bucket à un demandeur tiers via STS.Pour plus d'informations, consultez Créer une paire AccessKey.