Compartilhar via


Metadados de saída

Logotipo dos Serviços de Mídia v3


Aviso

Os Serviços de Mídia do Azure serão desativados em 30 de junho de 2024. Para obter mais informações, consulte o Guia de Desativação do AMS.

Um trabalho de codificação é associado um ativo (ou ativos) de entrada no qual você deseja executar algumas tarefas de codificação. Por exemplo, codificar um arquivo MP4 em conjuntos de taxa de bits adaptável MP4 H.264; criar uma miniatura; criar sobreposições. Após a conclusão de uma tarefa, um ativo de saída é produzido. O ativo de saída contém vídeo, áudio, miniaturas e outros arquivos. O ativo de saída também contém um arquivo com metadados sobre o ativo de saída. O nome do arquivo JSON de metadados tem o seguinte formato: <source_file_name>_manifest.json (por exemplo, BigBuckBunny_manifest.json). Você deve examinar em busca de qualquer * _metadata.json e consultar a cadeia de caracteres filepath nele para localizar o nome de arquivo de origem (sem truncamento).

Os Serviços de Mídia não analisam preventivamente os ativos de entrada para gerar metadados. Os metadados de entrada são gerados apenas como um artefato quando um ativo de entrada é processado em um trabalho. Portanto, este artefato é gravado no ativo de saída. Diferentes ferramentas são usadas para gerar metadados para ativos de entrada e ativos de saída. Portanto, os metadados de entrada têm um esquema um pouco diferente dos metadados de saída.

Este artigo discute os elementos e tipos do esquema JSON no qual os metadados de saída (<nome_do_arquivo_de_origem>_manifest.json) é baseado.

Tamanho do caractere BaseName ao usar predefinições CopyVideo ou CopyAudio

A macro de nomenclatura de arquivo {baseName} usada na nomenclatura do arquivo de metadados de saída é reduzida para 32 caracteres ao usar qualquer predefinição de codificação padrão ou predefinição personalizada. No entanto, para evitar um conflito de nomenclatura ao usar uma das operações CopyCodec (CopyAudio ou CopyVideo) em uma predefinição personalizada, o {Basename} é limitado a 64 caracteres. Isso é para dar suporte a cenários em que os clientes desejam arquivar todos os arquivos de saída em seu ativo. Se o nome do arquivo for muito longo, os primeiros 32 caracteres poderão ser os mesmos em vários arquivos de saída. Nesse caso, os primeiros 32 caracteres produziriam arquivos de saída duplicados ao usar CopyVideo ou CopyAudio. Como resultado, o comportamento de {Basename} deverá reter 64 caracteres se CopyCodec for usado na predefinição.

Você pode encontrar o código de esquema completo e o exemplo JSON no final deste artigo.

AssetFile

Coleção de entradas AssetFile do trabalho de codificação.

Nome Descrição
Fontes Coleção de arquivos de mídia de entrada/origem, que foi processada para produzir esse AssetFile.
Exemplo: "Sources": [{"Name": "Ignite-short_1280x720_AACAudio_3551.mp4"}]
VideoTracks Cada AssetFile físico pode conter zero ou mais faixas de vídeos intercaladas em um formato de contêiner apropriado.
Consulte VideoTracks.
AudioTracks Cada AssetFile físico pode conter zero ou mais faixas de áudio intercaladas em um formato de contêiner apropriado. Esta é a coleção de todas essas faixas de áudio.
Para obter mais informações, consulte AudioTracks.
Nome
Obrigatório
O nome de arquivo de ativo de mídia.

Exemplo: "Name": "Ignite-short_1280x720_AACAudio_3551.mp4"
Tamanho
Obrigatório
Tamanho do arquivo de ativo em bytes.

Exemplo: "Size": 32414631
Duration
Obrigatório
Duração da reprodução de conteúdo. Para obter mais informações, consulte o formato ISO8601.

Exemplo: "Duration": "PT1M10.315S"

VideoTracks

Cada AssetFile físico pode conter zero ou mais faixas de vídeos intercaladas em um formato de contêiner apropriado. O elemento VideoTracks representa uma coleção de todas as faixas de vídeos.

Nome Descrição
Id
Obrigatório
Índice baseado em zero desta faixa de vídeo. Observação: essa ID não é necessariamente a TrackID usada em um arquivo MP4.

Exemplo: "Id": 1
FourCC
Obrigatório
Código FourCC do codec de vídeo que é relatado por ffmpeg.

Exemplo: "FourCC": "avc1" | "hev1" | "hvc1"
Perfil Perfil H264 (aplicável somente ao codec H264)

Exemplo: "Profile": "High"
Level Nível H264 (aplicável somente ao codec H264).

Exemplo: "Level": "3.2"
Largura
Obrigatório
Largura do vídeo codificado em pixels.

Exemplo: "Width": "1280"
Altura
Obrigatório
Altura do vídeo codificado em pixels.

Exemplo: "Height": "720"
DisplayAspectRatioNumerator
Obrigatório
Numerador de taxa de proporção de exibição do vídeo.

Exemplo: "DisplayAspectRatioNumerator": 16.0
DisplayAspectRatioDenominator
Obrigatório
Denominador de taxa de proporção de exibição do vídeo.

Exemplo: "DisplayAspectRatioDenominator": 9.0
Framerate
Obrigatório
Medida de taxa de quadros de vídeo em formato .3f.

Exemplo: "Framerate": 29.970
Bitrate
Obrigatório
Taxa de bits de vídeo média em bits por segundo, calculada com base no AssetFile. Conta apenas o conteúdo de transmissão elementar e não inclui a sobrecarga de empacotamento.

Exemplo: "Bitrate": 3551567
TargetBitrate
Obrigatório
Taxa de bits média de destino para esta faixa de vídeo, conforme solicitada através da predefinição da codificação, em bits por segundo.

Exemplo: "TargetBitrate": 3520000

AudioTracks

Cada AssetFile físico pode conter zero ou mais faixas de áudio intercaladas em um formato de contêiner apropriado. O elemento AudioTracks representa uma coleção de todas essas faixas de áudio.

Nome Descrição
Id
Obrigatório
Índice baseado em zero desta faixa de áudio. Observação: essa não é necessariamente a TrackID usada em um arquivo MP4.

Exemplo: "Id": 2
Codec Cadeia de caracteres de codec de faixa de áudio.

Exemplo: "Codec": "aac"
Idioma Exemplo: "Language": "eng"
Canais
Obrigatório
Número de canais de áudio.

Exemplo: "Channels": 2
SamplingRate
Obrigatório
Taxa de amostragem de áudio em amostras/s ou Hz.

Exemplo: "SamplingRate": 48000
Bitrate
Obrigatório
Taxa média de bits de áudio em bits por segundo, calculada com base no AssetFile. Conta apenas o conteúdo de transmissão elementar e não inclui a sobrecarga de empacotamento.

Exemplo: "Bitrate": 128041

Exemplo de esquema 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"
    }
  ]
}

Obter ajuda e suporte

Você pode entrar em contato com os Serviços de Mídia com dúvidas ou seguir nossas atualizações por um dos seguintes métodos: