Filtry

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 (události živého streamování nebo video 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 nabízí dynamické manifesty založené na předdefinovaných filtrech.

Filtry jsou pravidla na straně serveru, která zákazníkům umožňují například:

  • Přehrávejte jenom část videa (místo přehrávání celého videa). Příklad:
    • Zmenšením manifestu zobrazíte dílčí klip živé události (filtrování dílčího klipu) nebo
    • Oříznout začátek videa ("oříznutí videa").
  • Doručujte pouze určené verze a/nebo zadané jazykové stopy podporované zařízením, které se používá k přehrávání obsahu ("filtrování verzí").
  • Upravte okno prezentace (DVR) tak, aby poskytovalo omezenou délku okna záznamu v přehrávači ("úprava okna prezentace").

Služba Media Services umožňuje vytvářet filtry účtů a filtry assetů pro váš obsah. Kromě toho můžete předem vytvořené filtry přidružit k lokátoru streamování.

Typy filtrů

Existují dva typy filtrů:

  • Filtry účtů (globální) – je možné použít u libovolného prostředku v účtu Azure Media Services s životností účtu.
  • Filtry prostředků (místní) – lze použít pouze u prostředku, ke kterému byl filtr přidružený při vytvoření, a má životnost prostředku.

Typy Filtry účtů a Filtry prostředků mají přesně stejné vlastnosti pro definování nebo popis filtru. Kromě toho, že při vytváření filtru prostředků musíte zadat název prostředku, ke kterému chcete filtr přidružit.

V závislosti na vašem scénáři se rozhodnete, jaký typ filtru je vhodnější (filtr aktiv nebo filtr účtů). Filtry účtů jsou vhodné pro profily zařízení (filtrování verzí), kde se filtry aktiv dají použít k oříznutí konkrétního prostředku.

K popisu filtrů použijete následující vlastnosti.

Název Description
firstQuality První přenosová rychlost pro kvalitu filtru.
presentationTimeRange Časový rozsah prezentace manifestu živé události. Tato vlastnost se používá k filtrování počátečních a koncových bodů manifestu, délky okna prezentace a živé počáteční pozice.
Další informace najdete v tématu PresentationTimeRange.
Skladby Sleduje podmínky výběru. Další informace najdete v tématu Stopy.

presentationTimeRange

Tuto vlastnost použijte s filtry prostředků. Nedoporučuje se nastavovat vlastnost s filtry účtů.

Název Description
startTimestamp Platí pro video na vyžádání (VoD) nebo živé streamování.
Jedná se o dlouhou hodnotu, která představuje absolutní počáteční bod datového proudu. Hodnota se zaokrouhlí na nejbližší další začátek gop. Jednotkou je časová osa, takže počáteční časová osa 150000000 bude 15 sekund.
Pomocí startTimestamp a endTimestamp můžete oříznout fragmenty, které budou v seznamu stop (manifest).
Například startTimestamp=40000000 a endTimestamp=100000000 pomocí výchozí časové osy vygenerují seznam stop, který obsahuje fragmenty od 4 sekund do 10 sekund prezentace VoD. Pokud fragment překáže hranici, bude celý fragment zahrnut do manifestu.
endTimestamp Platí pro video na vyžádání (VoD).
U prezentace Živé streamování se tato prezentace tiše ignoruje a použije se, když se prezentace ukončí a stream se změní na VoD.
Jedná se o dlouhou hodnotu, která představuje absolutní koncový bod prezentace zaokrouhlený na nejbližší začátek příštího gop. Jednotka je časová osa, takže endTimestamp 18000000000 by bylo po dobu 3 minut.
Pomocí startTimestamp a endTimestamp můžete oříznout fragmenty, které budou v seznamu stop (manifest).
Například startTimestamp=40000000 a endTimestamp=100000000 pomocí výchozí časové osy vygenerují seznam stop, který obsahuje fragmenty od 4 sekund do 10 sekund prezentace VoD. Pokud fragment překáže hranici, bude celý fragment zahrnut do manifestu.
Časové osy Platí pro všechna časová razítka a doby trvání v časovém rozsahu prezentace zadaného jako počet přírůstků v jedné sekundě.
Výchozí hodnota je 10000000 – deset milionů přírůstků za jednu sekundu, přičemž každý přírůstek bude dlouhý 100 nanosekund. Hodnota se ale může lišit v závislosti na zdroji videa nebo na tom, jestli používáte živou událost s kódováním v cloudu (výchozí hodnota je 90 kHz nebo 90000 pro video).
Pokud například chcete nastavit startTimestamp na 30 sekund, při použití výchozí časové osy byste použili hodnotu 3000000000. Nezapomeňte zkontrolovat manifest pro váš prostředek, abyste ověřili, že časová osa pro video track je ve vámi nastaveném měřítku. Při použití živých událostí s kódováním může být časová osa 90 kHz (90000) pro video stopy a 48 kHz (48000) pro zvukové stopy.
liveBackoffDuration Platí jenom pro živé streamování.
Tato hodnota definuje nejnovější živou pozici, kterou může klient hledat.
Pomocí této vlastnosti můžete zpozdit pozici živého přehrávání a vytvořit vyrovnávací paměť na straně serveru pro hráče.
Jednotkou pro tuto vlastnost je časová osa (viz níže).
Maximální doba živého zálohování je 300 sekund (300000000000).
Například hodnota 200000000000 znamená, že nejnovější dostupný obsah je zpožděný o 20 sekund od skutečné živé hrany.
presentationWindowDuration Platí jenom pro živé streamování.
Pomocí presentationWindowDuration můžete použít posuvné okno fragmentů, které chcete zahrnout do seznamu stop.
Jednotkou pro tuto vlastnost je časová osa (viz níže).
Například nastavením presentationWindowDuration=12000000000 použijete dvouminutové posuvné okno. Do seznamu stop budou zahrnuta média do 2 minut od živého okraje. Pokud se fragment rozkrokuje po hranici, bude celý fragment zahrnut do seznamu stop. Minimální doba trvání okna prezentace je 60 sekund.
forceEndTimestamp Platí jenom pro živé streamování.
Určuje, zda musí být k dispozici vlastnost endTimestamp. Pokud je true, musí být zadáno endTimestamp nebo se vrátí chybný kód požadavku.
Povolené hodnoty: false, true.

Skladby

Určíte seznam podmínek vlastností sledování filtru (FilterTrackPropertyConditions), na základě kterých se mají do dynamicky vytvořeného manifestu zahrnout stopy vašeho streamu (Živé streamování nebo Video na vyžádání). Filtry se kombinují pomocí logické operace AND a OR .

Podmínky vlastností sledování filtru popisují typy stop, hodnoty (popsané v následující tabulce) a operace (Equal, NotEqual).

Název Description
Datový tok Pro filtrování použijte přenosovou rychlost stopy.

Nejlepší hodnota je rozsah přenosových rychlostí v bitech za sekundu. Například "0-2427000".

Poznámka: I když můžete použít konkrétní hodnotu přenosové rychlosti, například 250000 (bitů za sekundu), tento přístup se nedoporučuje, protože přesné přenosové rychlosti můžou kolísat mezi každou z prostředků.
Fourcc Pro filtrování použijte hodnotu FourCC stopy.

Hodnota je prvním prvkem formátu kodeků, jak je uvedeno v RFC 6381. V současné době jsou podporovány následující kodeky:
Video: "avc1", "hev1", "hvc1"
Pro zvuk: "mp4a", "ec-3"

Pokud chcete určit hodnoty FourCC pro stopy v prostředku, získejte a prozkoumejte soubor manifestu.
Jazyk Pro filtrování použijte jazyk stopy.

Hodnota je značka jazyka, který chcete zahrnout, jak je uvedeno v DOKUMENTU RFC 5646. Například "en".
Název Pro filtrování použijte název stopy.
Typ Pro filtrování použijte typ stopy.

Jsou povoleny následující hodnoty: "video", "audio" nebo "text".

Příklad

Následující příklad definuje filtr živého streamování:

{
  "properties": {
    "presentationTimeRange": {
      "startTimestamp": 0,
      "endTimestamp": 170000000,
      "presentationWindowDuration": 9223372036854776000,
      "liveBackoffDuration": 0,
      "timescale": 10000000,
      "forceEndTimestamp": false
    },
    "firstQuality": {
      "bitrate": 128000
    },
    "tracks": [
      {
        "trackSelections": [
          {
            "property": "Type",
            "operation": "Equal",
            "value": "Audio"
          },
          {
            "property": "Language",
            "operation": "NotEqual",
            "value": "en"
          },
          {
            "property": "FourCC",
            "operation": "NotEqual",
            "value": "EC-3"
          }
        ]
      },
      {
        "trackSelections": [
          {
            "property": "Type",
            "operation": "Equal",
            "value": "Video"
          },
          {
            "property": "Bitrate",
            "operation": "Equal",
            "value": "3000000-5000000"
          }
        ]
      }
    ]
  }
}

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.

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í se dají průběžně aktualizovat, 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 mezipaměti 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.

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