Teilen über


Ausgeben von Metadaten

Media Services-Logo v3


Warnung

Azure Media Services wird am 30. Juni 2024 eingestellt. Weitere Informationen finden Sie im Leitfaden zur Einstellung von AMS.

Ein Codierauftrag ist einem Eingabeasset (oder mehreren) zugeordnet, für das Sie einige Codieraufgaben durchführen möchten. Beispiele: Codieren einer MP4-Datei in H.264 MP4 Adaptive Bitrate-Sätze, Erstellen einer Miniaturansicht, Erstellen von Überlagerungen. Nach Abschluss einer Aufgabe wird ein Ausgabeasset erzeugt. Das Ausgabeasset enthält Video-, Audio-, Miniaturansichts- und weitere Dateien. Das Ausgabeasset enthält auch eine Datei mit Metadaten zum Ausgabeasset. Der Name der JSON-Metadatendatei weist das folgende Format auf: <source_file_name>_manifest.json (Beispiel: BigBuckBunny_manifest.json). Sie sollten nach „*_metadata.json“ suchen und die enthaltene Dateipfad-Zeichenfolge abfragen, um den Quelldateinamen (ohne Kürzung) zu suchen.

Media Services scannt Eingabeobjekte nicht im Vorhinein, um Metadaten zu generieren. Eingabemetadaten werden nur dann als Artefakt generiert, wenn ein Eingabeasset in einem Auftrag verarbeitet wird. Dieses Artefakt wird dann in das Ausgabeasset geschrieben. Zum Generieren von Metadaten für Eingabe- und Ausgabeobjekte werden verschiedene Tools eingesetzt. Deshalb weicht das Schema der Eingabemetadaten leicht von dem der Ausgabemetadaten ab.

In diesem Artikel werden die Elemente und Typen des JSON-Schemas beschrieben, auf denen die Ausgabemetadaten (<Quelldateiname>_manifest.json) basieren.

BaseName-Zeichenlänge für die Voreinstellungen CopyVideo und CopyAudio

Das für die Benennung der ausgegebenen Metadatendatei verwendete Dateinamensmakro {baseName} wird bei standardmäßigen Codierungsvoreinstellungen und benutzerdefinierten Voreinstellungen auf 32 Zeichen gekürzt. Zur Vermeidung von Namenskonflikten bei Verwendung einer der CopyCodec-Operationen (CopyAudio oder CopyVideo) in einer benutzerdefinierten Voreinstellung ist {BaseName} auf 64 Zeichen beschränkt. Dadurch werden auch Szenarien unterstützt, in denen alle Ausgabedateien eines Medienobjekts archiviert werden sollen. Bei sehr langen Dateinamen sind die ersten 32 Zeichen zueinander gehöriger Ausgabedateien oft identisch. In diesem Fall würde eine Kürzung auf 32 Zeichen bei CopyVideo oder CopyAudio zu doppelten Ausgabedateien führen. Daher werden bei Verwendung von CopyCodec in einer Voreinstellung weiterhin 64 Zeichen für {BaseName} unterstützt.

Sie finden den vollständigen Schemacode und das JSON-Beispiel am Ende des Artikels.

AssetFile

Sammlung von „AssetFile“-Einträgen für den Codierauftrag.

Name BESCHREIBUNG
Sources Sammlung von Eingabe-/Quellmediendateien, die verarbeitet wurde, um diese Medienobjektdatei zu erzeugen.
Beispiel: "Sources": [{"Name": "Ignite-short_1280x720_AACAudio_3551.mp4"}]
VideoTracks Jede physische Medienobjektdatei kann null oder mehr Videospuren enthalten, die zu einem entsprechenden Containerformat zusammengeführt werden.
Siehe dazu VideoTracks.
AudioTracks Jede physische Medienobjektdatei kann null oder mehr Audiospuren enthalten, die zu einem entsprechenden Containerformat zusammengeführt werden. Dies ist die Sammlung aller dieser Audiospuren.
Weitere Informationen finden Sie unter AudioTracks.
Name
Erforderlich
Der Name der Medienobjektdatei.

Beispiel: "Name": "Ignite-short_1280x720_AACAudio_3551.mp4"
Größe
Erforderlich
Größe der Assetdatei in Byte

Beispiel: "Size": 32414631
Duration
Erforderlich
Dauer der Inhaltswiedergabe. Weitere Informationen finden Sie in der Dokumentation zum ISO8601-Format.

Beispiel: "Duration": "PT1M10.315S"

VideoTracks

Jede physische Medienobjektdatei kann null oder mehr Videospuren enthalten, die zu einem entsprechenden Containerformat zusammengeführt werden. Das VideoTracks-Element stellt eine Sammlung aller Videotitel dar.

Name BESCHREIBUNG
Id
Erforderlich
Nullbasierter Index dieser Videospur. Hinweis: Diese Id ist nicht unbedingt die „TrackID“, die in einer MP4-Datei verwendet wird.

Beispiel: "Id": 1
FourCC
Erforderlich
FourCC-Code des Videocodecs, der von ffmpeg gemeldet wird.

Beispiel: "FourCC": "avc1" | "hev1" | "hvc1"
Profil H264-Profil (gilt nur für den H264-Codec)

Beispiel: "Profile": "High"
Level H264-Pegel (gilt nur für den H264-Codec).

Beispiel: "Level": "3.2"
Width
Erforderlich
Breite des codierten Videos in Pixel

Beispiel: "Width": "1280"
Height
Erforderlich
Höhe des codierten Videos in Pixel

Beispiel: "Height": "720"
DisplayAspectRatioNumerator
Erforderlich
Seitenverhältnis-Zähler der Videoanzeige

Beispiel: "DisplayAspectRatioNumerator": 16.0
DisplayAspectRatioDenominator
Erforderlich
Seitenverhältnis-Nenner der Videoanzeige

Beispiel: "DisplayAspectRatioDenominator": 9.0
Framerate
Erforderlich
Gemessene Videobildfrequenz im Format „.3f“

Beispiel: "Framerate": 29.970
Bitrate
Erforderlich
Durchschnittliche Videobitrate in Bits pro Sekunde gemäß Berechnung anhand der Objektdatei. Zählt nur die elementare Datenstrom-Nutzlast, ohne den Aufwand für das Packen einzubeziehen.

Beispiel: "Bitrate": 3551567
TargetBitrate
Erforderlich
Durchschnittliche Bitrate dieser Videospur entsprechend der Anforderung der Codierungsvoreinstellung in Bit/s.

Beispiel: "TargetBitrate": 3520000

AudioTracks

Jede physische Medienobjektdatei kann null oder mehr Audiospuren enthalten, die zu einem entsprechenden Containerformat zusammengeführt werden. Das AudioTracks-Element stellt eine Sammlung aller Audiotitel dar.

Name BESCHREIBUNG
Id
Erforderlich
Nullbasierter Index dieser Videospur. Hinweis: Dies ist nicht unbedingt die „TrackID“, die in einer MP4-Datei verwendet wird.

Beispiel: "Id": 2
Codec Codec-Zeichenfolge der Audiospur.

Beispiel: "Codec": "aac"
Sprache Beispiel: "Language": "eng"
Channels
Erforderlich
Anzahl der Audiokanäle.

Beispiel: "Channels": 2
SamplingRate
Erforderlich
Audiosamplingrate in Stichproben/Sekunde oder Hz

Beispiel: "SamplingRate": 48000
Bitrate
Erforderlich
Die durchschnittliche Audiobitrate in Bit/s gemäß Berechnung anhand der Medienobjektdatei. Zählt nur die elementare Datenstrom-Nutzlast, ohne den Aufwand für das Packen einzubeziehen.

Beispiel: "Bitrate": 128041

Beispiel für das JSON-Schema

{
  "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"
    }
  ]
}

Anfordern von Hilfe und Support

Sie können Media Services mit Fragen kontaktieren oder unsere Updates mit einer der folgenden Methoden verfolgen: