Dela via


Strömma innehåll med CDN-integrering

Media Services-logotyp v3


Varning

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

Viktigt

Eftersom Azure Media Services dras tillbaka den 30 juni 2024 och Azure CDN drar tillbaka Azure CDN Standard från Akamai den 31 oktober 2023 är det bäst att inte skapa nya CDN för användning med Azure Media Services. Se guiden om tillbakadragna Azure Media Services.

Med CDN får utvecklare en global lösning för snabb innehållsleverans med hög bandbredd till användarna eftersom innehållet cachelagras på fysiska noder på strategiska platser runt om i världen.

CDN cachelagrar innehåll som strömmas från en Media Services-slutpunkt för direktuppspelning (ursprung) per codec, per strömningsprotokoll, per bithastighet, per containerformat och per kryptering/DRM. För varje kombination av codec-streaming protocol-container format-bitrate-encryption finns det en separat CDN-cache.

Det populära innehållet hanteras direkt från CDN-cachen så länge videofragmentet cachelagras. Liveinnehåll kommer sannolikt att cachelagras eftersom du vanligtvis har många personer som tittar på exakt samma sak. Innehåll på begäran kan vara lite svårare eftersom du kan ha innehåll som är populärt och som inte är det. Om du har miljontals videotillgångar där ingen av dem är populära (bara en eller två tittare i veckan), men du har tusentals personer som tittar på alla olika videor, blir CDN mycket mindre effektivt.

Du måste också överväga hur anpassningsbar strömning fungerar. Varje enskilt videofragment cachelagras som en egen entitet. Tänk dig till exempel första gången en viss video visas. Om tittaren hoppar runt och tittar bara några sekunder här och där cachelagras bara de videofragment som är associerade med det personen såg i CDN. Med anpassningsbar direktuppspelning har du vanligtvis 5 till 7 olika bithastigheter med video. Om en person tittar på en bithastighet och en annan person tittar på en annan bithastighet cachelagras var och en separat i CDN. Även om två personer tittar på samma bithastighet kan de strömma över olika protokoll. Varje protokoll (HLS, MPEG-DASH, Smooth Streaming) cachelagras separat. Så varje bithastighet och protokoll cachelagras separat och endast de videofragment som har begärts cachelagras.

Förutom testmiljön rekommenderar vi att CDN aktiveras för både Standard- och Premium-slutpunkter för direktuppspelning. Varje typ av slutpunkt för direktuppspelning har olika dataflödesgränser som stöds.

Det är svårt att göra en exakt beräkning för det maximala antalet samtidiga strömmar som stöds av en slutpunkt för direktuppspelning eftersom det finns olika faktorer att ta hänsyn till. Dessa omfattar:

  • Maximal bithastighet som används för strömning
  • Spelarens förbuffert och växlingsbeteende. Spelare försöker burst-segment från ett ursprung och använda belastningshastighet för att beräkna växling med anpassningsbar bithastighet. Om en slutpunkt för direktuppspelning närmar sig mättnad kan svarstiderna variera och spelarna börjar byta till lägre kvalitet. Eftersom detta minskar belastningen på streamingslutpunktsspelarna skalar du tillbaka till högre kvalitet och skapar oönskade switchningsutlösare.

Sammantaget är det säkert att uppskatta det maximala antalet samtidiga strömmar genom att ta det maximala dataflödet för slutpunkten för direktuppspelning och dividera detta med den maximala bithastigheten (förutsatt att alla spelare använder den högsta bithastigheten.) Du kan till exempel ha en standardslutpunkt för direktuppspelning som är begränsad till 600 Mbit/s och den högsta bithastigheten på 3 Mbp. I det här fallet stöds cirka 200 samtidiga strömmar vid den högsta bithastigheten. Kom ihåg att även ta hänsyn till kraven på ljudbandbredd. Även om en ljudström kanske bara strömmas med 128 kps, ökar den totala strömning snabbt när du multiplicerar den med antalet samtidiga strömmar.

I det här avsnittet beskrivs aktivering av CDN-integrering. Den förklarar även prefetching (aktiv cachelagring) och konceptet Origin-Assist CDN-Prefetch .

Överväganden

  • Slutpunkten hostname för direktuppspelning och strömnings-URL:en förblir desamma oavsett om du aktiverar CDN eller inte.
  • Om du behöver kunna testa ditt innehåll med eller utan CDN skapar du en annan slutpunkt för direktuppspelning som inte är CDN-aktiverad.

Aktivera Azure CDN-integrering

Viktigt

Du kan inte aktivera CDN för Utvärderingsversion eller Student Azure-konton.

CDN-integrering är aktiverat i alla Azure-datacenter förutom i regionerna Federal Government och Kina.

När en slutpunkt för direktuppspelning har etablerats med CDN aktiverat finns det en definierad väntetid på Media Services innan DNS-uppdateringen görs för att mappa slutpunkten för direktuppspelning till CDN-slutpunkten.

Om du senare vill inaktivera/aktivera CDN måste slutpunkten för direktuppspelning vara i stoppat tillstånd. När slutpunkten för direktuppspelning har startats kan det ta upp till fyra timmar för Azure CDN-integreringen att aktiveras och för att ändringarna ska vara aktiva för alla CDN-POP:er. Du kan dock starta slutpunkten för direktuppspelning och strömma utan avbrott från slutpunkten för direktuppspelning. När integreringen är klar levereras dataströmmen från CDN: n. Under etableringsperioden är slutpunkten för direktuppspelning i starttillståndet och du kan observera försämrad prestanda.

När standardslutpunkten för direktuppspelning skapas konfigureras den som standard med Standard Verizon. Du kan konfigurera Premium Verizon- eller Standard Akamai-providers med hjälp av REST-API:er.

Azure Media Services-integrering med Azure CDN implementeras på Azure CDN från Verizon för standardslutpunkter för direktuppspelning. Premium-slutpunkter för direktuppspelning kan konfigureras med Standard Verizon eller Premium Verizon. Standard Akamai kan bara konfigureras med hjälp av REST-API:er eller klient-SDK:er.

Anteckning

Mer information om Azure CDN finns i CDN-översikten.

Kontrollera om en DNS-ändring har gjorts

Du kan avgöra om en DNS-ändring har gjorts på en slutpunkt för direktuppspelning (trafiken dirigeras till Azure CDN) med hjälp https://www.digwebinterface.comav . Om du ser azureedge.net domännamn i resultatet pekas trafiken nu på CDN.

Origin-Assist CDN-Prefetch

CDN-cachelagring är en reaktiv process. Om CDN kan förutsäga nästa objekt som begärs kan CDN proaktivt begära och cachelagera nästa objekt. Med den här processen kan du uppnå en cacheträff för alla (eller de flesta) objekten, vilket förbättrar prestandan.

Prefetching strävar efter att placera objekt vid "kanten av Internet" i väntan på att objekten kommer att begäras av spelaren inom kort, vilket minskar tiden för att leverera det objektet till spelaren.

För att uppnå det här målet måste en slutpunkt för direktuppspelning (ursprung) och CDN arbeta hand i hand på ett par sätt:

  • Media Services-ursprunget måste ha "intelligens" (Origin-Assist) för att tala om för CDN vilket objekt som ska prefetch härnäst.
  • CDN utför prefetch och cachelagring (CDN-prefetch del). CDN måste också ha "intelligens" för att:
    • berätta för ursprunget om det är en prefetch eller en vanlig hämtning
    • hantera 404-svaren
    • och ett sätt att undvika oändliga prefetch loop

Fördelar

Fördelarna med funktionen Origin-Assist CDN-Prefetch är:

  • Prefetch förbättrar videouppspelningskvaliteten genom att förpositionera förväntade videosegment vid kanten under uppspelningen, minska svarstiden för tittaren och förbättra nedladdningstiderna för videosegment. Detta resulterar i snabbare starttid för video och lägre rebuffering-förekomster.
  • Det här konceptet gäller för allmänt CDN-ursprungsscenario och är inte begränsat till media.
  • Akamai har lagt till den här funktionen i Akamai Cloud Embed (ACE).

Anteckning

Den här funktionen gäller ännu inte för Akamai CDN som är integrerad med Media Services-slutpunkten för direktuppspelning. Den är dock tillgänglig för Media Services-kunder som har ett befintligt Akamai-kontrakt och som kräver anpassad integrering mellan Akamai CDN och Media Services-ursprunget.

Så här fungerar det

CDN-stöd för Origin-Assist CDN-Prefetch rubrikerna (för direktuppspelning och videouppspelning på begäran) är tillgängligt för kunder som har direkt kontrakt med Akamai CDN. Funktionen omfattar följande HTTP-huvudutbyten mellan Akamai CDN och Media Services-ursprunget:

HTTP-huvud Värden Avsändare Mottagare Syfte
CDN-Origin-Assist-Prefetch-Enabled 1 (standard) eller 0 CDN Ursprung För att indikera att CDN är förinställt.
CDN-Origin-Assist-Prefetch-Path Exempel:
Fragment(video=1400000000,format=mpd-time-cmaf)
Ursprung CDN För att tillhandahålla förhämtningssökväg till CDN.
CDN-Origin-Assist-Prefetch-Request 1 (prefetch-begäran) eller 0 (vanlig begäran) CDN Ursprung För att ange att begäran från CDN är en prefetch.

Om du vill se en del av huvudutbytet i praktiken kan du prova följande steg:

  1. Använd Postman eller cURL för att skicka en begäran till Media Services-ursprunget för ett ljud- eller videosegment eller fragment. Se till att lägga till huvudet CDN-Origin-Assist-Prefetch-Enabled: 1 i begäran.
  2. I svaret bör du se rubriken CDN-Origin-Assist-Prefetch-Path med en relativ sökväg som värde.

Strömningsprotokoll som stöds

Funktionen Origin-Assist CDN-Prefetch stöder följande strömningsprotokoll för direktuppspelning och strömning på begäran:

  • HLS v3
  • HLS v4
  • HLS CMAF
  • DASH (CSF)
  • DASH (CMAF)
  • Smidig direktuppspelning

Vanliga frågor och svar

  • Vad händer om url:en för en prefetch-sökväg är ogiltig så att CDN-prefetch får 404?

    CDN cachelagras endast ett 404-svar i 10 sekunder (eller något annat konfigurerat värde).

  • Anta att du har en video på begäran. Om CDN-prefetch är aktiverat, innebär den här funktionen att prefetch startar en loop för att förinställa alla efterföljande videosegment i samma bithastighet när en klient begär det första videosegmentet?

    Nej, CDN-prefetch görs bara efter en klientinitierad begäran/ett klientinitierat svar. CDN-prefetch utlöses aldrig av en prefetch, för att undvika en prefetch-loop.

  • Är Origin-Assist CDN-Prefetch funktionen alltid aktiverad? Hur kan den aktiveras/inaktiveras?

    Den här funktionen är inaktiverad som standard. Kunder måste aktivera det via Akamai API.

  • Vad skulle hända med Origin-Assist för liveuppspelning om nästa segment eller fragment ännu inte är tillgängligt?

    I det här fallet kommer Media Services-ursprunget inte att tillhandahålla CDN-Origin-Assist-Prefetch-Path sidhuvud och CDN-prefetch kommer inte att ske.

  • Hur fungerar det Origin-Assist CDN-Prefetch med dynamiska manifestfilter?

    Den här funktionen fungerar oberoende av manifestfiltret. När nästa fragment är ute ur ett filterfönster kommer dess URL fortfarande att finnas genom att titta i råklientmanifestet och sedan returneras som CDN prefetch-svarshuvud. Så CDN hämtar URL:en för ett fragment som filtreras bort från DASH/HLS/Smooth-manifestet. Spelaren kommer dock aldrig att göra en GET-begäran till CDN för att hämta fragmentet, eftersom fragmentet inte ingår i DASH/HLS/Smooth-manifestet som innehas av spelaren (spelaren vet inte att fragmentet finns).

  • Kan DASH MPD/HLS-spellistan/Smooth-manifestet vara förinställt?

    Nej, DASH MPD, HLS-huvudspellista, HLS-variantspellista eller smidig manifest-URL läggs inte till i prefetch-huvudet.

  • Är prefetch-URL:er relativa eller absoluta?

    Även om Akamai CDN tillåter båda, tillhandahåller Media Services-ursprunget endast relativa URL:er för prefetch-sökvägen eftersom det inte finns någon uppenbar fördel med att använda absoluta URL:er.

  • Fungerar den här funktionen med DRM-skyddat innehåll?

    Ja, eftersom den här funktionen fungerar på HTTP-nivå avkodas eller parsas inte segment/fragment. Det bryr sig inte om innehållet är krypterat eller inte.

  • Fungerar den här funktionen med SSAI (Server Side Ad Insertion)?

    Det gör det för original-/huvudinnehåll (det ursprungliga videoinnehållet innan annonsinfogningen) fungerar, eftersom SSAI inte ändrar tidsstämpeln för källinnehållet från Media Services-ursprunget. Om den här funktionen fungerar med annonsinnehåll beror på om ad origin stöder Origin-Assist. Om annonsinnehåll till exempel också finns i Azure Media Services (samma eller separat ursprung) blir annonsinnehållet också förinställt.

  • Fungerar den här funktionen med UHD/HEVC-innehåll?

    Ja.

Instruktioner, självstudier och exempel

-Så här aktiverar du CDN-optimeringar -Så här aktiverar du Origin Shield

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: