Métadonnées de sortie
Avertissement
Azure Media Services sera mis hors service le 30 juin 2024. Pour plus d’informations, consultez le Guide de mise hors service AMS.
Un travail d’encodage est associé à un élément multimédia d’entrée (ou plusieurs) sur lequel vous souhaitez effectuer des tâches d’encodage. Par exemple, encoder un fichier MP4 en ensembles de fichiers MP4 à vitesse de transmission adaptative H.264, créer une miniature, créer des superpositions. À l’achèvement d’une tâche, une ressource de sortie est générée. L’élément multimédia de sortie contient de la vidéo, de l’audio, des miniatures et d’autres fichiers. L’élément multimédia de sortie contient également un fichier avec des métadonnées relatives à l’élément multimédia de sortie. Le nom du fichier JSON de métadonnées a le format suivant : <source_file_name>_manifest.json
(par exemple, BigBuckBunny_manifest.json
). Vous devez rechercher tout fichier *_metadata.json et interroger la chaîne du chemin d’accès au fichier pour trouver le nom de fichier source (sans troncation).
Media Services n’analyse pas de manière préemptive les éléments multimédias d’entrée pour générer des métadonnées. Les métadonnées d’entrée sont générées uniquement sous forme d’artefact quand un élément multimédia d’entrée est traité au sein d’un travail. Par conséquent, cet artefact est écrit dans l’élément multimédia de sortie. Différents outils sont utilisés pour générer des métadonnées pour les éléments multimédias d’entrée et de sortie. Ainsi, les métadonnées d’entrée présentent un schéma légèrement différent de celui des métadonnées de sortie.
Cet article décrit les éléments et types du schéma JSON sur lesquels les métadonnées de sortie (<source_file_name>_manifest.json) sont basées.
Longueur des caractères BaseName lors de l’utilisation des présélections CopyVideo ou CopyAudio
La macro de dénomination de fichier {baseName} utilisée dans la dénomination du fichier de métadonnées de sortie est réduite à 32 caractères lors de l’utilisation d’une présélection d’encodage standard ou d’une présélection personnalisée. Toutefois, pour éviter un conflit de dénomination lors de l’utilisation de l’une des opérations CopyCodec (CopyAudio ou CopyVideo) dans une présélection personnalisée, le {Basename} est limité à 64 caractères. Cela permet de prendre en charge les scénarios dans lesquels les clients souhaitent archiver tous les fichiers de sortie dans leur ressource. Si le nom de fichier est très long, les 32 premiers caractères peuvent être identiques sur plusieurs fichiers de sortie. Dans ce cas, les 32 premiers caractères pourraient produisent des fichiers de sortie en double lors de l’utilisation de CopyVideo ou CopyAudio. Par conséquent, le comportement de {Basename} consiste à conserver 64 caractères si CopyCodec est utilisé dans la présélection.
Vous pouvez trouver le code du schéma complet et un exemple de JSON à la fin de cet article.
AssetFile
Collection d’entrées AssetFile pour le travail d’encodage.
Nom | Description |
---|---|
Sources | Collection de fichiers multimédias d’entrée/source qui a été traitée afin de produire cet AssetFile. Exemple : "Sources": [{"Name": "Ignite-short_1280x720_AACAudio_3551.mp4"}] |
VideoTracks | Chaque élément AssetFile physique peut contenir zéro ou plusieurs pistes vidéo entrelacées dans un format de conteneur approprié. Consultez VideoTracks. |
AudioTracks | Chaque élément AssetFile physique peut contenir zéro ou plusieurs pistes audio entrelacées dans un format de conteneur approprié. Il s’agit de la collection de toutes les pistes audio. Pour plus d’informations, consultez AudioTracks. |
Nom Obligatoire |
Le nom du fichier multimédia. Exemple : "Name": "Ignite-short_1280x720_AACAudio_3551.mp4" |
Taille Obligatoire |
Taille du fichier de ressource en octets. Exemple : "Size": 32414631 |
Durée Obligatoire |
Durée de lecture du contenu. Pour plus d’informations, consultez le format ISO8601. Exemple : "Duration": "PT1M10.315S" |
VideoTracks
Chaque élément AssetFile physique peut contenir zéro ou plusieurs pistes vidéo entrelacées dans un format de conteneur approprié. L’élément VideoTracks représente une collection de toutes les pistes vidéo.
Nom | Description |
---|---|
Id Obligatoire |
Index de base zéro de cette piste vidéo. Remarque : Cet ID ne correspond pas nécessairement au TrackID tel qu’utilisé dans un fichier MP4. Exemple : "Id": 1 |
FourCC Obligatoire |
Code FourCC du codec vidéo signalé par ffmpeg. Exemple : "FourCC": "avc1" | "hev1" | "hvc1" |
Profil | Profil H264 (uniquement applicable au codec H264). Exemple : "Profile": "High" |
Niveau | Niveau H264 (uniquement applicable au codec H264). Exemple : "Level": "3.2" |
Width Obligatoire |
Largeur vidéo encodée en pixels. Exemple : "Width": "1280" |
Height Obligatoire |
Hauteur vidéo encodée en pixels. Exemple : "Height": "720" |
DisplayAspectRatioNumerator Obligatoire |
Numérateur des proportions d’affichage vidéo. Exemple : "DisplayAspectRatioNumerator": 16.0 |
DisplayAspectRatioDenominator Obligatoire |
Dénominateur des proportions d’affichage vidéo. Exemple : "DisplayAspectRatioDenominator": 9.0 |
Framerate Obligatoire |
Fréquence d’images vidéo mesurée au format .3f. Exemple : "Framerate": 29.970 |
Bitrate Obligatoire |
Vitesse de transmission vidéo moyenne en bits par seconde, telle que calculée à partir de l’AssetFile. Compte uniquement la charge utile de flux élémentaire et n’inclut pas la surcharge de packaging. Exemple : "Bitrate": 3551567 |
TargetBitrate Obligatoire |
Vitesse de transmission cible moyenne pour cette piste vidéo, comme demandé via les paramètres prédéfinis d’encodage, en bits par seconde. Exemple : "TargetBitrate": 3520000 |
AudioTracks
Chaque élément AssetFile physique peut contenir zéro ou plusieurs pistes audio entrelacées dans un format de conteneur approprié. L’élément AudioTracks représente une collection de toutes les pistes audio.
Nom | Description |
---|---|
Id Obligatoire |
Index de base zéro de cette piste audio. Remarque : Il ne s’agit pas nécessairement du TrackID tel qu’utilisé dans un fichier MP4. Exemple : "Id": 2 |
Codec | Chaîne du codec de piste audio. Exemple : "Codec": "aac" |
Langage | Exemple : "Language": "eng" |
Canaux Obligatoire |
Nombre de canaux audio. Exemple : "Channels": 2 |
SamplingRate Obligatoire |
Taux d’échantillonnage audio en échantillons/sec ou Hz. Exemple : "SamplingRate": 48000 |
Bitrate Obligatoire |
Débit binaire audio moyen en bits par seconde, tel que calculé à partir du fichier de ressource. Compte uniquement la charge utile de flux élémentaire et n’inclut pas la surcharge de packaging. Exemple : "Bitrate": 128041 |
Exemple de schéma JSON
{
"AssetFile": [
{
"Sources": [
{
"Name": "Ignite-short_1280x720_AACAudio_3551.mp4"
}
],
"VideoTracks": [
{
"Id": 1,
"FourCC": "avc1",
"Profile": "High",
"Level": "3.2",
"Width": "1280",
"Height": "720",
"DisplayAspectRatioNumerator": 16.0,
"DisplayAspectRatioDenominator": 9.0,
"Framerate": 29.970,
"Bitrate": 3551567,
"TargetBitrate": 3520000
}
],
"AudioTracks": [
{
"Id": 2,
"Codec": "aac",
"Language": "eng",
"Channels": 2,
"SamplingRate": 48000,
"Bitrate": 128041
}
],
"Name": "Ignite-short_1280x720_AACAudio_3551.mp4",
"Size": 32414631,
"Duration": "PT1M10.315S"
},
{
"Sources": [
{
"Name": "Ignite-short_960x540_AACAudio_2216.mp4"
}
],
"VideoTracks": [
{
"Id": 1,
"FourCC": "avc1",
"Profile": "High",
"Level": "3.1",
"Width": "960",
"Height": "540",
"DisplayAspectRatioNumerator": 16.0,
"DisplayAspectRatioDenominator": 9.0,
"Framerate": 29.970,
"Bitrate": 2216326,
"TargetBitrate": 2210000
}
],
"AudioTracks": [
{
"Id": 2,
"Codec": "aac",
"Language": "eng",
"Channels": 2,
"SamplingRate": 48000,
"Bitrate": 128041
}
],
"Name": "Ignite-short_960x540_AACAudio_2216.mp4",
"Size": 20680897,
"Duration": "PT1M10.315S"
},
{
"Sources": [
{
"Name": "Ignite-short_640x360_AACAudio_1150.mp4"
}
],
"VideoTracks": [
{
"Id": 1,
"FourCC": "avc1",
"Profile": "High",
"Level": "3.0",
"Width": "640",
"Height": "360",
"DisplayAspectRatioNumerator": 16.0,
"DisplayAspectRatioDenominator": 9.0,
"Framerate": 29.970,
"Bitrate": 1150440,
"TargetBitrate": 1150000
}
],
"AudioTracks": [
{
"Id": 2,
"Codec": "aac",
"Language": "eng",
"Channels": 2,
"SamplingRate": 48000,
"Bitrate": 128041
}
],
"Name": "Ignite-short_640x360_AACAudio_1150.mp4",
"Size": 11313920,
"Duration": "PT1M10.315S"
},
{
"Sources": [
{
"Name": "Ignite-short_480x270_AACAudio_722.mp4"
}
],
"VideoTracks": [
{
"Id": 1,
"FourCC": "avc1",
"Profile": "High",
"Level": "2.1",
"Width": "480",
"Height": "270",
"DisplayAspectRatioNumerator": 16.0,
"DisplayAspectRatioDenominator": 9.0,
"Framerate": 29.970,
"Bitrate": 722682,
"TargetBitrate": 720000
}
],
"AudioTracks": [
{
"Id": 2,
"Codec": "aac",
"Language": "eng",
"Channels": 2,
"SamplingRate": 48000,
"Bitrate": 128041
}
],
"Name": "Ignite-short_480x270_AACAudio_722.mp4",
"Size": 7554708,
"Duration": "PT1M10.315S"
},
{
"Sources": [
{
"Name": "Ignite-short_320x180_AACAudio_380.mp4"
}
],
"VideoTracks": [
{
"Id": 1,
"FourCC": "avc1",
"Profile": "High",
"Level": "1.3",
"Width": "320",
"Height": "180",
"DisplayAspectRatioNumerator": 16.0,
"DisplayAspectRatioDenominator": 9.0,
"Framerate": 29.970,
"Bitrate": 380655,
"TargetBitrate": 380000
}
],
"AudioTracks": [
{
"Id": 2,
"Codec": "aac",
"Language": "eng",
"Channels": 2,
"SamplingRate": 48000,
"Bitrate": 128041
}`
],
"Name": "Ignite-short_320x180_AACAudio_380.mp4",
"Size": 4548932,
"Duration": "PT1M10.315S"
}
]
}
Obtenir de l’aide et du support
Vous pouvez contacter Media Services pour toute question ou suivre nos mises à jour selon l’une des méthodes suivantes :
- Q & R
-
Stack Overflow. Étiquetez les questions avec
azure-media-services
. - @MSFTAzureMedia ou utiliser @AzureSupport pour demander de l’aide.
- Ouvrez un ticket de support via le Portail Azure.