Delen via


Inhoud streamen met CDN-integratie

Media Services-logo v3


Waarschuwing

Azure Media Services wordt op 30 juni 2024 buiten gebruik gesteld. Zie de AMS Retirement Guidevoor meer informatie.

Belangrijk

Azure Media Services wordt vanaf 30 juni 2024 buiten gebruik gesteld en Azure CDN Standard van Akamai op 31 oktober 2023 buiten gebruik stellen het is het beste geen nieuwe CDN's te maken voor gebruik met Azure Media Services. Raadpleeg de azure Media Services-handleiding voor het opnieuw instellen van.

Azure Content Delivery Network (CDN) biedt ontwikkelaars een wereldwijde oplossing voor het snel leveren van inhoud met hoge bandbreedte aan gebruikers door hun inhoud in de cache op strategisch geplaatste fysieke knooppunten over de hele wereld in de cache te plaatsen.

CDN slaat inhoud op die wordt gestreamd vanuit een Media Services-Streaming-eindpunt (origin) per codec, per streamingprotocol, per bitrate, per containerindeling en per versleuteling/DRM. Voor elke combinatie van codec-streaming protocol-container format-bitrate-encryption is er een afzonderlijke CDN-cache.

De populaire inhoud wordt rechtstreeks vanuit de CDN-cache geleverd zolang het videofragment in de cache is opgeslagen. Live-inhoud wordt waarschijnlijk in de cache opgeslagen, omdat er meestal veel mensen zijn die precies hetzelfde bekijken. Inhoud op aanvraag kan wat lastiger zijn, omdat u misschien wat inhoud hebt die populair is en sommige niet. Als u miljoenen videoassets hebt waar geen van hen populair is (slechts één of twee kijkers per week), maar u duizenden mensen hebt die alle verschillende video's bekijken, wordt het CDN veel minder effectief.

U moet ook rekening houden met de werking van adaptieve streaming. Elk afzonderlijk videofragment wordt in de cache opgeslagen als een eigen entiteit. Stel bijvoorbeeld dat de eerste keer dat een bepaalde video wordt bekeken. Als de kijker hier en daar slechts een paar seconden overslaat, worden alleen de videofragmenten die zijn gekoppeld aan wat de persoon zag, in de cache opgeslagen in CDN. Met adaptieve streaming hebt u doorgaans 5 tot 7 verschillende bitrates van video. Als één persoon één bitrate bekijkt en een andere persoon een andere bitrate bekijkt, worden ze afzonderlijk in de cache opgeslagen in het CDN. Zelfs als twee personen dezelfde bitrate bekijken, kunnen ze streamen via verschillende protocollen. Elk protocol (HLS, MPEG-DASH, Smooth Streaming) wordt afzonderlijk in de cache opgeslagen. Dus elke bitrate en elk protocol worden afzonderlijk in de cache opgeslagen en alleen die videofragmenten die zijn aangevraagd, worden in de cache opgeslagen.

Met uitzondering van de testomgeving raden we u aan om CDN in te schakelen voor zowel Standard- als Premium-streaming-eindpunten. Elk type streaming-eindpunt heeft een andere ondersteunde doorvoerlimiet.

Het is moeilijk om een nauwkeurige berekening te maken voor het maximum aantal gelijktijdige streams dat wordt ondersteund door een streaming-eindpunt, omdat er verschillende factoren zijn om rekening mee te houden. Dit zijn onder andere:

  • Maximum aantal bitrates dat wordt gebruikt voor streaming
  • Gedrag van speler vooraf bufferen en schakelen. Spelers proberen segmenten van een oorsprong te bursten en belastingssnelheid te gebruiken om adaptieve bitrate-switch te berekenen. Als een streaming-eindpunt dicht bij verzadiging komt, kunnen de reactietijden variëren en beginnen spelers over te schakelen naar lagere kwaliteit. Omdat dit de belasting van de streaming-eindpuntspelers vermindert, schaalt u terug naar een hogere kwaliteit, waardoor ongewenste schakeltriggers worden gemaakt.

Over het algemeen is het veilig om de maximale gelijktijdige streams te schatten door de maximale doorvoer van het streaming-eindpunt te nemen en dit te delen door de maximale bitrate (ervan uitgaande dat alle spelers de hoogste bitrate gebruiken.) U kunt bijvoorbeeld een standaardstreaming-eindpunt hebben dat is beperkt tot 600 Mbps en de hoogste bitrate van 3 Mbp. In dit geval worden ongeveer 200 gelijktijdige streams ondersteund op de hoogste bitrate. Vergeet niet ook rekening te houden met de vereisten voor audiobandbreedte. Hoewel een audiostream slechts met 128 kps kan worden gestreamd, telt het totale aantal streaming snel op wanneer u deze vermenigvuldigt met het aantal gelijktijdige streams.

In dit onderwerp wordt besproken hoe u CDN-integratieinschakelt. Ook wordt uitgelegd hoe prefetching (actieve caching) en het Origin-Assist CDN-Prefetch concept.

Overwegingen

  • Het streaming-eindpunthostname en de streaming-URL blijven hetzelfde, ongeacht of u CDN inschakelt.
  • Als u de mogelijkheid nodig hebt om uw inhoud te testen met of zonder CDN, maakt u een ander streaming-eindpunt dat niet is ingeschakeld voor CDN.

Azure CDN-integratie inschakelen

Belangrijk

U kunt CDN niet inschakelen voor proef- of studentaccounts van Azure.

CDN-integratie is ingeschakeld in alle Azure-datacenters, behalve in de regio's Federal Government en China.

Nadat een streaming-eindpunt is ingericht met CDN ingeschakeld, is er een gedefinieerde wachttijd voor Media Services voordat de DNS-update wordt uitgevoerd om het streaming-eindpunt toe te wijzen aan het CDN-eindpunt.

Als u het CDN later wilt uitschakelen/inschakelen, moet het streaming-eindpunt de status gestopt. Zodra het streaming-eindpunt is gestart, kan het tot vier uur duren voordat de Azure CDN-integratie is ingeschakeld en voordat de wijzigingen actief zijn in alle CDN-POP's. U kunt uw streaming-eindpunt echter starten en streamen zonder onderbrekingen van het streaming-eindpunt. Zodra de integratie is voltooid, wordt de stream geleverd vanuit het CDN. Tijdens de inrichtingsperiode bevindt uw streaming-eindpunt zich in de vanaf status en kunt u verminderde prestaties observeren.

Wanneer het standaardstreaming-eindpunt wordt gemaakt, wordt het standaard geconfigureerd met Standard Verizon. U kunt Premium Verizon- of Standard Akamai-providers configureren met behulp van REST API's.

Azure Media Services-integratie met Azure CDN wordt geïmplementeerd op Azure CDN van Verizon voor standaardstreaming-eindpunten. Premium-streaming-eindpunten kunnen worden geconfigureerd met Standard Verizon of Premium Verizon. Standard Akamai kan alleen worden geconfigureerd met REST API's of client-SDK's.

Notitie

Zie het overzicht van CDNvoor meer informatie over Azure CDN.

Bepalen of er een DNS-wijziging is aangebracht

U kunt bepalen of er een DNS-wijziging is aangebracht op een streaming-eindpunt (het verkeer wordt omgeleid naar azure CDN) met behulp van https://www.digwebinterface.com. Als u azureedge.net domeinnamen in de resultaten ziet, wordt het verkeer nu naar het CDN verwezen.

Origin-Assist CDN-Prefetch

CDN-caching is een reactief proces. Als het CDN het volgende object kan voorspellen dat wordt aangevraagd, kan het CDN proactief het volgende object aanvragen en in de cache opslaan. Met dit proces kunt u een cachetreffer bereiken voor alle (of meeste) objecten, waardoor de prestaties worden verbeterd.

Prefetching streeft ernaar objecten te positioneren aan de "rand van het internet" naar verwachting dat de objecten binnenkort door de speler worden aangevraagd, waardoor de tijd voor het leveren van dat object aan de speler wordt verkort.

Om dit doel te bereiken, moeten een streaming-eindpunt (origin) en CDN op een aantal manieren hand-in-hand werken:

  • De Origin van Media Services moet beschikken over de 'intelligentie' (Origin-Assist) om het CDN te laten weten welk object hierna moet worden voorafgegaan.
  • Het CDN voert de prefetch en caching uit (CDN-prefetch part). Het CDN moet ook beschikken over de "intelligentie" om:
    • de oorsprong vertellen of het een prefetch of een reguliere ophaaldag is
    • de 404-antwoorden verwerken
    • en een manier om eindeloze prefetch lus te vermijden

Voordelen

De voordelen van de functie Origin-Assist CDN-Prefetch zijn:

  • Prefetch verbetert de afspeelkwaliteit van video's door vooraf te positioneren verwachte videosegmenten aan de rand tijdens het afspelen, waardoor de latentie voor de kijker wordt verminderd en de downloadtijden van het videosegment worden verbeterd. Dit resulteert in snellere opstarttijd van video's en lagere rebuffering-exemplaren.
  • Dit concept is van toepassing op het algemene CDN-origin-scenario en is niet beperkt tot media.
  • Akamai heeft deze functie toegevoegd aan AKAmai Cloud Embed (ACE).

Notitie

Deze functie is nog niet van toepassing op het Akamai CDN dat is geïntegreerd met het Streaming-eindpunt van Media Services. Het is echter beschikbaar voor Media Services-klanten die een bestaand Akamai-contract hebben en aangepaste integratie tussen Akamai CDN en de Media Services-oorsprong vereisen.

Hoe het werkt

CDN-ondersteuning voor de Origin-Assist CDN-Prefetch headers (voor live- en videostreaming op aanvraag) is beschikbaar voor klanten die een direct contract hebben met Akamai CDN. De functie omvat de volgende HTTP-headeruitwisselingen tussen Akamai CDN en de Media Services-oorsprong:

HTTP-header Waarden Afzender Ontvanger Doel
CDN-Origin-Assist-Prefetch-Enabled 1 (standaard) of 0 CDN Oorsprong Om aan te geven dat CDN vooraf is ingeschakeld.
CDN-Origin-Assist-Prefetch-Path Voorbeeld:
Fragmenten(video=1400000000,format=mpd-time-cmaf)
Oorsprong CDN Het prefetch-pad naar CDN opgeven.
CDN-Origin-Assist-Prefetch-Request 1 (aanvraag vooraf) of 0 (reguliere aanvraag) CDN Oorsprong Om aan te geven dat de aanvraag van CDN een prefetch is.

Als u een deel van de headeruitwisseling in actie wilt zien, kunt u de volgende stappen uitvoeren:

  1. Gebruik cURL om een aanvraag uit te voeren voor de Media Services-oorsprong voor een audio- of videosegment of -fragment. Zorg ervoor dat u de header CDN-Origin-Assist-Prefetch-Enabled: 1 aan de aanvraag toevoegt.
  2. In het antwoord ziet u de header CDN-Origin-Assist-Prefetch-Path met een relatief pad als waarde.

Ondersteunde streamingprotocollen

De functie Origin-Assist CDN-Prefetch ondersteunt de volgende streamingprotocollen voor live- en on-demand streaming:

  • HLS v3
  • HLS v4
  • HLS CMAF
  • DASH (CSF)
  • STREEPJE (CMAF)
  • Smooth streaming

Veelgestelde vragen

  • Wat gebeurt er als een pad-URL van een prefetch ongeldig is, zodat CDN-prefetch een 404 krijgt?

    CDN slaat slechts een 404-antwoord gedurende 10 seconden (of een andere geconfigureerde waarde) in de cache op.

  • Stel dat u een video op aanvraag hebt. Als CDN-prefetch is ingeschakeld, impliceert deze functie dat zodra een client het eerste videosegment aanvraagt, een lus wordt gestart om alle volgende videosegmenten op dezelfde bitrate vooraf te zetten?

    Nee, CDN-prefetch wordt pas uitgevoerd na een door de client geïnitieerde aanvraag/reactie. CDN-prefetch wordt nooit geactiveerd door een prefetch om een prefetchlus te vermijden.

  • Is Origin-Assist CDN-Prefetch functie altijd ingeschakeld? Hoe kan het worden ingeschakeld/uitgeschakeld?

    Deze functie is standaard uitgeschakeld. Klanten moeten deze inschakelen via akamai-API.

  • Wat zou er gebeuren met live streamen Origin-Assist als het volgende segment of fragment nog niet beschikbaar is?

    In dit geval biedt de Media Services-origin geen CDN-Origin-Assist-Prefetch-Path header en CDN-prefetch niet.

  • Hoe werkt Origin-Assist CDN-Prefetch met dynamische manifestfilters?

    Deze functie werkt onafhankelijk van het manifestfilter. Wanneer het volgende fragment zich buiten een filtervenster bevindt, bevindt de URL zich nog steeds door te kijken naar het onbewerkte clientmanifest en vervolgens geretourneerd als antwoordheader cdn-prefetch. CDN haalt dus de URL op van een fragment dat is gefilterd uit het MANIFEST DASH/HLS/Smooth. De speler zal echter nooit een GET-aanvraag indienen bij CDN om dat fragment op te halen, omdat dat fragment niet is opgenomen in het DASH/HLS/Smooth-manifest dat door de speler wordt vastgehouden (de speler weet het bestaan van dat fragment niet).

  • Kan DASH MPD/HLS-afspeellijst/Smooth-manifest vooraf worden gezet?

    Nee, DASH MPD, HLS-hoofdafspeellijst, HLS-variantafspeellijst of smooth manifest-URL wordt niet toegevoegd aan de prefetch-header.

  • Zijn prefetch-URL's relatief of absoluut?

    Hoewel Akamai CDN beide toestaat, biedt de Media Services-oorsprong alleen relatieve URL's voor prefetch-pad, omdat er geen duidelijk voordeel is bij het gebruik van absolute URL's.

  • Werkt deze functie met inhoud die met DRM is beveiligd?

    Ja, omdat deze functie op HTTP-niveau werkt, worden segment/fragmenten niet gedecodeerd of geparseerd. Het maakt niet uit of de inhoud is versleuteld of niet.

  • Werkt deze functie met SSAI (Server Side Ad Insertion)?

    Het werkt voor oorspronkelijke/hoofdinhoud (de oorspronkelijke video-inhoud vóór het invoegen van advertenties), omdat SSAI de tijdstempel van de broninhoud van de Media Services-oorsprong niet wijzigt. Of deze functie werkt met advertentie-inhoud, is afhankelijk van of ad origin Ondersteuning biedt voor Origin-Assist. Als advertentie-inhoud bijvoorbeeld ook wordt gehost in Azure Media Services (dezelfde of afzonderlijke oorsprong), wordt advertentie-inhoud ook vooraf gebruikt.

  • Werkt deze functie met UHD-/HEVC-inhoud?

    Ja.

Instructies, zelfstudies en voorbeelden

- CDN-optimalisaties inschakelen -Origin Shield inschakelen

Hulp en ondersteuning krijgen

U kunt contact opnemen met Media Services met vragen of onze updates volgen op een van de volgende manieren: