Dela via


Innehållsmedveten kodning

Media Services-logotyp v3


Varning

Azure Media Services dras tillbaka den 30 juni 2024. Mer information finns i AMS-pensionsguiden.

Tips

Vill du skapa miniatyrbilder, sammanfoga två videor, underordna en video eller rotera den (bland annat)? Du hittar Media Services-exempelkod på sidan Exempel .

Översikt över den innehållsmedvetna kodningsförinställningen

För att förbereda innehåll för leverans med hjälp av direktuppspelning med anpassningsbar bithastighet måste videon kodas med flera bithastigheter (hög till låg) och flera upplösningar. Med den här tekniken kan dagens moderna videospelare på Apple iOS, Android, Windows och Mac använda strömningsprotokoll som smidigt strömmar innehåll utan buffring. Dessa olika återgivningar av visningsstorlek (upplösning) och kvalitet (bithastighet) gör att spelaren kan välja den bästa versionen av videon som de aktuella nätverksvillkoren kan stödja. Nätverket kan variera mycket från LTE, 4G, 5G, offentligt Wi-Fi eller ett hemnätverk.

Processen för att koda innehåll i flera återgivningar kräver generering av en "kodningsstege" – en tabell med upplösningar och bithastigheter som talar om för kodaren vad som ska genereras. Ett exempel på en sådan stege finns i Media Services inbyggda kodningsförinställningar.

Under idealiska förhållanden vill du vara medveten om vilken typ av innehåll du kodar. Med den här informationen kan du justera kodningsstegen så att den matchar komplexiteten och rörelsen i källvideon. Det innebär att vid varje visningsstorlek (upplösning) i stegen bör det finnas en bithastighet bortom vilken någon ökning av kvaliteten inte är klarsynt – kodaren arbetar med detta optimala bithastighetsvärde.

Nästa nivå av optimering som kan göras är att välja upplösningar baserat på innehållet – till exempel skulle en video av en PowerPoint-presentation med liten text se suddig ut när den kodas under 720 bildpunktslinjer i höjd. Dessutom kan du också ha en video som ändrar rörelse och komplexitet genomgående baserat på hur den spelades in och redigerades. Detta ger möjlighet att justera kodningsinställningarna vid varje scen eller bildgräns. En smart kodare kan få i uppgift att optimera kodningsinställningarna för varje bild i videon.

Azure Media Services tillhandahåller en adaptiv direktuppspelningsförinställning som delvis åtgärdar problemet med variabiliteten i bithastigheten och upplösningen för källvideorna. Den här förinställningen analyserar dock inte källinnehållet för att se hur komplext det är eller hur mycket rörelse det innehåller.

Den innehållsmedvetna kodningsförinställningen förbättrar den mer statiska strömningsförinställningen "anpassningsbar bithastighet" genom att lägga till logik som gör att kodaren kan söka efter ett optimalt bithastighetsvärde för en viss upplösning, men utan att kräva omfattande beräkningsanalys. Den här förinställningen matar ut en unik "stege" av GOP-justerade MP4:ar baserat på källfilen. Med en källvideo utför förinställningen en inledande snabb analys av indatainnehållet och använder resultaten för att fastställa det optimala antalet lager, bithastighet och upplösningar som behövs för att leverera strömningsupplevelsen med anpassningsbar bithastighet av högsta kvalitet. Den här förinställningen är effektiv med videor med låg till medelhög komplexitet, där utdatafilerna kommer att ha lägre bithastigheter än den mer statiska adaptiva direktuppspelningsförinställningen, men med en kvalitet som fortfarande ger en bra upplevelse för målgrupperna. Utdatamappen innehåller flera MP4-filer med video och ljud redo för direktuppspelning.

Konfigurera utdatainställningar

Dessutom kan utvecklare också styra det utdataintervall som den innehållsmedvetna kodningsförinställningen använder när de bestämmer de optimala inställningarna för kodning av direktuppspelningsstegen med anpassningsbar bithastighet.

Med hjälp av klassen PresetConfigurations kan utvecklare skicka in en uppsättning begränsningar och alternativ till den innehållsmedvetna kodningsförinställningen för att styra de resulterande filerna som genereras av kodaren. Egenskaperna är särskilt användbara i situationer där du vill begränsa all kodning till en specifik maximal upplösning för att kontrollera upplevelsen eller kostnaderna för dina kodningsjobb. Det är också användbart att kunna styra den maximala och lägsta bithastigheten som målgruppen kan stödja i ett mobilt nätverk eller i en global region som har bandbreddsbegränsningar.

Codecs som stöds

Den innehållsmedvetna kodningsförinställningen är tillgänglig för användning med följande codecs:

  • H.264
  • HEVC (H.265)

Teknisk information om innehållsmedveten förinställning

Nu ska vi fördjupa oss i hur den innehållsmedvetna kodningsförinställningen fungerar. Följande exempeldiagram visar jämförelsen med hjälp av kvalitetsmått som PSNR och VMAF. Källan skapades genom att sammanfoga korta klipp av bilder med hög komplexitet från filmer och TV-program, avsedda att stressa kodaren. Den här förinställningen ger per definition resultat som varierar från innehåll till innehåll – det innebär också att bithastigheten eller kvalitetsförbättringen för vissa innehåll kanske inte minskar avsevärt.

Hastighetsförvrängningskurva (RD) med PSNR

Bild 1: Hastighetsförvrängningskurva (RD) med PSNR-mått för källa med hög komplexitet

Hastighetsförvrängningskurva (RD) med VMAF

Bild 2: Hastighetsförvrängningskurva (RD) med VMAF-mått för källa med hög komplexitet

Nedan visas resultaten för en annan kategori av källinnehåll, där kodaren kunde fastställa att indata var av dålig kvalitet (många komprimeringsartefakter på grund av den låga bithastigheten). Med den innehållsmedvetna förinställningen bestämde sig kodaren för att bara producera ett utdatalager – med en tillräckligt låg bithastighet så att de flesta klienter skulle kunna spela upp strömmen utan att fördröja.

RD-kurva med PSNR

Bild 3: RD-kurva med PSNR för indata av låg kvalitet (vid 1080p)

RD-kurva med VMAF

Bild 4: RD-kurva med VMAF för indata av låg kvalitet (vid 1080p)

Kodningsexempel

Se den omfattande listan över kodningsexempel.

Få hjälp och support

Du kan kontakta Media Services med frågor eller följa våra uppdateringar med någon av följande metoder: