Inhoudsafhankelijke codering
Zoekt u Media Services v2-documentatie?
Overzicht van de vooraf ingestelde inhoudsbewuste codering
Om inhoud voor te bereiden op levering met adaptive bitrate streaming,moet video worden gecodeerd met meerdere bitsnelheden (van hoog tot laag) en meerdere resoluties. Met deze techniek kunnen moderne videogames op Apple iOS, Android, Windows en Mac gebruikmaken van streamingprotocollen waarmee inhoud soepel kan worden gestreamd zonder buffering. Met deze verschillende weergaven van de weergavegrootte (resolutie) en kwaliteit (bitrate) kan de speler de beste versie van de video selecteren die door de huidige netwerkomstandigheden kan worden ondersteund. Het netwerk kan sterk variëren van LTE, 4G, 5G, openbare Wi-Fi of een thuisnetwerk.
Voor het proces van het coderen van inhoud in meerdere weergaven is het genereren van een 'coderings-ladder' vereist. Dit is een tabel met resoluties en bitrates die de encoder vertelt wat er moet worden gegenereerd. Zie de ingebouwde voorinstellingen voor Media Services encodingvoor een voorbeeld van een dergelijke ladder.
In ideale omstandigheden wilt u zich bewust zijn van het type inhoud dat u codeert. Met behulp van deze informatie kunt u de coderings-ladder afstemmen op de complexiteit en beweging in uw bronvideo. Dit betekent dat bij elke weergavegrootte (resolutie) in de ladder een bitrate moet zijn waarbuiten een toename van de kwaliteit niet waarneembaar is: de encoder werkt met deze optimale bitsnelheidswaarde.
Het volgende optimalisatieniveau dat kan worden gemaakt, is het selecteren van de resoluties op basis van de inhoud. Een video van een PowerPoint-presentatie met kleine tekst ziet er bijvoorbeeld wazig uit wanneer deze is gecodeerd met een hoogte van minder dan 720 pixels. Bovendien hebt u mogelijk ook een video waarin de beweging en complexiteit worden gewijzigd op basis van de manier waarop deze is opgenomen en bewerkt. Dit biedt de mogelijkheid om de coderingsinstellingen op elke scène of begrenzing af te stemmen en aan te passen. Een slimme encoder kan worden belast om de coderingsinstellingen voor elke opname in de video te optimaliseren.
Azure Media Services biedt een vooraf ingestelde adaptieve streaming die het probleem van de variabiliteit in de bitsnelheid en resolutie van de bronvideo's gedeeltelijk oplost. Deze voorinstelling analyseert echter niet de broninhoud om te zien hoe complex deze is of hoeveel beweging deze bevat.
De voorinstelling voor inhoudsbewuste codering verbetert de meer statische 'adaptive bitrate streaming'-coderingsvoorinstelling door logica toe te voegen waarmee de encoder een optimale bitsnelheidswaarde voor een bepaalde resolutie kan zoeken, maar zonder uitgebreide rekenkundige analyse. Met deze voorinstelling wordt een unieke 'ladder' van MET GOP uitgelijnde MP4's uitgevoerd op basis van het bronbestand. Op basis van een bronvideo voert de voorinstelling een initiële snelle analyse van de invoerinhoud uit en gebruikt deze de resultaten om het optimale aantal lagen, bitsnelheid en resoluties te bepalen dat nodig is om de streaming-ervaring van de hoogste kwaliteit adaptive bitrate te bieden. Deze voorinstelling is effectief bij video's met een lage tot gemiddelde complexiteit, waarbij de uitvoerbestanden een lagere bitsnelheid hebben dan de meer statische adaptive streaming-voorinstelling, maar op een kwaliteit die nog steeds een goede ervaring biedt voor doelgroepen. De uitvoermap bevat verschillende MP4-bestanden met video en audio die gereed zijn voor streaming.
Uitvoerinstellingen configureren
Daarnaast kunnen ontwikkelaars ook het bereik van uitvoer bepalen dat de inhoudsbewuste coderingsvoorinstelling gebruikt bij het bepalen van de optimale instellingen voor het coderen van de adaptive bitrate streaming-ladder.
Met behulp van de klasse PresetConfigurations kunnen ontwikkelaars een set beperkingen en opties doorgeven aan de vooraf ingestelde inhoudsbewuste codering om de resulterende bestanden te beheren die door de encoder worden gegenereerd. De eigenschappen zijn vooral nuttig in situaties waarin u alle codering wilt beperken tot een specifieke maximale oplossing om de ervaring of kosten van uw coderingstaken te bepalen. Het is ook handig om de maximale en minimale bitrates te kunnen bepalen die uw publiek mogelijk kan ondersteunen op een mobiel netwerk of in een globale regio met bandbreedtebeperkingen.
Ondersteunde codecs
De voorinstelling voor inhoudsbewuste codering is beschikbaar voor gebruik met de volgende codecs:
- H.264
- HEVC (H.265)
Gebruik
Zie de inhoudsbewuste codering voor meer informatie over het gebruik van de voorinstelling in uw code en koppelingen naar volledige voorbeelden.
Technische details over inhoudsbewuste voorinstelling
Laten we nu wat dieper ingaan op de manier waarop de vooraf ingestelde inhoudsbewuste codering werkt. In de volgende voorbeeldgrafieken ziet u de vergelijking met behulp van metrische kwaliteitsgegevens, zoals PSNR en VMAF. De bron is gemaakt door korte fragmenten van opnamen met een hoge complexiteit van films en tv-programma's samen tevoegen, bedoeld om de encoder onder druk te staan. Deze voorinstelling produceert per definitie resultaten die variëren van inhoud tot inhoud. Dit betekent ook dat er voor sommige inhoud mogelijk geen aanzienlijke vermindering van bitsnelheid of kwaliteitsverbetering is.

Afbeelding 1: RD-curve (rate-curve) met behulp van metrische PSNR-gegevens voor een bron met een hoge complexiteit

Afbeelding 2: RD-curve (rate-curve) met behulp van VMAF-metrische gegevens voor een bron met een hoge complexiteit
Hieronder vindt u de resultaten voor een andere categorie broninhoud, waarbij de encoder kon bepalen dat de invoer van slechte kwaliteit was (veel compressieartefacten vanwege de lage bitrate). Met de inhoudsbewuste voorinstelling heeft de encoder besloten om slechts één uitvoerlaag te produceren, bij een bitsnelheid die laag genoeg is, zodat de meeste clients de stream kunnen afspelen zonder vast te stellen.

Afbeelding 3: RD-curve met PSNR voor invoer van lage kwaliteit (op 1080p)

Afbeelding 4: RD-curve met VMAF voor invoer van lage kwaliteit (op 1080p)