Partilhar via


Metadados de saída

Logótipo dos Serviços de Multimédia v3


Aviso

Os Serviços de Multimédia do Azure serão descontinuados a 30 de junho de 2024. Para obter mais informações, veja o Guia de Extinção do AMS.

Uma tarefa de codificação está associada a um recurso de entrada (ou recursos) no qual pretende realizar algumas tarefas de codificação. Por exemplo, codificar um ficheiro MP4 para conjuntos de velocidade de transmissão adaptáveis H.264 MP4; criar uma miniatura; criar sobreposições. Após a conclusão de uma tarefa, é produzido um recurso de saída. O elemento de saída contém vídeo, áudio, miniaturas e outros ficheiros. O recurso de saída também contém um ficheiro com metadados sobre o recurso de saída. O nome do ficheiro JSON de metadados tem o seguinte formato: <source_file_name>_manifest.json (por exemplo, BigBuckBunny_manifest.json). Deve procurar qualquer *_metadata.json e consultar a cadeia filepath no para localizar o nome do ficheiro de origem (sem truncagem).

Os Serviços de Multimédia não analisam preventivamente os recursos de entrada para gerar metadados. Os metadados de entrada são gerados apenas como um artefacto quando um recurso de entrada é processado numa tarefa. Por conseguinte, este artefacto é escrito no elemento de saída. São utilizadas diferentes ferramentas para gerar metadados para recursos de entrada e recursos de saída. Por conseguinte, os metadados de entrada têm um esquema ligeiramente diferente dos metadados de saída.

Este artigo aborda os elementos e tipos do esquema JSON no qual se baseiam os metadados de saída (<source_file_name>_manifest.json).

Comprimento do caráter BaseName ao utilizar as predefinições CopyVideo ou CopyAudio

A macro de nomenclatura de ficheiros {baseName} utilizada na nomenclatura do ficheiro de metadados de saída é reduzida para 32 carateres ao utilizar qualquer predefinição de codificação padrão ou predefinição personalizada. No entanto, para evitar um conflito de nomenclatura ao utilizar uma das operações CopyCodec (CopyAudio ou CopyVideo) numa predefinição personalizada, o {Basename} está limitado a 64 carateres. Isto destina-se a suportar cenários em que os clientes querem arquivar todos os ficheiros de saída no respetivo recurso. Se o nome do ficheiro for muito longo, os primeiros 32 carateres poderão ser os mesmos em vários ficheiros de saída. Neste caso, os primeiros 32 carateres produziriam ficheiros de saída duplicados ao utilizar CopyVideo ou CopyAudio. Como resultado, o comportamento de {Basename} é reter 64 carateres se CopyCodec for utilizado na predefinição.

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

AssetFile

Coleção de entradas AssetFile para a tarefa de codificação.

Nome Descrição
Origens Coleção de ficheiros de multimédia de entrada/origem, que foi processada para produzir este AssetFile.
Exemplo: "Sources": [{"Name": "Ignite-short_1280x720_AACAudio_3551.mp4"}]
VideoTracks Cada AssetFile físico pode conter no mesmo zero ou mais faixas de vídeos intercaladas num formato de contentor adequado.
Veja VideoTracks.
AudioTracks Cada AssetFile físico pode conter no mesmo zero ou mais faixas de áudio intercaladas num formato de contentor adequado. Esta é a coleção de todas essas faixas de áudio.
Para obter mais informações, veja AudioTracks.
Nome
Necessário
O nome do ficheiro de recurso de multimédia.

Exemplo: "Name": "Ignite-short_1280x720_AACAudio_3551.mp4"
Tamanho
Necessário
Tamanho do ficheiro de recursos em bytes.

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

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

VideoTracks

Cada AssetFile físico pode conter no mesmo zero ou mais faixas de vídeos intercaladas num formato de contentor adequado. O elemento VideoTracks representa uma coleção de todas as faixas de vídeo.

Nome Descrição
ID
Necessário
Índice baseado em zero desta faixa de vídeo. Nota: Este ID não é necessariamente o TrackID utilizado num ficheiro MP4.

Exemplo: "Id": 1
FourCC
Necessário
Código FourCC do codec de vídeo comunicado pelo ffmpeg.

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

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

Exemplo: "Level": "3.2"
Width
Necessário
Largura de vídeo codificada em píxeis.

Exemplo: "Width": "1280"
Height
Necessário
Altura de vídeo codificada em píxeis.

Exemplo: "Height": "720"
DisplayAspectRatioNumerator
Necessário
Numerador de proporção de visualização de vídeo.

Exemplo: "DisplayAspectRatioNumerator": 16.0
DisplayAspectRatioDenominator
Necessário
O vídeo apresenta o denominador de proporção.

Exemplo: "DisplayAspectRatioDenominator": 9.0
Taxa de fotogramas
Necessário
Taxa de fotogramas de vídeo medida no formato .3f.

Exemplo: "Framerate": 29.970
Velocidade de transmissão
Necessário
Taxa média de bits de vídeo em bits por segundo, conforme calculado a partir do AssetFile. Conta apenas o payload de fluxo elementar e não inclui a sobrecarga da embalagem.

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

Exemplo: "TargetBitrate": 3520000

AudioTracks

Cada AssetFile físico pode conter no mesmo zero ou mais faixas de áudio intercaladas num formato de contentor adequado. O elemento AudioTracks representa uma coleção de todas essas faixas de áudio.

Nome Descrição
ID
Necessário
Índice baseado em zero desta faixa de áudio. Nota: Este não é necessariamente o TrackID utilizado num ficheiro MP4.

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

Exemplo: "Codec": "aac"
Linguagem Exemplo: "Language": "eng"
Channels (Canais)
Necessário
Número de canais de áudio.

Exemplo: "Channels": 2
AmostragemRate
Necessário
Taxa de amostragem de áudio em exemplos/seg ou Hz.

Exemplo: "SamplingRate": 48000
Velocidade de transmissão
Necessário
Taxa média de bits de áudio em bits por segundo, conforme calculado a partir do AssetFile. Conta apenas o payload de fluxo elementar e não inclui a sobrecarga da embalagem.

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

Pode contactar os Serviços de Multimédia com perguntas ou seguir as nossas atualizações através de um dos seguintes métodos: