Partager via


Métadonnées de sortie

Logo de Media Services v3


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 :