Delen via


Uw manifesten filteren met dynamic Packager

Media Services-logo v3


Waarschuwing

Azure Media Services wordt op 30 juni 2024 buiten gebruik gesteld. Zie de AMS Retirement Guidevoor meer informatie.

Wanneer u adaptieve bitrate streaming-inhoud aan apparaten levert, moet u soms meerdere versies van een manifest publiceren om specifieke apparaatmogelijkheden of beschikbare netwerkbandbreedte te bereiken. Met de Dynamic Packager kunt u filters opgeven waarmee specifieke codecs, resoluties, bitrates en combinaties van audiotracks on-the-fly kunnen worden gefilterd. Als u filtert, hoeft u niet meerdere kopieën te maken. U hoeft alleen maar een nieuwe URL te publiceren met een specifieke set filters die zijn geconfigureerd voor uw doelapparaten (iOS, Android, SmartTV of browsers) en de netwerkmogelijkheden (scenario's met hoge bandbreedte, mobiel of lage bandbreedte). In dit geval kunnen clients de streaming van uw inhoud bewerken via de querytekenreeks (door beschikbare Assetfilters of Accountfilters) op te geven en filters te gebruiken om specifieke secties van een stream te streamen.

Voor sommige leveringsscenario's moet u ervoor zorgen dat een klant geen toegang heeft tot specifieke sporen. Misschien wilt u bijvoorbeeld geen manifest met HD-nummers publiceren naar een specifieke abonneelaag. Of misschien wilt u specifieke ABR-sporen (Adaptive Bitrate) verwijderen om de leveringskosten te verlagen naar een specifiek apparaat dat niet zou profiteren van de extra sporen. In dit geval kunt u een lijst met vooraf gemaakte filters koppelen aan uw streaming-locator bij het maken. Clients kunnen vervolgens niet bewerken hoe de inhoud wordt gestreamd omdat deze is gedefinieerd door de streaming-locator.

U kunt filteren combineren door filters op te geven op streaming-locator + extra apparaatspecifieke filters die uw client in de URL opgeeft. Deze combinatie is handig om extra nummers zoals metagegevens of gebeurtenisstromen, audiotalen of beschrijvende audiosporen te beperken.

Deze mogelijkheid om verschillende filters in uw stream op te geven, biedt een krachtige Dynamic Manifest manipulatieoplossing om meerdere use-casescenario's voor uw doelapparaten te richten. In dit onderwerp worden concepten beschreven met betrekking tot dynamische manifesten en worden voorbeelden weergegeven van scenario's waarin u deze functie kunt gebruiken.

Notitie

Dynamische manifesten wijzigen de asset en het standaardmanifest voor die asset niet.

Overzicht van manifesten

Azure Media Services ondersteunt HLS-, MPEG DASH- en Smooth Streaming-protocollen. Als onderdeel van Dynamic Packagingworden de streamingclientmanifesten (HLS Master Playlist, DASH Media Presentation Description [MPD] en Smooth Streaming) dynamisch gegenereerd op basis van de indelingkiezer in de URL. Zie de leveringsprotocollen in Algemene werkstroom op aanvraagvoor meer informatie.

Manifestbestanden ophalen en onderzoeken

U geeft een lijst met voorwaarden voor het bijhouden van filters op op basis van welke sporen van uw stream (live of video on-demand [VOD]) moeten worden opgenomen in een dynamisch gemaakt manifest. Als u de eigenschappen van de tracks wilt ophalen en onderzoeken, moet u eerst het Smooth Streaming-manifest laden.

De bitrate van een videostream bewaken

U kunt de demopagina van Azure Media Player gebruiken om de bitsnelheid van een videostream te bewaken. Op de demopagina worden diagnostische gegevens weergegeven op het tabblad Diagnostische gegevens.

Voorbeelden: URL's met filters in querytekenreeks

U kunt filters toepassen op ABR-streamingprotocollen: HLS, MPEG-DASH en Smooth Streaming. In de volgende tabel ziet u enkele voorbeelden van URL's met filters:

Protocol Voorbeeld
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)
Smooth Streaming https://amsv3account-usw22.streaming.media.azure.net/fecebb23-46f6-490d-8b70-203e86b0df58/bigbuckbunny.ism/manifest(filter=myAssetFilter)

Weergavefilters

U kunt ervoor kiezen om uw asset te coderen naar meerdere coderingsprofielen (H.264 Baseline, H.264 High, AACL, AACH, Dolby Digital Plus) en meerdere bitrates van kwaliteit. Niet alle clientapparaten ondersteunen echter alle profielen en bitrates van uw asset. Oudere Android-apparaten ondersteunen bijvoorbeeld alleen H.264 Baseline+AACL. Het verzenden van hogere bitrates naar een apparaat dat de voordelen niet kan krijgen, verspilt bandbreedte en apparaatberekening. Een dergelijk apparaat moet alle opgegeven informatie decoderen, alleen om deze omlaag te schalen voor weergave.

Met Dynamic Manifest kunt u apparaatprofielen (zoals mobiel, console of HD/SD) maken en de sporen en kwaliteiten opnemen die u wilt gebruiken als onderdeel van elk profiel. Dat wordt weergavefiltering genoemd. In het volgende diagram ziet u een voorbeeld hiervan.

weergavefilter 2

Bovenaan het volgende diagram ziet u het HLS-manifest voor de asset zonder filters. (Deze bevat alle zeven weergaven.) Linksonder ziet u in het diagram een HLS-manifest waarop een filter met de naam 'ott' is toegepast. Het filter 'ott' geeft de verwijdering van alle bitrates onder 1 Mbps aan, dus de onderste twee kwaliteitsniveaus zijn verwijderd in het antwoord. Rechtsonder ziet u in het diagram het HLS-manifest waarop een filter met de naam 'mobiel' is toegepast. Het filter 'mobiel' geeft het verwijderen van weergaven aan waarbij de resolutie groter is dan 720p, zodat de twee 1080p-weergaven zijn verwijderd.

weergavefilterdiagram

Taalsporen verwijderen

Uw assets kunnen meerdere audiotalen bevatten, zoals Engels, Spaans, Frans, enzovoort. Normaal gesproken beheert de Player SDK de standaardselectie voor audionummers en beschikbare audiosporen per gebruikersselectie.

Het ontwikkelen van dergelijke Player SDK's is lastig omdat er verschillende implementaties nodig zijn voor apparaatspecifieke spelerframeworks. Op sommige platforms zijn speler-API's ook beperkt en bevatten ze niet de functie voor audioselectie waarin gebruikers het standaardaudiospoor niet kunnen selecteren of wijzigen. Met assetfilters kunt u het gedrag beheren door filters te maken die alleen de gewenste audiotalen bevatten.

taalfilterdiagram

Het begin van een asset bijsnijden

In de meeste livestreamgebeurtenissen voeren operators enkele tests uit vóór de werkelijke gebeurtenis. Ze kunnen bijvoorbeeld een lei als deze bevatten vóór het begin van de gebeurtenis: 'Programma begint momentarily'.

Als het programma wordt gearchiveerd, worden de test- en leigegevens ook gearchiveerd en opgenomen in de presentatie. Deze informatie mag echter niet worden weergegeven voor de clients. Met Dynamisch manifest kunt u een begintijdfilter maken en de ongewenste gegevens uit het manifest verwijderen.

filterdiagram knippen

Subclips (weergaven) maken vanuit een livearchief

Veel livegebeurtenissen zijn langlopend en het livearchief kan meerdere gebeurtenissen bevatten. Nadat de livegebeurtenis is beëindigd, kunnen omroepen het livearchief opsplitsen in logische programma-start- en stopreeksen.

U kunt deze virtuele programma's afzonderlijk publiceren zonder het livearchief te verwerken en geen afzonderlijke assets te maken (wat geen voordeel heeft van de bestaande fragmenten in de cache in de CDN's). Voorbeelden van dergelijke virtuele programma's zijn de kwartalen van een voetbal- of basketbalwedstrijd, innings in honkbal of individuele evenementen van een sportprogramma.

Met Dynamisch manifest kunt u filters maken met behulp van begin-/eindtijden en virtuele weergaven maken boven aan uw livearchief.

filterdiagram voor subsclips

Dit is de gefilterde asset:

skifilterdiagram

Het presentatievenster aanpassen (DVR)

Momenteel biedt Azure Media Services circulaire archivering waarbij de duur kan worden geconfigureerd tussen 1 minuut en 25 uur. Manifestfiltering kan worden gebruikt om een rolling DVR-venster boven aan het archief te maken, zonder media te verwijderen. Er zijn veel scenario's waarbij omroepen een beperkt DVR-venster willen bieden om met de liverand te navigeren en tegelijkertijd een groter archiveringsvenster te behouden. Een omroep wil mogelijk de gegevens gebruiken die zich buiten het DVR-venster bevinden om clips te markeren, of ze willen mogelijk verschillende DVR-vensters bieden voor verschillende apparaten. De meeste mobiele apparaten verwerken bijvoorbeeld geen grote DVR-vensters (u kunt een DVR-venster van 2 minuten hebben voor mobiele apparaten en één uur voor desktopclients).

dvr-filterdiagram

LiveBackoff aanpassen (livepositie)

Manifestfiltering kan worden gebruikt om enkele seconden van de liverand van een live-programma te verwijderen. Met filteren kunnen omroepen de presentatie bekijken op het preview-publicatiepunt en advertentieinvoegpunten maken voordat de kijkers de stream ontvangen (ondersteund door 30 seconden). Omroepen kunnen deze advertenties vervolgens tijdig naar hun clientframeworks pushen om de informatie te ontvangen en te verwerken vóór de advertentiekans.

Naast de ondersteuning voor advertenties kan de live back-off-instelling worden gebruikt om de positie van de kijkers aan te passen, zodat wanneer clients afdrijven en de liverand raken, ze nog steeds fragmenten van de server kunnen krijgen. Op die manier krijgen clients geen HTTP 404- of 412-fout.

live backoff-filterdiagram

Meerdere regels in één filter combineren

U kunt meerdere filterregels in één filter combineren. U kunt bijvoorbeeld een bereikregel definiëren om slaten uit een livearchief te verwijderen en ook beschikbare bitrates uit te filteren. Wanneer u meerdere filterregels toepast, is het eindresultaat het snijpunt van alle regels.

filterdiagram met meerdere regels

Meerdere filters combineren (filtersamenstelling)

U kunt ook meerdere filters in één URL combineren. In het volgende scenario ziet u waarom u filters kunt combineren:

  1. U moet uw videokwaliteiten filteren voor mobiele apparaten, zoals Android of iPad (om videokwaliteiten te beperken). Als u de ongewenste kwaliteiten wilt verwijderen, maakt u een accountfilter dat geschikt is voor de apparaatprofielen. U kunt accountfilters gebruiken voor al uw assets onder hetzelfde Media Services-account zonder verdere koppeling.
  2. U wilt ook de begin- en eindtijd van een asset bijsnijden. Als u het bijsnijden wilt uitvoeren, maakt u een assetfilter en stelt u de begin- en eindtijd in.
  3. U wilt beide filters combineren. Zonder combinatie moet u kwaliteitsfilters toevoegen aan het bijsnijdfilter, waardoor het filtergebruik moeilijker wordt.

Als u filters wilt combineren, stelt u de filternamen in op de URL van het manifest/de afspeellijst in een door puntkomma's gescheiden indeling. Stel dat u een filter hebt met de naam MyMobileDevice dat kwaliteiten filtert en u een andere naam hebt MyStartTime om een specifieke begintijd in te stellen. U kunt maximaal drie filters combineren.

Overwegingen en beperkingen

  • De waarden voor forceEndTimestamp, presentationWindowDurationen liveBackoffDuration mogen niet worden ingesteld voor een VOD-filter. Ze worden alleen gebruikt voor livefilterscenario's.

  • Een dynamisch manifest werkt in GOP-grenzen (sleutelframes), dus bijsnijden heeft GOP-nauwkeurigheid.

  • U kunt dezelfde filternaam gebruiken voor account- en assetfilters. Assetfilters hebben een hogere prioriteit en overschrijven accountfilters.

  • Als u een filter bijwerkt, kan het tot 2 minuten duren voordat het streaming-eindpunt de regels vernieuwt. Als u filters hebt gebruikt om de inhoud te leveren (en u de inhoud in proxy's en CDN-caches hebt opgeslagen), kunnen het bijwerken van deze filters leiden tot fouten in de speler. U wordt aangeraden de cache te wissen na het bijwerken van het filter. Als deze optie niet mogelijk is, kunt u overwegen een ander filter te gebruiken.

  • Klanten moeten het manifest handmatig downloaden en het exacte begintijdstempel en de tijdschaal parseren.

    • Als u eigenschappen van de sporen in een asset wilt bepalen, het manifestbestand ophalen en onderzoeken.
    • De formule voor het instellen van de tijdstempeleigenschappen van het activumfilter is:
      startTimestamp = <begintijd in het manifest> + <verwachte begintijd van filter in seconden> * tijdschaal

Hulp en ondersteuning krijgen

U kunt contact opnemen met Media Services met vragen of onze updates volgen op een van de volgende manieren: