Filtrování manifestů pomocí dynamického packageru

Logo Media Services v3


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 :

diagnostika azure media playeru

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.

rendition filter 2 diagram

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.

diagram filtru verzí

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.

diagram jazykového filtru

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.

trim filter diagram

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.

diagram filtru dílčích tří teček

Tady je filtrovaný prostředek:

ski filter diagram

Ú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).

diagram filtru dvr

Ú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.

Diagram živého filtru zásady

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.

Diagram filtru více 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:

  1. 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í.
  2. 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.
  3. 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ů: