Filtrování manifestů pomocí dynamického packageru
Upozornění
Služba Azure Media Services bude vyřazena 30. června 2024. Další informace najdete v průvodci vyřazením AMS.
Když do zařízení doručujete streamovací obsah s adaptivní přenosovou rychlostí, někdy potřebujete publikovat několik verzí manifestu, abyste mohli cílit na konkrétní možnosti zařízení nebo dostupnou šířku pásma sítě. Dynamický packager umožňuje zadat filtry, které můžou průběžně filtrovat konkrétní kodeky, rozlišení, přenosové rychlosti a kombinace zvukových stop. Filtrováním se odstraní nutnost vytvářet více kopií. Stačí jednoduše publikovat novou adresu URL s konkrétní sadou filtrů nakonfigurovanou pro vaše cílová zařízení (iOS, Android, SmartTV nebo prohlížeče) a síťové funkce (scénáře s velkou šířkou pásma, mobilní nebo s malou šířkou pásma). V takovém případě můžou klienti zpracovávat streamování vašeho obsahu prostřednictvím řetězce dotazu (zadáním dostupných filtrů prostředků nebo filtrů účtu) a pomocí filtrů streamovat konkrétní části datového proudu.
Některé scénáře doručení vyžadují, abyste měli jistotu, že zákazník nemá přístup ke konkrétním trasám. Možná například nechcete publikovat manifest, který obsahuje stopy HD, na konkrétní úroveň odběratele. Nebo možná chcete odebrat konkrétní stopy s adaptivní přenosovou rychlostí (ABR), abyste snížili náklady na doručení do konkrétního zařízení, které by nemělo užitek z dalších tras. V takovém případě můžete při vytváření přidružit k lokátoru streamování seznam předem vytvořených filtrů. Klienti pak nemůžou manipulovat s tím, jak se obsah streamuje, protože ho definuje lokátor streamování.
Filtrování můžete kombinovat zadáním filtrů v lokátoru streamování + dalších filtrů specifických pro zařízení, které klient zadá v adrese URL. Tato kombinace je užitečná k omezení dalších stop, jako jsou metadata nebo streamy událostí, zvukové jazyky nebo popisné zvukové stopy.
Tato možnost zadat různé filtry ve streamu poskytuje výkonné řešení manipulace s dynamickým manifestem , které cílí na několik scénářů použití pro vaše cílová zařízení. Toto téma vysvětluje koncepty související s dynamickými manifesty a uvádí příklady scénářů, ve kterých můžete tuto funkci použít.
Poznámka
Dynamické manifesty nemění prostředek ani výchozí manifest pro tento prostředek.
Přehled manifestů
Azure Media Services podporuje protokoly HLS, MPEG DASH a Smooth Streaming. Jako součást dynamického balení se manifesty klientů streamování (HLS Master Playlist, DASH Media Presentation Description [MPD] a Smooth Streaming) dynamicky generují na základě voliče formátu v adrese URL. Další informace najdete v tématu Doručovací protokoly v části Běžný pracovní postup na vyžádání.
Získání a prozkoumání souborů manifestu
Zadáte seznam podmínek vlastností sledování filtrování na základě toho, které stopy vašeho streamu (živé nebo video na vyžádání [VOD]) mají být zahrnuty do dynamicky vytvářeného manifestu. Pokud chcete získat a prozkoumat vlastnosti stop, musíte nejprve načíst manifest technologie Smooth Streaming.
Monitorování přenosové rychlosti streamu videa
Pomocí ukázkové stránky Azure Media Playeru můžete monitorovat přenosovou rychlost streamu videa. Na stránce s ukázkou se zobrazí diagnostické informace na kartě Diagnostika :
Příklady: Adresy URL s filtry v řetězci dotazu
Filtry můžete použít na streamovací protokoly ABR: HLS, MPEG-DASH a Technologie Smooth Streaming. V následující tabulce jsou uvedeny některé příklady adres URL s filtry:
Protokol | Příklad |
---|---|
HLS | https://amsv3account-usw22.streaming.media.azure.net/fecebb23-46f6-490d-8b70-203e86b0df58/bigbuckbunny.ism/manifest(format=m3u8-aapl,filter=myAccountFilter) |
MPEG DASH | https://amsv3account-usw22.streaming.media.azure.net/fecebb23-46f6-490d-8b70-203e86b0df58/bigbuckbunny.ism/manifest(format=mpd-time-csf,filter=myAssetFilter) |
Technologie Smooth Streaming | https://amsv3account-usw22.streaming.media.azure.net/fecebb23-46f6-490d-8b70-203e86b0df58/bigbuckbunny.ism/manifest(filter=myAssetFilter) |
Filtrování verzí
Asset můžete zakódovat do několika profilů kódování (H.264 Baseline, H.264 High, AACL, AACH, Dolby Digital Plus) a několika datových rychlostí kvality. Ne všechna klientská zařízení ale budou podporovat všechny profily a přenosové rychlosti vašeho prostředku. Například starší zařízení s Androidem podporují jenom H.264 Baseline+AACL. Odesílání vyšších přenosových rychlostí do zařízení, které nemůže získat výhody, plýtvá šířkou pásma a výpočty zařízení. Takové zařízení musí dekódovat všechny dané informace, pouze aby bylo možné vertikálně snížit jejich kapacitu pro zobrazení.
Pomocí dynamického manifestu můžete vytvořit profily zařízení (například mobilní, konzolové nebo HD/SD) a zahrnout stopy a vlastnosti, které chcete mít součástí každého profilu. Tomu se říká filtrování verzí. Následující diagram znázorňuje jeho příklad.
V horní části následujícího diagramu je manifest HLS pro prostředek bez filtrů. (Obsahuje všech sedm verzí.) V levém dolním rohu diagram znázorňuje manifest HLS, na který byl použit filtr s názvem "ott". Filtr "ott" určuje odebrání všech přenosových rychlostí nižších než 1 Mb/s, takže dvě nejnižší úrovně kvality byly v odpovědi odstraněny. Diagram v pravém dolním rohu znázorňuje manifest HLS, na který byl použit filtr s názvem "mobilní". Filtr "mobilní" určuje odebrání verzí, u kterých je rozlišení větší než 720p, takže dvě verze 1080p byly odstraněny.
Odebrání jazykových stop
Vaše prostředky můžou obsahovat více zvukových jazyků, například angličtinu, španělštinu, francouzštinu atd. Sada Player SDK obvykle spravuje výchozí výběr zvukové stopy a dostupné zvukové stopy podle výběru uživatele.
Vývoj takových sad Player SDK je náročný, protože vyžaduje různé implementace v architekturách přehrávačů specifických pro konkrétní zařízení. Na některých platformách jsou navíc rozhraní API přehrávače omezená a neobsahují funkci výběru zvuku, kdy uživatelé nemůžou vybrat nebo změnit výchozí zvukovou stopu. Pomocí filtrů prostředků můžete řídit chování tak, že vytvoříte filtry, které obsahují jenom požadované jazyky zvuku.
Oříznutí začátku prostředku
U většiny událostí živého streamování operátoři spouštějí některé testy před skutečnou událostí. Před začátkem události mohou například obsahovat tabulku typu "Program začne na chvíli".
Pokud se program archivuje, jsou do prezentace zahrnována také testovací a slate data. Tyto informace by se ale neměly zobrazovat klientům. Pomocí dynamického manifestu můžete vytvořit filtr počátečního času a odebrat z manifestu nežádoucí data.
Vytváření dílčích klipů (zobrazení) z živého archivu
Mnoho živých událostí běží dlouho a dynamický archiv může obsahovat více událostí. Po ukončení živé události mohou vysílatelé chtít rozdělit živý archiv na sekvence spuštění a zastavení logického programu.
Tyto virtuální programy můžete publikovat samostatně bez následného zpracování živého archivu a bez vytváření samostatných prostředků (což nezístvuje výhody stávajících fragmentů uložených v mezipaměti v sítích CDN). Příkladem takových virtuálních programů jsou čtvrtiny fotbalového nebo basketbalového zápasu, hostiny v baseballu nebo jednotlivé události jakéhokoli sportovního programu.
Pomocí dynamického manifestu můžete vytvářet filtry pomocí počátečního a koncového času a vytvářet virtuální zobrazení v horní části živého archivu.
Tady je filtrovaný prostředek:
Úprava okna prezentace (DVR)
Služba Azure Media Services v současné době nabízí cyklické archivace, kde je možné nakonfigurovat dobu trvání od 1 minuty do 25 hodin. Filtrování manifestu je možné použít k vytvoření posuvného okna DVR v horní části archivu bez odstranění média. Existuje mnoho scénářů, kdy provozovatelé vysílání chtějí poskytnout omezené okno DVR pro pohyb s živým okrajem a zároveň zachovat větší okno archivace. Vysílání může chtít použít data, která jsou mimo okno DVR, ke zvýraznění klipů nebo může chtít poskytnout různá okna záznamu pro různá zařízení. Například většina mobilních zařízení nezvládá velká okna DVR (můžete mít 2minutové okno DVR pro mobilní zařízení a jednu hodinu pro desktopové klienty).
Úprava LiveBackoff (živá pozice)
Filtrování manifestu lze použít k odebrání několika sekund z živého okraje živého programu. Filtrování umožňuje vysílatelům watch prezentaci v bodě náhledu publikace a vytvořit body vložení reklamy před tím, než diváci dostanou stream (odsud o 30 sekund). Provozovatelé vysílání pak můžou tyto reklamy nabízet do svých klientských architektur včas, aby tyto informace obdrželi a zpracovali před příležitostí k inzerci.
Kromě podpory reklamy je možné pomocí nastavení živého back-off upravit pozici diváků tak, aby klienti při posunu a dosažení živé hrany stále mohli získávat fragmenty ze serveru. Klienti tak nezískají chybu HTTP 404 nebo 412.
Kombinování více pravidel v jednom filtru
Do jednoho filtru můžete zkombinovat více pravidel filtrování. Můžete například definovat "pravidlo rozsahu", které odebere tabule z živého archivu a také vyfiltruje dostupné přenosové rychlosti. Když používáte více pravidel filtrování, konečným výsledkem je průnik všech pravidel.
Kombinování více filtrů (složení filtru)
V jedné adrese URL můžete také zkombinovat více filtrů. Následující scénář ukazuje, proč byste mohli chtít zkombinovat filtry:
- Kvality videa musíte filtrovat pro mobilní zařízení, jako je Android nebo iPad (aby se omezily kvality videa). Pokud chcete odebrat nežádoucí vlastnosti, vytvoříte filtr účtu vhodný pro profily zařízení. Filtry účtů můžete použít pro všechny své prostředky v rámci stejného účtu Media Services bez jakéhokoli dalšího přidružení.
- Chcete také oříznout počáteční a koncový čas prostředku. Pokud chcete provést oříznutí, vytvoříte filtr assetu a nastavíte počáteční a koncový čas.
- Oba tyto filtry chcete zkombinovat. Bez kombinace byste museli do filtru oříznutí přidat kvalitní filtrování, což by ztížilo použití filtru.
Pokud chcete zkombinovat filtry, nastavte názvy filtrů na adresu URL manifestu nebo seznamu stop ve formátu odděleném středníkem. Předpokládejme, že máte filtr s názvem MyMobileDevice , který filtruje kvality, a další s názvem MyStartTime pro nastavení konkrétního času spuštění. Můžete zkombinovat až tři filtry.
Důležité informace a omezení
Hodnoty forceEndTimestamp, presentationWindowDuration a liveBackoffDuration by neměly být nastaveny pro filtr VOD. Používají se jenom ve scénářích živého filtru.
Dynamický manifest funguje v hranicích GOP (klíčových snímcích), takže oříznutí má přesnost GOP.
Stejný název filtru můžete použít pro filtry účtů a prostředků. Filtry prostředků mají vyšší prioritu a přepíší filtry účtů.
Pokud aktualizujete filtr, může aktualizace pravidel koncovému bodu streamování trvat až 2 minuty. Pokud jste k poskytování obsahu použili filtry (a obsah jste ukládli do mezipaměti na proxy servery a mezipaměti CDN), může aktualizace těchto filtrů způsobit selhání přehrávače. Po aktualizaci filtru doporučujeme vymazat mezipaměť. Pokud tato možnost není možná, zvažte použití jiného filtru.
Zákazníci si musí manifest stáhnout ručně a parsovat přesné počáteční časové razítko a časové měřítko.
- Pokud chcete určit vlastnosti stop v prostředku, získejte a prozkoumejte soubor manifestu.
- Vzorec pro nastavení vlastností časového razítka filtru majetku:
startTimestamp = <čas spuštění v manifestu> + <očekávaný čas spuštění filtru v sekundách> × časová osa
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ů:
- Q & A
- Stack Overflow Označit otázky pomocí
azure-media-services
. - @MSFTAzureMedia nebo použijte @AzureSupport a požádejte o podporu.
- Otevřete lístek podpory prostřednictvím Azure Portal.