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 Retirement Guide.

Viktig

Eftersom Azure Media Services dras tillbaka från och med 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 Azure Media Services-tillbakadrag.

Azure Content Delivery Network (CDN) erbjuder utvecklare en global lösning för att snabbt leverera innehåll med hög bandbredd till användare genom att cachelagra sitt innehåll på strategiskt placerade fysiska noder över hela 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 människor som tittar på alla olika videor blir CDN mycket mindre effektivt.

Du måste också tänka på hur anpassningsbar direktuppspelning 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 över att bara titta på några sekunder här och där, cachelagras bara de videofragment som är associerade med det personen tittade på 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ömmas ö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 en annan gräns för dataflöde 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 inkluderar:

  • Maximala bithastigheter som används för strömning
  • Spelarförbuffert och växelbeteende. Spelare försöker att burst segment från ett ursprung och använda belastningshastighet för att beräkna anpassningsbar bithastighet växling. 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å slutpunktsspelarna för direktuppspelning skalar du tillbaka till högre kvalitet och skapar oönskade switchningsutlösare.

Överlag är det säkert att uppskatta de maximala samtidiga strömmarna 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 också ihåg att ta hänsyn till kraven på ljudbandbredd. Även om en ljudström kanske bara strömmar med 128 kps, ökar den totala strömningen snabbt när du multiplicerar den med antalet samtidiga strömmar.

I det här avsnittet beskrivs hur du aktiverar CDN-integrering. Det förklarar också prefetching (aktiv cachelagring) och Origin-Assist CDN-Prefetch- koncept.

Överväganden

  • Slutpunkten för direktuppspelninghostname och strömnings-URL:en förblir densamma 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

Viktig

Du kan inte aktivera CDN för utvärderings- eller elevkonton i Azure.

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 för 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 stoppats tillstånd. När slutpunkten för direktuppspelning har startats kan det ta upp till fyra timmar innan Azure CDN-integreringen aktiveras och för att ändringarna ska vara aktiva för alla CDN-IP-adresser. 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 strömmen från CDN. Under etableringsperioden är slutpunkten för direktuppspelning i startar tillstånd 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-leverantörer 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.

Not

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

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 av https://www.digwebinterface.com. 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 begära och cachelagrat nästa objekt proaktivt. 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 "gränsen av Internet" förutser 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 fungera 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 visningsprogrammet 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 det allmänna CDN-ursprungsscenariot och är inte begränsat till media.
  • Akamai har lagt till den här funktionen i Akamai Cloud Embed (ACE).

Not

Den här funktionen gäller ännu inte för Akamai CDN som är integrerad med Media Services slutpunkt 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-huvuden (för direktuppspelning och videouppspelning på begäran) är tillgängligt för kunder som har direktkontrakt med Akamai CDN. Funktionen omfattar följande HTTP-huvudutbyten mellan Akamai CDN och Media Services-ursprunget:

HTTP-huvud Värden Avsändare Mottagare Avsikt
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=14000000000,format=mpd-time-cmaf)
Ursprung CDN Så här anger du sökvägen för prefetch 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 cURL för att skicka en begäran till Media Services-ursprunget för ett ljud- eller videosegment eller fragment. Lägg till rubriken 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.

Direktuppspelningsprotokoll som stöds

Funktionen Origin-Assist CDN-Prefetch stöder följande direktuppspelningsprotokoll för direktuppspelning och direktuppspelning 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 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 när en klient begär det första videosegmentet startar prefetch en loop för att förinstallera alla efterföljande videosegment med samma bithastighet?

    Nej, CDN-prefetch görs endast efter en klientinitierad begäran/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 ger Media Services-ursprunget inte CDN-Origin-Assist-Prefetch-Path-huvudet och CDN-prefetch inträffar inte.

  • Hur fungerar 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 på det råa klientmanifestet och sedan returneras som CDN-svarshuvud för prefetch. 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 det fragmentet inte ingår i DASH/HLS/Smooth-manifestet som innehas av spelaren (spelaren vet inte att fragmentet finns).

  • Kan DASH MPD/HLS-spellista/Smooth-manifest förinstalleras?

    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 förinläsningssö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 något 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) kommer annonsinnehållet också att vara 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: