Metadati di output
Avviso
Servizi multimediali di Azure verrà ritirato il 30 giugno 2024. Per altre informazioni, vedere la Guida al ritiro di AMS.
Un processo di codifica è associato uno (o più) asset di input in cui si desidera eseguire alcune attività di codifica. Ad esempio, codificare un file MP4 in set di velocità in bit adattivi MP4 H.264; creare un'anteprima; creare le sovrimpressioni. Al termine di un'attività, viene generato un asset di output. L'asset di output contiene video, audio, anteprime e altri file. L'asset di output include anche un file contenente i metadati dell'asset di output. Il nome del file JSON dei metadati ha il formato seguente: <source_file_name>_manifest.json
ad esempio , BigBuckBunny_manifest.json
. È necessario eseguire l'analisi di qualsiasi *_metadata.json ed eseguire una query sulla stringa filepath all'interno per trovare il nome file di origine (senza troncamento).
Servizi multimediali non analizza in modo preliminare gli asset di input per generare metadati. I metadati di input vengono generati solo come artefatto quando un asset di input viene elaborato in un processo. Di conseguenza, questo artefatto viene scritto nell'asset di output. Vengono usati diversi strumenti per generare metadati per gli asset di input e gli asset di output. Di conseguenza, i metadati di input hanno uno schema leggermente diverso rispetto ai metadati di output.
Questo articolo illustra gli elementi e i tipi dello schema JSON in cui sono basati i metadati di output (<source_file_name>_manifest.json).
Lunghezza dei caratteri BaseName quando si usano i set di impostazioni CopyVideo o CopyAudio
La macro di denominazione del file {baseName} usata nella denominazione del file di metadati di output viene abbreviata a 32 caratteri quando si usano impostazioni predefinite di codifica standard o set di impostazioni personalizzate. Tuttavia, per evitare un conflitto di denominazione quando si usa una delle operazioni CopyCodec (CopyAudio o CopyVideo) in un set di impostazioni personalizzato, {Basename} è limitato a 64 caratteri. Si tratta di supportare scenari in cui i clienti vogliono archiviare tutti i file di output nel proprio asset. Se il nome file è molto lungo, i primi 32 caratteri potrebbero essere uguali tra più file di output. In questo caso, i primi 32 caratteri producono file di output duplicati quando si usa CopyVideo o CopyAudio. Di conseguenza, il comportamento {Basename} consiste nel conservare 64 caratteri se CopyCodec viene usato nel set di impostazioni.
È possibile trovare il codice dello schema completo e l'esempio JSON alla fine di questo articolo.
AssetFile
Raccolta di elementi AssetFile per il processo di codifica.
Nome | Descrizione |
---|---|
recenti | Raccolta di file multimediali di input/origine elaborata per produrre questo AssetFile. Esempio: "Sources": [{"Name": "Ignite-short_1280x720_AACAudio_3551.mp4"}] |
VideoTracks | Ogni elemento AssetFile fisico può contenere da zero a più tracce video con interfoliazione in un formato contenitore appropriato. Vedere VideoTracks. |
AudioTrack | Ogni elemento AssetFile fisico può contenere da zero a più tracce audio con interfoliazione in un formato contenitore appropriato. Questa è la raccolta di tutte queste tracce audio. Per altre informazioni, vedere AudioTracks. |
Nome Necessario |
Il nome dell'asset di file multimediale. Esempio: "Name": "Ignite-short_1280x720_AACAudio_3551.mp4" |
Size Necessario |
Dimensioni del file di asset in byte. Esempio: "Size": 32414631 |
Duration Necessario |
Durata della riproduzione del contenuto. Per altre informazioni, vedere il formato ISO8601 . Esempio: "Duration": "PT1M10.315S" |
VideoTracks
Ogni elemento AssetFile fisico può contenere da zero a più tracce video con interfoliazione in un formato contenitore appropriato. L'elemento VideoTracks rappresenta una raccolta di tutte le tracce video.
Nome | Description |
---|---|
Id Necessario |
Indice in base zero di questa traccia video. Nota: Questo ID non è necessariamente il TrackID usato in un file MP4. Esempio: "Id": 1 |
FourCC Necessario |
Codice FourCC del codec video segnalato da ffmpeg. Esempio: "FourCC": "avc1" | "hev1" | "hvc1" |
Profilo | Profilo H264 (applicabile solo al codec H264) Esempio: "Profile": "High" |
Level | Livello H264 (applicabile solo al codec H264). Esempio: "Level": "3.2" |
Width Necessario |
Larghezza del video codificata in pixel. Esempio: "Width": "1280" |
Altezza Necessario |
Altezza del video codificata in pixel. Esempio: "Height": "720" |
DisplayAspectRatioNumerator Necessario |
Numeratore delle proporzioni della visualizzazione video. Esempio: "DisplayAspectRatioNumerator": 16.0 |
DisplayAspectRatioDenominator Necessario |
Denominatore delle proporzioni della visualizzazione video. Esempio: "DisplayAspectRatioDenominator": 9.0 |
Framerate Necessario |
Frequenza dei frame misurata in formato .3F. Esempio: "Framerate": 29.970 |
Bitrate Necessario |
Velocità media dei bit video in bit al secondo, calcolata da AssetFile. Conta solo il payload del flusso elementare e non include il sovraccarico dovuto alla creazione di pacchetti. Esempio: "Bitrate": 3551567 |
TargetBitrate Necessario |
Velocità in bit media di destinazione per questa traccia video, come richiesto tramite il set di impostazioni di codifica, in bit al secondo. Esempio: "TargetBitrate": 3520000 |
AudioTrack
Ogni elemento AssetFile fisico può contenere da zero a più tracce audio con interfoliazione in un formato contenitore appropriato. L'elemento AudioTracks rappresenta una raccolta di tutte le tracce audio.
Nome | Description |
---|---|
Id Necessario |
Indice in base zero di questa traccia audio. Nota: Questo non è necessariamente il TrackID usato in un file MP4. Esempio: "Id": 2 |
Codec | Stringa del codec della traccia audio. Esempio: "Codec": "aac" |
Lingua | Esempio: "Language": "eng" |
Canali Necessario |
Numero dei canali audio. Esempio: "Channels": 2 |
SamplingRate Necessario |
Frequenza di campionamento dell'audio in campioni/sec o Hz. Esempio: "SamplingRate": 48000 |
Bitrate Necessario |
Velocità media in bit audio in bit al secondo, calcolata in base all'elemento AssetFile. Conta solo il payload del flusso elementare e non include il sovraccarico dovuto alla creazione di pacchetti. Esempio: "Bitrate": 128041 |
Esempio di schema 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"
}
]
}
Guida e supporto tecnico
È possibile contattare Servizi multimediali con domande o seguire gli aggiornamenti tramite uno dei metodi seguenti:
- DOMANDE E RISPOSTE
-
Stack Overflow. Contrassegna le domande con
azure-media-services
. - @MSFTAzureMedia o usare @AzureSupport per richiedere supporto.
- Aprire un ticket di supporto tramite il portale di Azure.