Share via


Metodtipsguide för liveuppspelning i Media Services

Kunder frågar ofta hur de kan minska svarstiden för sin liveström. I den här artikeln beskrivs metodtips för att uppnå liveströmmar med korta svarstider förutom livehändelsekodning.

Anteckning

Innan du fortsätter att läsa den här artikeln kan du läsa artikeln HLS (LL-HLS) med låg latens för att förstå låg latens med kodning av livehändelser. Gå sedan tillbaka till den här guiden för att förstå vad mer som kan påverka svarstiden för strömning.

Det finns många faktorer som avgör svarstiden från slutpunkt till slutpunkt för en ström förutom hur mediet kodas. Här är några som du bör tänka på:

  1. Fördröjningar på bidragskodarens sida. När kunder använder en kodningsprogramvara som OBS Studio, Wirecast eller andra för att skicka en RTMP-liveström till Media Services. Inställningarna för den här programvaran påverkar svarstiden från slutpunkt till slutpunkt för en liveström.

  2. Fördröjningar i pipelinen för liveuppspelning i Azure Media Services

  3. CDN-prestanda

  4. Buffringsalgoritmer för videospelaren och nätverksförhållanden på klientsidan

  5. Tidpunkt för etablering

Bidragskodare

Du har kontroll över inställningarna för källkodaren innan RTMP-strömmen når Media Services. Här följer några rekommendationer för de inställningar som skulle ge dig lägsta möjliga svarstid:

  1. Välj den fysiska region som är närmast din bidragskodare för ditt Media Services-konto. Detta säkerställer att du har en bra nätverksanslutning till Media Services-kontot.

  2. Använd en konsekvent fragmentstorlek. Vi rekommenderar en GOP-storlek på 2 sekunder. Standardvärdet för vissa kodare, till exempel OBS, är 8 sekunder. Se till att du ändrar den här inställningen.

  3. Använd GPU-kodaren om din kodningsprogramvara gör att du kan göra det. På så sätt kan du avlasta CPU-arbete till GPU:n.

  4. Använd en kodningsprofil som är optimerad för korta svarstider. Om du till exempel använder Nvidia H.264-kodaren i OBS Studio kan du se förinställningen "noll svarstid".

  5. Skicka innehåll som inte har högre upplösning än vad du planerar att strömma. Om du till exempel använder 720p standardkodning av livehändelser skickar du en ström som redan är på 720p.

  6. Håll din framerate på 30fps eller lägre om du inte använder direkt livehändelser. Även om vi stöder 60 fps-indata för livehändelser är vår kodning av livehändelseutdata fortfarande inte över 30 fps. För HLS med låg svarstid rekommenderas den fasta bildfrekvensen och den maximala bildrutevaraktigheten får inte överstiga 0,5 sekunder för bästa möjliga upplevelse.

Konfiguration av livehändelsen för Azure Media Services

Här följer några konfigurationer som hjälper dig att minska svarstiden i vår pipeline:

  1. Använd alternativen för dataström med låg latens för livehändelser. För strömalternativen Standard-kodning (upp till 720p) och Premium-kodning (upp till 1 080p), såvida du inte behöver ett DVR-fönster längre än 6 timmar eller smidig strömning, använder du inställningen Svarstid för dataströmmen med låg latens.

  2. Vi rekommenderar att du väljer CMAF-utdata för både HLS- och DASH-uppspelning. På så sätt kan du dela samma fragment för båda formaten. Det ökar cacheträffsförhållandet när CDN används. Exempel:

    Typ Format URL-exempel
    HLS CMAF format=m3u8-cmaf https://amsv3account-usw22.streaming.media.azure.net/21b17732-0112-4d76-b526-763dcd843449/ignite.ism/manifest(format=m3u8-cmaf)
    MPEG-DASH CMAF format=mpd-time-cmaf https://amsv3account-usw22.streaming.media.azure.net/21b17732-0112-4d76-b526-763dcd843449/ignite.ism/manifest(format=mpd-time-cmaf)
  3. Om du måste välja TS-utdata ska du använda ett HLS-förpackningsförhållande på 1. På så sätt kan vi bara packa ett fragment i ett HLS-segment. Du får inte alla fördelar med LL-HLS hos applespelare.

Spelaroptimeringar

När du väljer och konfigurerar en videospelare kontrollerar du att du använder inställningar som är optimerade för kortare svarstider.

Media Services stöder olika utdata för direktuppspelningsprotokoll – DASH, HLS med TS-utdata och HLS med CMAF-fragment. När du använder stream-alternativet LowLatencyV2 måste du hitta en spelare som har stöd för HLS (LL-HLS) med låg latens. Beroende på spelarens implementering påverkar buffringsbeslut den svarstid som en tittare observerar. Dåliga nätverksförhållanden eller standardalgoritmer som gynnar uppspelningens kvalitet och stabilitet kan få spelarna att välja att buffrar mer innehåll i förväg för att förhindra avbrott under uppspelningen. Dessa buffertar, före och under uppspelningssessionerna, skulle lägga till svarstiden från slutpunkt till slutpunkt.

När Azure Media Player används optimerar heuristikprofilen med låg latens spelaren så att den får lägsta möjliga svarstid på spelarsidan. Den här spelaren stöder endast DASH om den inte används på Safari på Apple-enheter.

CDN-val och optimeringar

Slutpunkter för direktuppspelning är ursprungsservrarna som levererar live- och VOD-strömmande innehåll till CDN eller till kunden direkt. Det är bäst att använda ett content delivery network (CDN) med avskärmat ursprung för att säkerställa att trafiken för ditt medieinnehåll levereras effektivt.

Vi rekommenderar att du använder Azure CDN som tillhandahålls av Verizon (Standard eller Premium). Vi har optimerat integreringsupplevelsen så att en kund kan konfigurera detta CDN med ett enda val i Azure Portal. Se till att aktivera Origin Shield och strömningsoptimeringar för CDN-slutpunkten när du startar din slutpunkt för direktuppspelning.

Våra kunder har också goda erfarenheter av att ta med sitt eget CDN. Se till att åtgärder vidtas på CDN för att skydda ursprunget från överdriven trafik.

Du kan också förbättra prestanda genom att konfigurera regler för CDN-profilen. Se Så här aktiverar du CDN-optimeringar.

Skalning av slutpunkt för direktuppspelning

Anteckning

En standardslutpunkt för direktuppspelning/ursprung är en delad resurs som gör det möjligt för kunder med låg trafikvolym att strömma innehåll till en lägre kostnad. Du skulle inte använda en standardslutpunkt för direktuppspelning för att skala strömningsenheter om du förväntar dig stora trafikvolymer eller om du planerar att använda ett CDN.

En premiumslutpunkt för direktuppspelning/ursprung ger mer flexibilitet och isolering för kunder att skala genom att lägga till eller ta bort dedikerade strömningsenheter. En strömningsenhet är en beräkningsresurs som allokeras till en slutpunkt för direktuppspelning. Varje strömningsenhet kan strömma cirka 200 Mbit/s trafik.

Du kan strömma många livehändelser samtidigt med samma slutpunkt för direktuppspelning, men de högsta standardenheterna för direktuppspelning som krävs för en slutpunkt för direktuppspelning är 10. Du kan öppna en supportbegäran för att begära mer än standardvärdet 10.

Fastställa vilka premiumströmningsenheter som behövs

Det finns två steg för att fastställa antalet slutpunkter för direktuppspelning och enheter för direktuppspelning som behövs:

  1. Fastställ den totala utgående trafik som behövs.

  2. Dividera den totala utgående med 200, vilket är det högsta antalet Mbit/s som varje strömningsenhet kan strömma.

Fastställ den totala utgående trafik som behövs

Fastställ den totala utgående trafik som behövs med hjälp av följande formel.

Total utgående trafik krävs = genomsnittlig bandbredd x antal samtidiga tittare x procentsom hanteras av slutpunkten för direktuppspelning.

Låt oss ta en titt på var och en av multiplikatorerna i tur och ordning:

Genomsnittlig bandbredd. Vilken är den genomsnittliga bithastigheten som du planerar att strömma? Med andra ord, om du ska ha flera bithastigheter tillgängliga, vilken bithastighet är genomsnittet av alla bithastigheter som du planerar för? Du kan beräkna detta med någon av följande metoder:

För en livehändelse som innehåller kodning:

  • Om du inte vet vad din genomsnittliga bandbredd kommer att bli kan du använda våra högsta bithastigheter som en uppskattning. Vår högsta bithastighet är 5,5 Mbit/s för 1 080p-kodade livehändelser. Därför kommer din genomsnittliga bithastighet att ligga någonstans runt 3,5 Mbit/s.

  • Titta på kodningsförinställningen som används för att koda livehändelsen, till exempel förinställningen AdaptiveStreaming(H.264). Se det här utdataexemplet.

För en livehändelse som helt enkelt använder direktströmning och inte kodning:

  • Kontrollera kodningsbithastighetsstegen som används av din lokala kodare.

Antal samtidiga tittare. Hur många samtidiga tittare förväntas? Detta kan vara svårt att uppskatta, men gör ditt bästa baserat på dina kunddata. Strömmar du en konferens till en global publik? Planerar du att livestreama för att sälja en uppsättning produkter till dina kunder?

Procent av trafikensom hanteras avslutpunkten för direktuppspelning. Detta kan också uttryckas som "den procent av trafiken som INTE hanteras av CDN" eftersom det är det tal som faktiskt går in i formeln. Så med det i åtanke, vad är CDN-avlastningen du förväntar dig? Om CDN förväntas hantera 90 % av livetrafiken förväntas endast 10 % av trafiken på slutpunkten för direktuppspelning. Talet som används i formeln är .10, vilket är den procentandel av trafiken som förväntas på slutpunkten för direktuppspelning.

Fastställa antalet premiumuppspelningsenheter som behövs

Premium-strömningsenheter som behövs = Genomsnittlig bandbredd x antal tittare x Procentandel av trafiken som inte hanteras av CDN/200 Mbit/s

Exempel

Du har nyligen släppt en ny produkt och vill presentera den för dina etablerade kunder. Du vill ha låg svarstid eftersom du inte vill frustrera din redan upptagna målgrupp, så du använder premium-slutpunkter för direktuppspelning och ett CDN.

Du har cirka 100 000 kunder, men de kommer förmodligen inte alla att watch ditt liveevenemang. Du antar att i bästa fall kommer endast 1 % av dem att delta, vilket ger dina förväntade samtidiga tittare 1 000.

Antal samtidiga användare =1 000

Du har bestämt att du ska använda Media Services för att koda din liveström och inte använda direktströmning. Du vet inte vad den genomsnittliga bandbredden kommer att bli, men du vet att du kommer att leverera i 1080p (top bithastighet på 5,5 Mbit/s), så din genomsnittliga bandbredd beräknas vara 3,5 Mbit/s för dina beräkningar.

Genomsnittlig bandbredd =3,5

Eftersom din målgrupp är spridd över hela världen förväntar du dig att CDN kommer att hantera de flesta (90 %) av livetrafiken. Därför hanterar premium-slutpunkterna för direktuppspelning endast 10 % av trafiken.

Procent som hanteras av slutpunkten för direktuppspelning =10 % = 0,1

Med hjälp av formeln ovan:

Total utgående åtkomst krävs = genomsnittlig bandbredd x antal samtidiga tittare x procent som hanteras av slutpunkten för direktuppspelning.

total utgående trafik krävs = 3,5 x 1 000 x 0,1

total utgående trafik som behövs = 350 Mbit/s

Om du dividerar den totala utgående med 200 avgör du att du behöver 1,75 premiumströmningsenheter.

premiumuppspelningsenheter som behövs = total utgående krävs/200Mpbs

premiumuppspelningsenheter som behövs = 1,75

Vi avrundar det här numret till 2, vilket ger oss 2 enheter som behövs.

Använd portalen för att uppskatta dina behov

Azure Portal kan hjälpa dig att förenkla beräkningarna. På strömningssidan kan du använda kalkylatorn som tillhandahålls för att se den uppskattade målgruppens räckvidd när du ändrar den genomsnittliga bandbredden, CDN-träffförhållandet och antalet strömningsenheter.

  1. Välj Steaming endpoints (Ångande slutpunkter ) på sidan media services-konto på menyn.

  2. Lägg till en ny slutpunkt för direktuppspelning genom att välja Lägg till slutpunkt för direktuppspelning.

  3. Ge slutpunkten för direktuppspelning ett namn.

  4. Välj Premium-slutpunkt för direktuppspelning för slutpunktstypen för direktuppspelning.

  5. Eftersom du bara får en uppskattning nu ska du inte starta slutpunkten för direktuppspelning när du har skapat den. Välj Nej.

  6. Välj Standard Verizon eller Premium Verizon för din CDN-prisnivå. Profilnamnet ändras därefter. Lämna namnet som det är för den här övningen.

  7. För CDN-profilen väljer du Skapa ny.

  8. Välj Skapa. När slutpunkten har distribuerats visas skärmen för direktuppspelningsslutpunkter.

  9. Välj den slutpunkt för direktuppspelning som du nyss skapade. Skärmen för slutpunkt för direktuppspelning visas med uppskattningar av målgruppens räckvidd.

  10. Standardinställningen för slutpunkten för direktuppspelning med 1 strömningsenhet visar att den beräknas strömma till 571 samtidiga tittare på 3,5 Mbit/s med 90 % av CDN och 10 % av slutpunkten för direktuppspelning.

  11. Ändra procentandelen av utgående källa från 90 % från CDN-cache till 0 %. Kalkylatorn beräknar att du kommer att kunna strömma till 57 samtidiga tittare på 3,5 Mbit/s på 200 Mbit/s utan cdn.

  12. Ändra nu tillbaka utgående källa till 90 %.

  13. Ändra sedan strömningsenheterna till 2. Kalkylatorn beräknar att du kommer att kunna strömma till 1143 samtidiga tittare på 3,5 Mbit/s med 4000Mpbs med CDN som hanterar 90 % av trafiken.

  14. Välj Spara.

  15. Du kan starta slutpunkten för direktuppspelning och försöka skicka trafik till den. Måtten längst ned på skärmen spårar faktisk trafik.

Tidsinställning

Du kanske vill etablera strömningsenheter 1 timme före den förväntade toppanvändningen för att säkerställa att strömningsenheterna är klara.

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: