Vytváření filtrů pomocí rozhraní příkazového řádku
Upozornění
Služba Azure Media Services bude vyřazena 30. června 2024. Další informace najdete v průvodci vyřazením AMS.
Při doručování obsahu zákazníkům (streamování živých událostí nebo videa na vyžádání) může váš klient potřebovat větší flexibilitu, než je popsáno v souboru manifestu výchozího prostředku. Azure Media Services umožňuje definovat filtry účtů a filtry prostředků pro váš obsah.
Podrobný popis této funkce a scénáře, ve kterých se používá, najdete v tématu Dynamické manifesty a filtry.
Toto téma ukazuje, jak nakonfigurovat filtr pro prostředek Video na vyžádání a pomocí rozhraní příkazového řádku pro Media Services v3 vytvořit filtry účtů a filtry prostředků.
Poznámka
Nezapomeňte zkontrolovat presentationTimeRange.
Požadavky
- Vytvořte účet Media Services. Nezapomeňte si zapamatovat název skupiny prostředků a název účtu Media Services.
Definování filtru
Následující příklad definuje podmínky výběru sledování, které jsou přidány do konečného manifestu. Tento filtr zahrnuje všechny zvukové stopy, které jsou EC-3, a všechny video stopy, které mají přenosovou rychlost v rozsahu 0–1000000.
Tip
Pokud plánujete definovat filtry v REST, všimněte si, že musíte zahrnout objekt JSON obálky Vlastnosti.
[
{
"trackSelections": [
{
"property": "Type",
"value": "Audio",
"operation": "Equal"
},
{
"property": "FourCC",
"value": "EC-3",
"operation": "NotEqual"
}
]
},
{
"trackSelections": [
{
"property": "Type",
"value": "Video",
"operation": "Equal"
},
{
"property": "Bitrate",
"value": "0-1000000",
"operation": "Equal"
}
]
}
]
Vytvoření filtrů účtů
Následující příkaz az ams account-filter vytvoří filtr účtu s dříve definovanými výběry tras filtru.
Příkaz umožňuje předat volitelný --tracks
parametr, který obsahuje JSON představující výběry tras. K načtení kódu JSON ze souboru použijte @{file}. Pokud používáte Azure CLI místně, zadejte celou cestu k souboru:
az ams account-filter create -a amsAccount -g resourceGroup -n filterName --tracks @tracks.json
Podívejte se také na příklady JSON pro filtry.
Vytvoření filtrů prostředků
Následující příkaz az ams asset-filter vytvoří filtr prostředků s dříve definovanými výběry tras filtru.
az ams asset-filter create -a amsAccount -g resourceGroup -n filterName --asset-name assetName --tracks @tracks.json
Podívejte se také na příklady JSON pro filtry.
Přidružení filtrů k lokátoru streamování
Filtrování manifestů HLS nebo DASH při vytváření lokátoru streamování
Služba Media Services umožňuje vytvořit lokátor streamování, který je předem filtrován předáním kolekce filtrů ve vlastnosti filter v entitě lokátoru streamování. To vám umožní předem filtrovat všechny manifesty v lokátoru streamování. Původní manifest už není dostupný prostřednictvím tohoto lokátoru streamování a klientům, kteří požadují adresy URL pro DASH nebo HLS z filtrovaného lokátoru streamování, bude přístupná pouze filtrovaná odpověď. To je užitečné v situacích, kdy chcete publikovat jenom část prostředku a zabránit uživatelům v získání přístupu k úplnému původnímu manifestu pro prostředek manipulací s řetězcem dotazu adresy URL manifestu HLS nebo DASH. Tuto funkci doporučujeme použít, pokud chcete použít filtry, ale nechcete zveřejnit názvy filtrů v adrese URL, aby s nimi mohli zákazníci manipulovat sami.
V lokátoru streamování můžete zadat seznam filtrů prostředků nebo účtů. Dynamický packager použije tento seznam filtrů společně s filtry zadanými klientem v adrese URL. Tato kombinace vygeneruje dynamický manifest, který je založený na filtrech v adrese URL a filtrech, které zadáte v lokátoru streamování.
Aktualizace filtrů
Filtry a lokátory streamování můžou být průběžně aktualizované, ale mějte na paměti, že aktualizace všech aktualizací na front-endových webových serverech může trvat až 10 sekund. Pokud aktualizujete stejný lokátor streamování , který už byl publikovaný a použitý v produkčním prostředí, může docházet k problémům s ukládáním obsahu do podřízené sítě CDN.
Nedoporučuje se aktualizovat definici filtrů přidružených k aktivně publikovanému lokátoru streamování, zejména pokud je povolená síť CDN. Servery streamování a sítě CDN můžou mít interní mezipaměti, což může vést k vrácení zastaralých dat uložených v mezipaměti.
Pokud je potřeba změnit definici filtru, zvažte vytvoření nového filtru a jeho přidání na adresu URL lokátoru streamování nebo publikování jedinečného nového lokátoru streamování , který přímo odkazuje na aktualizovaný filtr.
Použití rozhraní příkazového řádku k vytvoření filtrovaného lokátoru streamování
Následující kód rozhraní příkazového řádku ukazuje, jak vytvořit lokátor streamování a zadat filters
. Jedná se o volitelnou vlastnost, která přebírá seznam názvů filtrů prostředků nebo názvů filtrů účtů oddělených mezerami.
az ams streaming-locator create -a amsAccount -g resourceGroup -n streamingLocatorName \
--asset-name assetName \
--streaming-policy-name policyName \
--filters filterName1 filterName2
Streamování pomocí filtrů
Jakmile definujete filtry, můžou je klienti používat v adrese URL streamování. Filtry je možné použít u protokolů streamování s adaptivní přenosovou rychlostí: Apple HTTP Live Streaming (HLS), MPEG-DASH a 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) |
Viz také
Získání nápovědy a podpory
Media Services můžete kontaktovat s dotazy nebo 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.