Media Encoder Standard-schema

media services-logotyp


Varning

Uppdatera rest-API:et och SDK:erna för Azure Media Services till v3 senast den 29 februari 2024. Version 3 av REST-API:t och klient-SDK:erna för Azure Media Services för .NET och Java har fler funktioner än version 2. Vi fasar ut version 2 av REST-API:t och klient-SDK:erna för Azure Media Services för .NET och Java.

Åtgärd krävs: För att minimera störningar i dina arbetsbelastningar läser du migreringsguiden för att överföra din kod från version 2-API:et och SDK:erna till version 3 API och SDK före den 29 februari 2024. Efter den 29 februari 2024 accepterar Azure Media Services inte längre trafik på rest-API:et version 2, ARM-kontohanterings-API:et version 2015-10-01 eller från version 2 av .NET-klient-SDK:erna. Detta inkluderar alla klient-SDKS från tredje part med öppen källkod som kan anropa version 2-API:et. Lär dig mer om den senaste versionen, från och med Översikt över Media Services v3.

I den här artikeln beskrivs några av de element och typer av XML-scheman som Media Encoder Standard förinställningar baseras på. Artikeln innehåller en förklaring av element och deras giltiga värden.

Förinställning (rotelement)

Definierar en kodningsförinställning.

Element

Namn Typ Description
Kodning Kodning Rotelementet anger att indatakällorna ska kodas.
Utdata Utdata Samling av önskade utdatafiler.
StretchMode
minOccurs="0"
default="AutoSize
xs:string Kontrollera bildramens storlek, utfyllnad, bildpunkt eller visningsproportion. StretchMode kan vara något av följande värden: None, AutoSize (standard) eller AutoFit.

Ingen: Följ endast utdataupplösningen (till exempel Bredd och Höjd i förinställningen) utan att ta hänsyn till bildpunktsproportionen eller visningsproportionen för indatavideon. Används för scenarier som beskärning, där utdatavideon har ett annat proportioner jämfört med indata.

AutoSize: Utdataupplösningen får plats i fönstret (Bredd * Höjd) som anges av förinställningen. Kodaren skapar dock en utdatavideo som har kvadratiska (1:1) bildpunktsproportioner. Därför kan antingen utdatabredden eller utdatahöjden åsidosättas för att matcha visningsproportionen för indata, utan utfyllnad. Om indata till exempel är 1920x1080 och kodningsförinställningen frågar efter 1280x1280 åsidosätts höjdvärdet i förinställningen och utdata blir 1280x720, vilket bibehåller indataproportionsgraden 16:9.

Autopassa: Om det behövs fyller du utdatavideon (med antingen letterbox eller pillarbox) för att uppfylla den önskade utdataupplösningen, samtidigt som du ser till att det aktiva videoområdet i utdata har samma proportioner som indata. Anta till exempel att indata är 1920x1080 och kodningsförinställningen frågar efter 1280x1280. Sedan är utdatavideon på 1280x1280, men den innehåller en inre rektangel på 1 280 x 720 med "aktiv video" med proportioner på 16:9 och letterbox-regioner 280 bildpunkter högt upp och ned. Om indata till exempel är 1440x1080 och kodningsförinställningen frågar efter 1280x720, kommer utdata att vara 1280x720, som innehåller en inre rektangel på 960 x 720 i proportion på 4:3 och pelarboxregioner 160 bildpunkter brett till vänster och höger.

Attribut

Namn Typ Description
Version

Obligatorisk
xs: decimal Den förinställda versionen. Följande begränsningar gäller: xs:fractionDigits value="1" och xs:minInclusive value="1" Till exempel version="1.0".

Kodning

Innehåller en sekvens med följande element:

Element

Namn Typ Description
H264Video H264Video Inställningar för H.264-kodning av video.
AACAudio AACAudio Inställningar för AAC-kodning av ljud.
BmpImage BmpImage Inställningar för Bmp-avbildning.
PngImage PngImage Inställningar för Png-avbildning.
JpgImage JpgImage Inställningar för Jpg-bild.

H264Video

Element

Namn Typ Description
TwoPass

minOccurs="0"
xs:boolean För närvarande stöds endast kodning med ett enda pass.
KeyFrameInterval

minOccurs="0"

default="00:00:02"
xs:time Avgör det fasta avståndet mellan IDR-ramar i sekunder. Kallas även för den kinesiska regeringens varaktighet. Se SceneChangeDetection för att kontrollera om kodaren kan avvika från det här värdet.
SceneChangeDetection

minOccurs="0"

default="false"
xs: booleskt värde Om värdet är true försöker kodaren identifiera scenändringar i videon och infogar en IDR-ram.
Komplexitet

minOccurs="0"

default="Balanced"
xs:string Styr kompromissen mellan kodningshastighet och videokvalitet. Kan vara något av följande värden: Hastighet, Balanserad eller Kvalitet

Standard: Balanserad
SyncMode

minOccurs="0"
Funktionen kommer att exponeras i en framtida version.
H264Layers

minOccurs="0"
H264Layers Insamling av utdatavideoskikt.

Attribut

Namn Typ Description
Condition xs:string När indata inte har någon video kanske du vill tvinga kodaren att infoga ett monokromt videospår. För att göra det använder du Condition="InsertBlackIfNoVideoBottomLayerOnly" (för att infoga en video med endast den lägsta bithastigheten) eller Condition="InsertBlackIfNoVideo" (för att infoga en video vid alla utdatabithastigheter). Mer information finns i den här artikeln.

H264Layers

Om du som standard skickar indata till kodaren som endast innehåller ljud och ingen video innehåller utdatatillgången endast filer med ljuddata. Vissa spelare kanske inte kan hantera sådana utdataströmmar. Du kan använda attributet InsertBlackIfNoVideo i H264Video för att tvinga kodaren att lägga till ett videospår i utdata i det scenariot. Mer information finns i den här artikeln.

Element

Namn Typ Description
H264Layer

minOccurs="0" maxOccurs="unbounded"
H264Layer En samling H264-lager.

H264Layer

Anteckning

Videogränser baseras på de värden som beskrivs i tabellen H264-nivåer .

Element

Namn Typ Description
Profil

minOccurs="0"

default="Auto"
xs: sträng Kan vara av något av följande x: strängvärden : Auto, Baseline, Main, High.
Nivå

minOccurs="0"

default="Auto"
xs: sträng
Bitrate

minOccurs="0"
xs:int Bithastigheten som används för det här videolagret, som anges i kbps.
MaxBitrate

minOccurs="0"
xs: int Den maximala bithastighet som används för det här videolagret, som anges i kbps.
BufferWindow

minOccurs="0"

default="00:00:05"
xs: tid Längden på videobufferten.
Bredd

minOccurs="0"
xs: int Bredd på utdatavideoramen i bildpunkter.

För närvarande måste du ange både bredd och höjd. Bredd och höjd måste vara jämna tal.
Höjd

minOccurs="0"
xs:int Videoramens höjd i bildpunkter.

För närvarande måste du ange både bredd och höjd. Bredd och höjd måste vara jämna tal.
BFrames

minOccurs="0"
xs: int Antal B-ramar mellan referensramar.
ReferenceFrames

minOccurs="0"

default="3"
xs:int Antal referensramar i en GOP.
EntropyMode

minOccurs="0"

default="Cabac"
xs: sträng Kan vara ett av följande värden: Cabac och Cavlc.
Framerate

minOccurs="0"
rationellt tal Avgör bildhastigheten för utdatavideon. Använd standardvärdet "0/1" för att låta kodaren använda samma bildfrekvens som indatavideon. Tillåtna värden förväntas vara vanliga bildrutefrekvenser. Men alla giltiga rationella är tillåtna. Till exempel skulle 1/1 vara 1 fps och är giltig.

- 12/1 (12 fps)

- 15/1 (15 fps)

- 24/1 (24 fps)

- 24000/1001 (23,976 fps)

- 25/1 (25 fps)

- 30/1 (30 fps)

- 30000/1001 (29,97 fps)

OBSERVERA Om du skapar en anpassad förinställning för kodning med flera bithastigheter måste alla lager i förinställningen använda samma värde för FrameRate.
AdaptiveBFrame

minOccurs="0"
xs: booleskt Kopiera från Azure Media Encoder
Segment

minOccurs="0"

default="0"
xs:int Avgör hur många sektorer en ram är indelad i. Rekommendera att du använder standardinställningen.

AACAudio

Innehåller en sekvens med följande element och grupper.

Mer information om AAC finns i AAC.

Element

Namn Typ Description
Profil

minOccurs="0 "

default="AACLC"
xs: sträng Kan vara något av följande värden: AACLC, HEAACV1 eller HEAACV2.

Attribut

Namn Typ Description
Condition xs: sträng Om du vill tvinga kodaren att producera en tillgång som innehåller ett tyst ljudspår när indata inte har något ljud anger du värdet "InsertSilenceIfNoAudio".

Om du som standard skickar indata till kodaren som endast innehåller video och inget ljud innehåller utdatatillgången filer som endast innehåller videodata. Vissa spelare kanske inte kan hantera sådana utdataströmmar. Du kan använda den här inställningen för att tvinga kodaren att lägga till ett tyst ljudspår till utdata i det scenariot.

Grupper

Referens Description
AudioGroup

minOccurs="0"
Se beskrivningen av AudioGroup för att känna till lämpligt antal kanaler, samplingsfrekvens och bithastighet som kan anges för varje profil.

AudioGroup

Mer information om vilka värden som är giltiga för varje profil finns i tabellen "Audio codec details" som följer.

Element

Namn Typ Description
Kanaler

minOccurs="0"
xs: int Antalet ljudkanaler som kodats. Följande är giltiga alternativ: 1, 2, 5, 6, 8.

Standard: 2.
SamplingRate

minOccurs="0"
xs: int Ljudsamplingsfrekvensen, som anges i Hz.
Bitrate

minOccurs="0"
xs: int Bithastigheten som används vid kodning av ljudet, som anges i kbps.

Information om ljudkod

Audio Codec Information
AACLC 1:

- 11025: 8 <= bithastighet < 16

- 12000: 8 <= bithastighet < 16

- 16000: 8 <= bithastighet <32

- 22050: 24 <= bithastighet < 32

- 24000: 24 <= bithastighet < 32

- 32000: 32 <= bithastighet <= 192

- 44100: 56 <= bithastighet <= 288

- 48000: 56 <= bithastighet <= 288

- 88200: 128 <= bithastighet <= 288

- 96000: 128 <= bithastighet <= 288

2:

- 11025: 16 <= bithastighet < 24

- 12000: 16 <= bithastighet < 24

- 16000: 16 <= bithastighet < 40

- 22050: 32 <= bithastighet < 40

- 24000: 32 <= bithastighet < 40

- 32000: 40 <= bithastighet <= 384

- 44100: 96 <= bithastighet <= 576

- 48000: 96 <= bithastighet <= 576

- 88200: 256 <= bithastighet <= 576

- 96000: 256 <= bithastighet <= 576

5/6:

- 32000: 160 <= bithastighet <= 896

- 44100: 240 <= bithastighet <= 1024

- 48000: 240 <= bithastighet <= 1024

- 88200: 640 <= bithastighet <= 1024

- 96000: 640 <= bithastighet <= 1024

8:

- 32000: 224 <= bithastighet <= 1024

- 44100: 384 <= bithastighet <= 1024

- 48000: 384 <= bithastighet <= 1024

- 88200: 896 <= bithastighet <= 1024

- 96000: 896 <= bithastighet <= 1024
HEAACV1 1:

- 22050: bithastighet = 8

- 24000: 8 <= bithastighet <= 10

- 32000: 12 <= bithastighet <= 64

- 44100: 20 <= bithastighet <= 64

- 48000: 20 <= bithastighet <= 64

- 88200: bithastighet = 64

2:

- 32000: 16 <= bithastighet <= 128

- 44100: 16 <= bithastighet <= 128

- 48000: 16 <= bithastighet <= 128

- 88200 : 96 <= bithastighet <= 128

- 96000: 96 <= bithastighet <= 128

5/6:

- 32000: 64 <= bithastighet <= 320

- 44100: 64 <= bithastighet <= 320

- 48000: 64 <= bithastighet <= 320

- 88200 : 256 <= bithastighet <= 320

- 96000: 256 <= bithastighet <= 320

8:

- 32000: 96 <= bithastighet <= 448

- 44100: 96 <= bithastighet <= 448

- 48000: 96 <= bithastighet <= 448

- 88200: 384 <= bithastighet <= 448

- 96000: 384 <= bithastighet <= 448
HEAACV2 2:

- 22050: 8 <= bithastighet <= 10

- 24000: 8 <= bithastighet <= 10

- 32000: 12 <= bithastighet <= 64

- 44100: 20 <= bithastighet <= 64

- 48000: 20 <= bithastighet <= 64

- 88200: 64 <= bithastighet <= 64

Klämma

Attribut

Namn Typ Description
Starttime xs:duration Anger starttiden för en presentation. Värdet för StartTime måste matcha de absoluta tidsstämplarna för indatavideon. Om den första bildrutan i indatavideon till exempel har en tidsstämpel på 12:00:10.000 ska StartTime vara minst 12:00:10.000 eller senare.
Varaktighet xs:duration Anger varaktigheten för en presentation (till exempel utseendet på ett överlägg i videon).

Utdata

Attribut

Namn Typ Description
Filnamn xs:string Namnet på utdatafilen.

Du kan använda makron som beskrivs i följande tabell för att skapa utdatafilnamnen. Ett exempel:

"Outputs": [ { "FileName": "{Basename}{Resolution}{Bitrate}.mp4", "Format": { "Type": "MP4Format" } } ]

Makron

Makro Description
{Basename} Om du gör VoD-kodning är {Basename} de första 32 tecknen i egenskapen AssetFile.Name för den primära filen i indatatillgången. {Basename} är begränsad till 64 tecken om CopyCodec (CopyAudio eller CopyVideo) används i förinställningen för att undvika duplicerade utdatafilnamn.

Om indatatillgången är ett livearkiv härleds {Basename} från trackName-attributen i servermanifestet. Om du skickar ett underklippsjobb med TopBitrate, som i: "<VideoStream>TopBitrate</VideoStream>", och utdatafilen innehåller video, är {Basename} de första 32 tecknen i trackName för videolagret med den högsta bithastigheten.

Om du i stället skickar ett underklippsjobb med alla indatabithastigheter, till exempel "<VideoStream>*</VideoStream>", och utdatafilen innehåller video, är {Basename} de första 32 tecknen i trackName för motsvarande videoskikt.
{Codec} Mappar till "H264" för video och "AAC" för ljud.
{Bitrate} Målvideobithastigheten om utdatafilen innehåller video och ljud eller målljudbithastighet om utdatafilen endast innehåller ljud. Det värde som används är bithastigheten i kbps.
{Channel} Antal ljudkanaler om filen innehåller ljud.
{Width} Videons bredd, i bildpunkter, i utdatafilen, om filen innehåller video.
{Height} Videons höjd, i bildpunkter, i utdatafilen, om filen innehåller video.
{Extension} Ärver från egenskapen "Typ" för utdatafilen. Utdatafilens namn har ett tillägg som är ett av: "mp4", "ts", "jpg", "png" eller "bmp".
{Index} Obligatoriskt för miniatyrbild. Bör bara finnas en gång.

Video (komplex typ ärver från Codec)

Attribut

Namn Typ Description
Start xs:string
Steg xs:string
Intervall xs:string
PreserveResolutionAfterRotation xs:boolean Detaljerad förklaring finns i följande avsnitt: PreserveResolutionAfterRotation

PreserveResolutionAfterRotation

Använd flaggan PreserveResolutionAfterRotation i kombination med matchningsvärden uttryckta i procent (Width="100%" , Height="100%").

Som standard är inställningarna för kodningsmatchning (bredd, höjd) i mes-förinställningarna (Media Encoder Standard) riktade mot videor med 0 graders rotation. Om indatavideon till exempel är 1280 x 720 med nollgradig rotation ser standardförinställningarna till att utdata har samma upplösning.

MESRoation1

Om indatavideon har fångats med rotation utan noll (till exempel en smartphone eller surfplatta som hålls lodrätt) tillämpar MES som standard inställningarna för kodmatchning (bredd, höjd) på indatavideon och kompenserar sedan för rotationen. Se till exempel den bild som följer. Förinställningen använder Width = "100%", Height = "100%", som MES tolkar som att utdata måste vara 1280 bildpunkter breda och 720 bildpunkter höga. När du har roterat videon krymper den sedan bilden för att passa in i det fönstret, vilket leder till pelarboxområden till vänster och höger.

MESRoation2

Du kan också använda flaggan PreserveResolutionAfterRotation och ställa in den på "true" (standardvärdet är "false"). Så om din förinställning har Width = "100%", Height = "100%" och PreserveResolutionAfterRotation inställt på "true", ger en indatavideo, som är 1 280 bildpunkter bred och 720 bildpunkter hög med 90 graders rotation, en utdata med nollgradig rotation, men 720 pixlar bred och 1280 pixlar hög. Se följande bild:

MESRoation3

FormatGroup (grupp)

Element

Namn Typ Description
BmpFormat BmpFormat
PngFormat PngFormat
JpgFormat JpgFormat

BmpLayer

Element

Namn Typ Description
Bredd

minOccurs="0"
xs:int
Höjd

minOccurs="0"
xs:int

Attribut

Namn Typ Description
Condition xs:string

PngLayer

Element

Namn Typ Description
Bredd

minOccurs="0"
xs:int
Höjd

minOccurs="0"
xs:int

Attribut

Namn Typ Description
Condition xs:string

JpgLayer

Element

Namn Typ Description
Bredd

minOccurs="0"
xs:int
Höjd

minOccurs="0"
xs:int
Kvalitet

minOccurs="0"
xs:int Giltiga värden: 1(sämsta)-100(bäst)

Attribut

Namn Typ Description
Condition xs:string

PngLayers

Element

Namn Typ Description
PngLayer

minOccurs="0" maxOccurs="unbounded"
PngLayer

BmpLayers

Element

Namn Typ Description
BmpLayer

minOccurs="0" maxOccurs="unbounded"
BmpLayer

JpgLayers

Element

Namn Typ Description
JpgLayer

minOccurs="0" maxOccurs="unbounded"
JpgLayer

BmpImage (komplex typ ärver från video)

Element

Namn Typ Description
PngLayers

minOccurs="0"
PngLayers Png-lager

JpgImage (komplex typ ärver från video)

Element

Namn Typ Description
PngLayers

minOccurs="0"
PngLayers Png-lager

PngImage (komplex typ ärver från video)

Element

Namn Typ Description
PngLayers

minOccurs="0"
PngLayers Png-lager

Exempel

Se exempel på XML-förinställningar som bygger på det här schemat i Uppgiftsförinställningar för MES (Media Encoder Standard).