Průvodce osvědčenými postupy pro živé streamování Media Services
Zákazníci se často ptají, jak mohou snížit latenci živého streamu. Tento článek popisuje osvědčené postupy pro dosažení živých streamů s nízkou latencí a kromě kódování živých událostí.
Poznámka
Než budete pokračovat v čtení tohoto článku, přečtěte si článek HLS (LL-HLS ) s nízkou latencí a zjistěte nízkou latenci kódováním živých událostí. Pak se vraťte k této příručce, abyste pochopili, co dalšího může mít vliv na latenci streamování.
Existuje mnoho faktorů, které určují koncovou latenci datového proudu kromě toho, jak je médium kódováno. Tady je několik, které byste měli zvážit:
Zpoždění na straně kodéru pro příspěvek Když zákazníci používají kódovací software, jako je OBS Studio, Wirecast nebo jiné k odesílání živého streamu RTMP do Media Services. Nastavení tohoto softwaru má vliv na latenci živého streamu od konce do konce.
Zpoždění kanálu živého streamování ve službě Azure Media Services
Výkon CDN
Algoritmy ukládání do vyrovnávací paměti přehrávače videa a síťových podmínek na straně klienta
Načasování zřizování
Kodér pro přispívání
Máte kontrolu nad nastavením zdrojového kodéru před tím, než stream RTMP dosáhne Media Services. Tady je několik doporučení pro nastavení, která by vám poskytla nejnižší možnou latenci:
Vyberte fyzickou oblast, která je nejblíže kodéru pro přispívání pro váš účet Media Services. Tím zajistíte, že máte skvělé síťové připojení k účtu Media Services.
Použijte konzistentní velikost fragmentu. Doporučujeme velikost GOP 2 sekundy. Výchozí hodnota některých kodérů, jako je OBS, je 8 sekund. Ujistěte se, že toto nastavení změníte.
Pokud to váš kódovací software umožňuje, použijte kodér GPU. To by vám umožnilo přesměrovat práci procesoru na GPU.
Použijte profil kódování, který je optimalizovaný pro nízkou latenci. Pokud například s OBS Studio používáte kodér Nvidia H.264, může se zobrazit přednastavení nulové latence.
Odešlete obsah, který není v rozlišení vyšší než to, co plánujete streamovat. Pokud například používáte živé události kódování 720p, odešlete stream, který je již v 720p.
Pokud nepoužíváte průchozí živé události, zachovejte snímkovou rychlost na 30fps nebo nižší. I když podporujeme vstup 60 fps pro živé události, náš kódování výstup živé události stále není vyšší než 30 fps. Pro HLS s nízkou latencíse doporučuje pevná frekvence snímků a maximální doba trvání rámce by neměla překročit 0,5 sekund, aby bylo co nejlepší.
Konfigurace živé události Azure Media Services
Tady je několik konfigurací, které vám pomůžou snížit latenci v našem kanálu:
Pro živé události použijte možnosti streamu s nízkou latencí. Pro možnosti streamu standardního kódování (až 720p) a kódování Premium (až 1080p) použijte nastavení latence datového proudu s nízkou latencí, pokud nepotřebujete okno DVR delší než 6 hodin nebo hladký výstup streamování.
Doporučujeme zvolit výstup CMAF pro přehrávání HLS i DASH. To umožňuje sdílet stejné fragmenty pro oba formáty. Zvýší se poměr přístupů do mezipaměti při použití sítě CDN. Napří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)
Pokud musíte zvolit výstup TS, použijte poměr balení HLS 1. To nám umožňuje zabalit pouze jeden fragment do jednoho segmentu HLS. Nebudete mít plné výhody LL-HLS v nativních přehrávačích Apple.
Optimalizace přehrávače
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 LowLatencyV2
streamu nezapomeňte najít přehrávač, který podporuje HLS s nízkou latencí (LL-HLS). V závislosti na implementaci hráče ovlivňují rozhodnutí o ukládání do vyrovnávací paměti latenci, které divák sleduje. Špatné síťové podmínky nebo výchozí algoritmy, které upřednostňují kvalitu a stabilitu přehrávání, by mohly 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 do koncové latence.
Při použití Azure Media Playeru heuristiky s nízkou latencí profil optimalizuje přehrávač tak, aby měl nejnižší možnou latenci na straně přehrávače. Tento přehrávač podporuje pouze DASH, pokud ho nepoužíváte 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 do 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, aby se zajistilo efektivní doručování přenosů pro váš mediální obsah.
Doporučujeme použít Azure CDN, které poskytuje Verizon (Standard nebo Premium). Optimalizovali jsme prostředí integrace tak, aby zákazník mohl tento CDN nakonfigurovat jedním výběrem na webu Azure Portal. Při každém spuštění koncového bodu streamování nezapomeňte zapnout origin shield a optimalizaci streamování koncového bodu CDN.
Naši zákazníci mají také dobré zkušenosti s uvedením vlastní sítě 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 streamování nebo zdroj je sdílený prostředek, který zákazníkům s nízkým objemem provozu umožňuje streamovat obsah s nižšími náklady. Pokud očekáváte velké objemy provozu nebo plánujete použít CDN, byste ke škálování jednotek streamování použít standardní koncový bod streamování.
Koncový bod nebo zdroj streamování úrovně
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
K určení počtu koncových bodů streamování a potřebných jednotek streamování existují dva kroky:
Určete potřebný celkový výchozí přenos dat.
Vydělí celkový výchozí přenos dat o 200, což je maximální mb/s, kterou může každá jednotka streamování streamovat.
Určení celkového potřebného výchozího přenosu dat
Pomocí následujícího vzorce určete celkový výchozí přenos dat.
Potřeba celkového výchozího přenosu dat = průměrná šířka pásma x počet souběžných prohlížečů x procentzpracovaných koncovým bodem streamování.
Pojďme se podívat na každou z násobitelů:
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ěrem všech přenosových rychlostí, pro které plánujete? Můžete to odhadnout pomocí jedné z následujících metod:
Pro živou událost, která zahrnuje kódování:
Pokud nevíte, jaká bude vaše průměrná šířka pásma, můžete jako odhad použít naše nejvyšší přenosové rychlosti. Naše top přenosová rychlost je 5,5 Mb/s pro živé události s kódováním 1080p, takže vaš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á průchozí a nekóduje:
- Zkontrolujte žebřík přenosové rychlosti kódování 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 by mohlo být obtížné odhadnout, ale na základě zákaznických dat udělejte to nejlepší. Streamujete konferenci globálnímu publiku? Plánujete živý stream prodávat sadu produktů zákazníkům?
procento provozuzpracovávanékoncovým bodem streamování. To se dá vyjádřit také jako "procento provozu, které CDN nezpracuje", protože se jedná o číslo, které skutečně přejde do vzorce. Takže s ohledem na to, jaké je snižování zátěže CDN, kterou očekáváte? Pokud se očekává, že CDN zpracuje 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 provozu očekávaného v koncovém bodu streamování.
Určení počtu potřebných jednotek streamování Premium
potřebných jednotek streamování Premium = Průměrná šířka pásma x # diváků x procento provozu, které nezpracuje SÍŤ CDN / 200 Mb/s
Příklad
Nedávno jste vydali nový produkt a chcete ho prezentovat vašim zavedeným zákazníkům. Chcete nízkou latenci, protože nechcete frustrovat vaše již zaneprázdněné cílové skupiny, takže budete používat koncové body streamování úrovně Premium a CDN.
Máte přibližně 100 000 zákazníků, ale pravděpodobně nebudou všichni sledovat vaši živou událost. Předpokládáte, že v nejlepším případě se zúčastní pouze 1% z nich, což přináší očekávané souběžné diváky na 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 průchozí přenos. Nevíte, jaká bude průměrná šířka pásma, ale víte, že budete doručovat v 1080p (nejvyšší přenosovou rychlostí 5,5 Mb/s), takže se pro výpočty odhaduje průměrná šířka pásma 3,5 Mb/s.
Průměrná šířka pásma =3,5
Vzhledem k tomu, že vaše cílová skupina je rozptýlená po celém světě, očekáváte, že CDN bude zpracovávat většinu (90%) živého provozu. Koncové body streamování úrovně Premium proto budou zpracovávat pouze 10% provozu.
procent zpracovaných koncovým bodem streamování =10% = 0,1
Použití výše uvedeného vzorce:
Potřeba celkového výchozího přenosu dat = průměrná šířka pásma x počet souběžných prohlížečů x procent zpracovaných koncovým bodem streamování.
celkové potřebné výchozí přenosy dat = 3,5 x 1 000 x 0,1
celkové potřebné výchozí přenosy dat = 350 Mb/s
Vydělením celkového výchozího přenosu dat 200 zjistíte, že potřebujete 1,75 jednotek streamování Premium.
jednotky streamování Premium potřeba = celkové potřebné výchozí přenosy dat/200Mpbs
jednotky streamování Premium potřebné = 1,75
Toto číslo zaokrouhlíme na 2, což nám poskytne 2 potřebné jednotky.
Odhad vašich potřeb pomocí portálu
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í.
Na stránce účtu media services vyberte koncové body steamingu z nabídky.
Výběrem možnosti Přidat koncový bod streamovánípřidejte nový koncový bod streamování.
Dejte koncovému bodu streamování název.
Jako typ koncového bodu streamování vyberte koncový bod streamování Premium.
Vzhledem k tomu, že právě v tuto chvíli získáváte odhad, nespustíte koncový bod streamování po vytvoření. Vyberte Bez.
Vyberte Standard Verizon nebo Premium Verizon pro vaši cenovou úroveň CDN. Název profilu se odpovídajícím způsobem změní. Název ponechte tak, jak je pro toto cvičení.
Pro profil CDN vyberte Vytvořit nový.
Vyberte Vytvořit. Po nasazení koncového bodu se zobrazí obrazovka koncových bodů streamování.
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.
Výchozí nastavení koncového bodu streamování s 1 jednotkou streamování ukazuje, že se odhaduje streamování do 571 souběžných prohlížečů s 3,5 Mb/s pomocí 90% CDN a 10% koncového bodu streamování.
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 prohlížečů na 3,5 Mb/s na 200 Mb/s bez CDN. Nyní změňte zdroj výchozího přenosu dat
zpět na 90%. Potom změňte jednotky streamování na 2. Kalkulačka odhadne, že budete moct streamovat do 1143 souběžných prohlížečů na 3,5 Mb/s s 4000Mpbs s CDN zpracovávající 90% provozu.
Vyberte Uložit.
Koncový bod streamování můžete spustit a zkusit do něj odeslat provoz. Metriky v dolní části obrazovky budou sledovat skutečný provoz.
Načasování
Možná budete chtít zřídit jednotky streamování 1 hodinu před očekávaným využitím ve špičce, abyste zajistili připravenost jednotek streamování.
Získání nápovědy a podpory
Službu Media Services můžete kontaktovat s otázkami nebo postupovat podle našich aktualizací jedním z následujících způsobů:
- Q & A
-
Stack Overflow . Označte otázky pomocí
azure-media-services
. - @MSFTAzureMedia nebo pomocí @AzureSupport požádat o podporu.
- Otevřete lístek podpory prostřednictvím webu Azure Portal.