Průvodce osvědčenými postupy pro živé streamování služby Media Services

Zákazníci se často ptají, jak můžou snížit latenci živého streamu. Tento článek popisuje osvědčené postupy pro dosažení nízké latence živých streamů s kódováním živých událostí.

Poznámka

Než budete pokračovat ve čtení tohoto článku, přečtěte si článek s nízkou latencí HLS (LL-HLS), který vám pomůže porozumět nízké latenci při kódování živých událostí. Pak se vraťte k této příručce, abyste pochopili, co dalšího může ovlivnit latenci streamování.

Kromě toho, jak je médium kódováno, určuje latenci datového proudu celá řada faktorů. Tady jsou některé z nich, které byste měli zvážit:

  1. Zpoždění na straně kodéru příspěvku. Když zákazníci používají kódovací software, jako je OBS Studio, Wirecast nebo další, k odesílání živého streamu RTMP do Media Services. Nastavení tohoto softwaru ovlivňují latenci živého streamu od konce do konce.

  2. Zpoždění v kanálu živého streamování ve službě Azure Media Services

  3. Výkon CDN

  4. Ukládání do vyrovnávací paměti pro videopřehrávku a síťové podmínky na straně klienta

  5. Načasování zřizování

Kodér příspěvků

Máte kontrolu nad nastavením zdrojového kodéru před tím, než datový proud RTMP dosáhne Media Services. Tady je několik doporučení pro nastavení, která by vám poskytla nejnižší možnou latenci:

  1. Vyberte fyzickou oblast, která je nejblíže kodéru pro příspěvky pro váš účet Media Services. Tím zajistíte, že budete mít skvělé síťové připojení k účtu Media Services.

  2. Používejte konzistentní velikost fragmentů. Doporučujeme velikost gop 2 sekundy. Výchozí hodnota u některých kodérů, například OBS, je 8 sekund. Ujistěte se, že jste toto nastavení změnili.

  3. Pokud to váš kódovací software umožňuje, použijte kodér GPU. To by vám umožnilo přesunout práci s procesorem na GPU.

  4. Použijte profil kódování, který je optimalizovaný pro nízkou latenci. Pokud například u nástroje OBS Studio používáte kodér Nvidia H.264, může se zobrazit předvolba nulové latence.

  5. Odešlete obsah, který nemá vyšší rozlišení, než jaký plánujete streamovat. Pokud například používáte živé události kódování standardu 720p, odešlete datový proud, který už je na 720p.

  6. Pokud nepoužíváte průchozí živé události, udržujte snímkovou frekvenci na 30 snímků za sekundu nebo nižší. I když podporujeme vstup 60 snímků za sekundu pro živé události, náš výstup kódování živých událostí stále není vyšší než 30 snímků za sekundu. V případě hls s nízkou latencí se doporučuje pevná snímková frekvence a maximální doba trvání snímku by neměla překročit 0,5 sekundy, aby to bylo nejlepší.

Konfigurace živé události Služby Azure Media Services

Tady je několik konfigurací, které vám pomůžou snížit latenci v našem kanálu:

  1. Pro živé události použijte možnosti streamu s nízkou latencí. Pro možnosti streamování kódování Standard (až 720p) a Kódování Premium (až 1080p) použijte nastavení latence streamu s nízkou latencí, pokud nepotřebujete okno DVR delší než 6 hodin nebo hladký výstup streamování.

  2. Pro přehrávání HLS i DASH doporučujeme zvolit výstup CMAF. To vám umožní sdílet stejné fragmenty pro oba formáty. Při použití CDN se tím zvýší poměr přístupů k mezipaměti. Příklad:

    Typ Formát Příklad adresy URL
    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. Pokud musíte zvolit výstup TS, použijte poměr balení HLS 1. To nám umožňuje zabalit do jednoho segmentu HLS pouze jeden fragment. Nebudete mít plné výhody LL-HLS v nativních přehrávačích Apple.

Optimalizace hráčů

Při výběru a konfiguraci přehrávače videa se ujistěte, že používáte nastavení optimalizovaná pro nižší latenci.

Služba Media Services podporuje různé výstupy protokolu streamování – DASH, HLS s výstupem TS a HLS s fragmenty CMAF. Při použití možnosti streamu LowLatencyV2 nezapomeňte najít přehrávač, který podporuje HLS s nízkou latencí (LL-HLS). V závislosti na implementaci hráče mají rozhodnutí o ukládání do vyrovnávací paměti vliv na latenci, které divák pozoruje. Špatné síťové podmínky nebo výchozí algoritmy, které upřednostňují kvalitu a stabilitu přehrávání, můžou způsobit, že se hráči rozhodnou ukládat do vyrovnávací paměti více obsahu předem, aby se zabránilo přerušení během přehrávání. Tyto vyrovnávací paměti, před relacemi přehrávání a během nich, by se přidaly k celkové latenci.

Při použití Azure Media Playeru optimalizuje profil Heuristiky s nízkou latencí přehrávač tak, aby měl na straně přehrávače nejnižší možnou latenci. Tento přehrávač podporuje dash pouze v případě, že se používá v Safari na zařízeních Apple.

Volba a optimalizace CDN

Koncové body streamování jsou zdrojové servery, které doručují živý a vod streamovací obsah cdn nebo přímo zákazníkovi. Nejlepší je použít síť pro doručování obsahu (CDN) se stíněným původem, abyste zajistili efektivní doručování přenosů mediálního obsahu.

Doporučujeme používat Azure CDN, který poskytuje Verizon (Standard nebo Premium). Optimalizovali jsme prostředí integrace, aby zákazník mohl nakonfigurovat tuto síť CDN s jedním výběrem v Azure Portal. Nezapomeňte zapnout Origin Shield a optimalizace streamování pro koncový bod CDN při každém spuštění koncového bodu streamování.

Naši zákazníci mají také dobré zkušenosti s tím, že si přinesou vlastní síť CDN. Ujistěte se, že jsou v síti CDN přijata opatření k ochraně původu před nadměrným provozem.

Výkon můžete také zlepšit konfigurací pravidel pro profil CDN. Viz Jak povolit optimalizace CDN.

Škálování koncového bodu streamování

Poznámka

Standardní koncový bod nebo zdroje streamování je sdílený prostředek, který umožňuje zákazníkům s nízkým objemem provozu streamovat obsah s nižšími náklady. Ke škálování jednotek streamování byste nepoužívali standardní koncový bod streamování, pokud očekáváte velké objemy provozu nebo plánujete používat síť CDN.

Koncový bod nebo zdroj streamování premium nabízí zákazníkům větší flexibilitu a izolaci škálování přidáním nebo odebráním vyhrazených jednotek streamování. Jednotka streamování je výpočetní prostředek přidělený koncovému bodu streamování. Každá jednotka streamování může streamovat provoz o přibližně 200 Mb/s.

I když můžete souběžně streamovat mnoho živých událostí najednou pomocí stejného koncového bodu streamování, maximální výchozí jednotky streamování potřebné pro jeden koncový bod streamování je 10. Můžete otevřít lístek podpory a požádat o více než výchozích 10.

Určení potřebných jednotek streamování úrovně Premium

Počet koncových bodů streamování a potřebných jednotek streamování můžete určit dvěma kroky:

  1. Určete celkový potřebný výchozí přenos dat.

  2. Vydělte celkový výchozí přenos dat 200, což je maximální Mb/s, které může streamovat každá jednotka streamování.

Určení celkového potřebného výchozího přenosu dat

Pomocí následujícího vzorce určete celkový potřebný výchozí přenos dat.

Celkový potřebný výchozí přenos dat = průměrná šířka pásma x počet souběžných prohlížečů x procentozpracovaných koncovým bodem streamování.

Pojďme se podívat na jednotlivé násobitele:

Průměrná šířka pásma. Jaká je průměrná přenosová rychlost, kterou plánujete streamovat? Jinými slovy, pokud budete mít k dispozici více přenosových rychlostí, jaká přenosová rychlost je průměr všech datových toků, které plánujete? To můžete odhadnout pomocí jedné z následujících metod:

Pro živou událost, která zahrnuje kódování:

  • Pokud nevíte, jaká bude průměrná šířka pásma, můžete jako odhad použít naše nejvyšší přenosové rychlosti. Naše nejvyšší přenosová rychlost je 5,5 Mb/s pro živé události v kódování 1080p, takže průměrná přenosová rychlost bude někde kolem 3,5 Mb/s.

  • Podívejte se na předvolbu kódování použitou pro kódování živé události, například předvolbu AdaptiveStreaming(H.264). Podívejte se na tento příklad výstupu.

Pro živou událost, která jednoduše používá předávací a nezakódované:

  • Zkontrolujte žebřík kódování přenosových rychlostí používaný místním kodérem.

Počet souběžných diváků Kolik souběžných diváků se očekává? To může být obtížné odhadnout, ale na základě zákaznických dat postupujte co nejlépe. Streamujete konferenci globálnímu publiku? Plánujete živý stream, který zákazníkům prodá sadu produktů?

Procento provozuzpracovávanéhokoncovým bodem streamování To se dá vyjádřit také jako "procento provozu, které NEZvládá CDN", protože to je číslo, které ve skutečnosti jde do vzorce. Takže s ohledem na to, jaký očekáváte snížení zátěže CDN? Pokud se očekává, že CDN bude zpracovávat 90 % živého provozu, očekává se v koncovém bodu streamování pouze 10 % provozu. Číslo použité ve vzorci je 0,10, což je procento očekávaného provozu na koncovém bodu streamování.

Určení potřebného počtu jednotek streamování Premium

Potřeba jednotek streamování Premium = Průměrná šířka pásma × počet diváků × Procento provozu nezvládne CDN / 200 Mb/s

Příklad

Nedávno jste vydali nový produkt a chcete ho prezentovat zavedeným zákazníkům. Chcete nízkou latenci, protože nechcete frustrovat již zaneprázdněnou cílovou skupinu, takže budete používat koncové body streamování Premium a síť CDN.

Máte přibližně 100 000 zákazníků, ale pravděpodobně nebudou všichni watch vaší živé události. Hádáte, že v nejlepším případě se jich zúčastní pouze 1 %, což znamená, že počet vašich očekávaných souběžných diváků je 1 000.

Počet souběžných uživatelů =1 000

Rozhodli jste se, že ke kódování živého streamu použijete Media Services a nebudete používat předávání. Nevíte, jaká bude průměrná šířka pásma, ale víte, že budete dodávat v 1080p (nejvyšší přenosová rychlost 5,5 Mb/s), takže se průměrná šířka pásma pro výpočty odhaduje na 3,5 Mb/s.

Průměrná šířka pásma =3,5

Vzhledem k tomu, že vaše publikum je rozptýlené po celém světě, očekáváte, že CDN bude zpracovávat většinu (90 %) živého provozu. Proto koncové body streamování úrovně Premium budou zpracovávat pouze 10 % provozu.

Procento zpracovávané koncovým bodem streamování =10 % = 0,1

Pomocí výše uvedeného vzorce:

Celkový potřebný výchozí přenos dat = průměrná šířka pásma x počet souběžných diváků x procento zpracovaných koncovým bodem streamování.

celkový potřebný výchozí přenos dat = 3,5 x 1 000 x 0,1

celkový potřebný výchozí přenos dat = 350 Mb/s

Vydělením celkového výchozího přenosu dat 200 určíte, že potřebujete 1,75 jednotek streamování Premium.

Potřeba = jednotek streamování premiumcelkový potřebný výchozí přenos dat / 200 Mpb

Potřeba jednotek streamování premium = 1,75

Toto číslo zaokrouhlíme na 2, takže budeme potřebovat 2 jednotky.

Použití portálu k odhadu vašich potřeb

Azure Portal vám může pomoct zjednodušit výpočty. Na stránce streamování můžete pomocí kalkulačky uvedené zobrazit odhadovaný dosah cílové skupiny při změně průměrné šířky pásma, poměru přístupů CDN a počtu jednotek streamování.

  1. Na stránce účtu media services vyberte v nabídce Steaming endpoints (Koncové body steaming ).

  2. Výběrem možnosti Přidat koncový bod streamování přidejte nový koncový bod streamování.

  3. Zadejte název koncového bodu streamování.

  4. Jako typ koncového bodu streamování vyberte Koncový bod streamování Premium .

  5. Vzhledem k tomu, že se vám v tuto chvíli zobrazuje pouze odhad, nezačínejte po vytvoření koncový bod streamování. Vyberte Ne.

  6. Jako cenovou úroveň CDN vyberte Standard Verizon nebo Premium Verizon . Název profilu se odpovídajícím způsobem změní. Název nechte pro toto cvičení tak, jak je.

  7. U profilu CDN vyberte Vytvořit nový.

  8. Vyberte Vytvořit. Po nasazení koncového bodu se zobrazí obrazovka koncových bodů streamování.

  9. Vyberte koncový bod streamování, který jste právě vytvořili. Zobrazí se obrazovka koncového bodu streamování s odhady dosahu cílové skupiny.

  10. Výchozí nastavení koncového bodu streamování s 1 jednotkou streamování ukazuje, že se odhaduje, že se streamuje do 571 souběžných diváků rychlostí 3,5 Mb/s s pomocí 90 % cdN a 10 % koncového bodu streamování.

  11. Změňte procento zdroje výchozího přenosu dat z 90 % z mezipaměti CDN na 0 %. Kalkulačka odhadne, že budete moct streamovat do 57 souběžných diváků rychlostí 3,5 Mb/s při 200 Mb/s bez CDN.

  12. Teď změňte výchozí zdroj zpět na 90 %.

  13. Pak změňte jednotky streamování na 2. Kalkulačka odhadne, že budete moct streamovat do 1143 souběžných diváků rychlostí 3,5 Mb/s s 4000 Mpbs, přičemž CDN bude zpracovávat 90 % provozu.

  14. Vyberte Uložit.

  15. Můžete spustit koncový bod streamování a zkusit do něj odeslat provoz. Metriky v dolní části obrazovky budou sledovat skutečný provoz.

Časování

Jednotky streamování můžete zřídit 1 hodinu před očekávaným využitím ve špičce, abyste zajistili, že jednotky streamování budou připravené.

Získání nápovědy a podpory

Službu Media Services můžete kontaktovat s dotazy nebo můžete sledovat naše aktualizace jedním z následujících způsobů: