Metadane wyjściowe
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:
- Q & A
-
Stack Overflow. Tagowanie pytań przy użyciu polecenia
azure-media-services
. - @MSFTAzureMedia lub użyj @AzureSupport , aby poprosić o pomoc techniczną.
- Otwórz bilet pomocy technicznej za pośrednictwem Azure Portal.