Vytváření filtrů pomocí rozhraní příkazového řádku

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.

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

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é

Azure CLI

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ů: