Udostępnij za pośrednictwem


Metadane wyjściowe

Logo usługi Media Services w wersji 3


Ostrzeżenie

Usługa Azure Media Services zostanie wycofana 30 czerwca 2024 r. Aby uzyskać więcej informacji, zobacz Przewodnik po wycofaniu usługi AMS.

Zadanie kodowania jest skojarzone z zasobem wejściowym (lub zasobami), na którym chcesz wykonać pewne zadania kodowania. Na przykład kodowanie pliku MP4 do zestawów adaptacyjnej szybkości transmisji bitów H.264 MP4; utwórz miniaturę; tworzenie nakładek. Po zakończeniu zadania tworzony jest zasób wyjściowy. Zasób wyjściowy zawiera wideo, dźwięk, miniatury i inne pliki. Zasób wyjściowy zawiera również plik z metadanymi dotyczącymi elementu zawartości wyjściowej. Nazwa pliku JSON metadanych ma następujący format: <source_file_name>_manifest.json (na przykład BigBuckBunny_manifest.json). Należy wyszukać dowolne *_metadata.json i wykonać zapytanie dotyczące ciągu ścieżki plików w programie , aby znaleźć nazwę pliku źródłowego (bez obcinania).

Usługa Media Services nie skanuje wstępnie zasobów wejściowych w celu wygenerowania metadanych. Metadane wejściowe są generowane tylko jako artefakt, gdy zasób wejściowy jest przetwarzany w zadaniu. W związku z tym ten artefakt jest zapisywany w zasobie wyjściowym. Różne narzędzia służą do generowania metadanych dla zasobów wejściowych i zasobów wyjściowych. W związku z tym metadane wejściowe mają nieco inny schemat niż metadane wyjściowe.

W tym artykule omówiono elementy i typy schematu JSON, na którym są oparte metadane wyjściowe (<source_file_name>_manifest.json).

Długość znaku BaseName w przypadku używania ustawień wstępnych CopyVideo lub CopyAudio

Makro nazewnictwa plików {baseName} używane w nazewnictwie pliku metadanych wyjściowych jest skracane do 32 znaków w przypadku używania standardowego ustawienia wstępnego kodowania lub niestandardowego ustawienia wstępnego. Jednak aby uniknąć konfliktu nazewnictwa w przypadku używania jednej z operacji CopyCodec (CopyAudio lub CopyVideo) w niestandardowym ustawieniu wstępnym, element {Basename} jest ograniczony do 64 znaków. Jest to obsługa scenariuszy, w których klienci chcą zarchiwizować wszystkie pliki wyjściowe w swoim zasobie. Jeśli nazwa pliku jest bardzo długa, pierwsze 32 znaki mogą być takie same w wielu plikach wyjściowych. W takim przypadku pierwsze 32 znaki będą generować zduplikowane pliki wyjściowe podczas korzystania z copyvideo lub CopyAudio. W związku z tym zachowanie {Basename} polega na zachowaniu 64 znaków, jeśli element CopyCodec jest używany w ustawieniu wstępnym.

Pełny kod schematu i przykład JSON można znaleźć na końcu tego artykułu.

AssetFile

Kolekcja wpisów AssetFile dla zadania kodowania.

Nazwa Opis
Źródeł Kolekcja plików multimedialnych wejściowych/źródłowych, które zostały przetworzone w celu utworzenia tego elementu AssetFile.
Przykład: "Sources": [{"Name": "Ignite-short_1280x720_AACAudio_3551.mp4"}]
VideoTracks Każdy fizyczny plik AssetFile może zawierać w nim zero lub więcej filmów wideo przeplatane w odpowiedni format kontenera.
Zobacz VideoTracks.
AudioTracks Każdy fizyczny element AssetFile może zawierać w nim zero lub więcej ścieżek dźwiękowych przeplatanych w odpowiednim formacie kontenera. Jest to kolekcja wszystkich tych ścieżek audio.
Aby uzyskać więcej informacji, zobacz AudioTracks.
Nazwa
Wymagane
Nazwa pliku elementu zawartości multimediów.

Przykład: "Name": "Ignite-short_1280x720_AACAudio_3551.mp4"
Rozmiar
Wymagane
Rozmiar pliku elementu zawartości w bajtach.

Przykład: "Size": 32414631
Czas trwania
Wymagane
Czas odtwarzania zawartości. Aby uzyskać więcej informacji, zobacz format ISO8601 .

Przykład: "Duration": "PT1M10.315S"

VideoTracks

Każdy fizyczny plik AssetFile może zawierać w nim zero lub więcej filmów wideo przeplatane w odpowiedni format kontenera. Element VideoTracks reprezentuje kolekcję wszystkich ścieżek wideo.

Nazwa Opis
Identyfikator
Wymagane
Indeks oparty na zerowym śledzenia wideo. Uwaga: Ten identyfikator nie musi być identyfikatorem TrackID używanym w pliku MP4.

Przykład: "Id": 1
Fourcc
Wymagane
Koder-dekoder wideo FourCC, który jest zgłaszany przez narzędzie ffmpeg.

Przykład: "FourCC": "avc1" | "hev1" | "hvc1"
Profil Profil H264 (dotyczy tylko kodera-dekodera H264)

Przykład: "Profile": "High"
Poziom Poziom H264 (dotyczy tylko kodera-dekodera H264).

Przykład: "Level": "3.2"
Width
Wymagane
Zakodowana szerokość wideo w pikselach.

Przykład: "Width": "1280"
Wysokość
Wymagane
Zakodowana wysokość wideo w pikselach.

Przykład: "Height": "720"
DisplayAspectRatioNumerator
Wymagane
Licznik współczynnika proporcji wyświetlania wideo.

Przykład: "DisplayAspectRatioNumerator": 16.0
DisplayAspectRatioDenominator
Wymagane
Mianownik współczynnika proporcji wyświetlania wideo.

Przykład: "DisplayAspectRatioDenominator": 9.0
Framerate
Wymagane
Mierzona szybkość klatek wideo w formacie .3f.

Przykład: "Framerate": 29.970
Bitrate
Wymagane
Średnia szybkość bitów wideo w bitach na sekundę obliczona na podstawie elementu AssetFile. Zlicza tylko podstawowy ładunek strumienia i nie obejmuje obciążenia związanego z pakowaniem.

Przykład: "Bitrate": 3551567
TargetBitrate
Wymagane
Docelowa średnia szybkość transmisji bitów dla tego ścieżki wideo, zgodnie z żądaniem za pośrednictwem ustawienia wstępnego kodowania, w bitach na sekundę.

Przykład: "TargetBitrate": 3520000

AudioTracks

Każdy fizyczny plik AssetFile może zawierać w nim zero lub więcej ścieżek audio przeplatane w odpowiedni format kontenera. Element AudioTracks reprezentuje kolekcję wszystkich tych utworów dźwiękowych.

Nazwa Opis
Identyfikator
Wymagane
Indeks oparty na zerowym indeksie tej ścieżki audio. Uwaga: Niekoniecznie jest to identyfikator TrackID używany w pliku MP4.

Przykład: "Id": 2
Koder-dekoder Audio track codec string.

Przykład: "Codec": "aac"
Język Przykład: "Language": "eng"
Kanały
Wymagane
Liczba kanałów audio.

Przykład: "Channels": 2
Częstotliwość próbkowania
Wymagane
Częstotliwość próbkowania audio w próbkach/s lub Hz.

Przykład: "SamplingRate": 48000
Bitrate
Wymagane
Średnia szybkość bitów dźwięku w bitach na sekundę, obliczona na podstawie pliku AssetFile. Zlicza tylko podstawowy ładunek strumienia i nie obejmuje nakładu pracy opakowania.

Przykład: "Bitrate": 128041

Przykład schematu 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"
    }
  ]
}

Uzyskiwanie pomocy i obsługi technicznej

Możesz skontaktować się z usługą Media Services z pytaniami lub postępować zgodnie z naszymi aktualizacjami przy użyciu jednej z następujących metod: