Uw manifesten filteren met Dynamic Packager

Media Services-logo v3


Waarschuwing

Azure Media Services wordt op 30 juni 2024 buiten gebruik gesteld. Zie de handleiding voor buitengebruikstelling van AMS voor meer informatie.

Wanneer u adaptive bitrate streaming-inhoud aan apparaten levert, moet u soms meerdere versies van een manifest publiceren om specifieke apparaatmogelijkheden of beschikbare netwerkbandbreedte te gebruiken. Met Dynamic Packager kunt u filters opgeven die specifieke codecs, resoluties, bitrates en combinaties van audiotracks on-the-fly kunnen filteren. Door te filteren hoeft u niet meer meerdere kopieën te maken. U hoeft alleen 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 manipuleren via de queryreeks (door beschikbare assetfilters of accountfilters op te geven) en filters 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 trajecten. 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 voor een specifiek apparaat te verlagen dat niet zou profiteren van de extra sporen. In dit geval kunt u bij het maken een lijst met vooraf gemaakte filters koppelen aan uw streaming-locator . Clients kunnen vervolgens niet manipuleren hoe de inhoud wordt gestreamd, omdat deze wordt gedefinieerd door de streaming-locator.

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

Deze mogelijkheid om verschillende filters in uw stream op te geven, biedt een krachtige oplossing voor het bewerken van dynamische manifesten voor meerdere use-casescenario's voor uw doelapparaten. In dit onderwerp worden concepten met betrekking tot dynamische manifesten uitgelegd en worden voorbeelden van scenario's weergegeven 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 Dynamische pakketten worden de streamingclientmanifesten (HLS Master Playlist, DASH Media Presentation Description [MPD] en Smooth Streaming) dynamisch gegenereerd op basis van de indelingskiezer in de URL. Zie de leveringsprotocollen in Algemene werkstroom op aanvraag voor meer informatie.

Manifestbestanden ophalen en onderzoeken

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

De bitsnelheid van een videostream bewaken

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

diagnostische gegevens van Azure Media Player

Voorbeelden: URL's met filters in queryreeks

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 voor meerdere coderingsprofielen (H.264 Baseline, H.264 High, AACL, AACH, Dolby Digital Plus) en meerdere kwaliteitsbitrates. 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 niet de voordelen kan krijgen, verspilt bandbreedte en apparaatberekeningen. Een dergelijk apparaat moet alle gegeven informatie decoderen, alleen om het omlaag te schalen voor weergave.

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

diagram van weergavefilter 2

Bovenaan het volgende diagram ziet u het HLS-manifest voor de asset zonder filters. (Het bevat alle zeven weergaven.) In de linkerbenedenhoek toont het diagram een HLS-manifest waarop een filter met de naam 'ott' is toegepast. Het filter 'ott' geeft aan dat alle bitrates onder 1 Mbps worden verwijderd, zodat de onderste twee kwaliteitsniveaus in het antwoord zijn verwijderd. In de rechterbenedenhoek toont 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 van audionummers en beschikbare audiosporen per gebruiker.

Het ontwikkelen van dergelijke Player SDK's is een uitdaging, omdat hiervoor verschillende implementaties nodig zijn in apparaatspecifieke spelerframeworks. Op sommige platforms zijn Player-API's ook beperkt en bevatten ze geen audioselectiefunctie waarbij 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 inkorten

In de meeste livestreaminggebeurtenissen voeren operators enkele tests uit vóór de werkelijke gebeurtenis. Ze kunnen bijvoorbeeld een slate bevatten zoals deze vóór het begin van de gebeurtenis: 'Het programma begint tijdelijk'.

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

filterdiagram bijsnijden

Subclips (weergaven) maken vanuit een livearchief

Veel livegebeurtenissen zijn langdurig en het livearchief kan meerdere gebeurtenissen bevatten. Nadat de livegebeurtenis is beëindigd, willen omroepen het livearchief mogelijk opsplitsen in logische reeksen voor het starten en stoppen van programma's.

U kunt deze virtuele programma's afzonderlijk publiceren zonder het livearchief na te verwerken en geen afzonderlijke assets te maken (wat niet het 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 waarin omroepen een beperkt DVR-venster willen bieden om mee te gaan met de liverand en tegelijkertijd een groter archiveringsvenster willen behouden. Een omroep kan de gegevens die buiten het DVR-venster staan gebruiken om clips te markeren, of ze willen mogelijk verschillende DVR-vensters voor verschillende apparaten bieden. 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 op het preview-publicatiepunt watch en advertentie-invoegpunten maken voordat de kijkers de stream ontvangen (30 seconden). Omroepen kunnen deze advertenties vervolgens op tijd naar hun klantframeworks pushen zodat ze de informatie vóór de advertentiekans kunnen ontvangen en verwerken.

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 bereiken, ze nog steeds fragmenten van de server kunnen krijgen. Op die manier krijgen clients geen HTTP 404- of 412-fout.

live filterdiagram voor uitstel

Meerdere regels combineren in één filter

U kunt meerdere filterregels combineren in één filter. U kunt bijvoorbeeld een 'bereikregel' definiëren om leien 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 combineren in één URL. In het volgende scenario ziet u waarom u filters mogelijk wilt combineren:

  1. U moet uw videokwaliteiten filteren voor mobiele apparaten, zoals Android of iPad (om videokwaliteiten te beperken). Als u de ongewenste eigenschappen 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 inkorten. Als u het inkorten wilt uitvoeren, maakt u een assetfilter en stelt u de begin-/eindtijd in.
  3. U wilt beide filters combineren. Zonder combinatie moet u kwaliteitsfilters toevoegen aan het bijsnijdfilter, waardoor het gebruik van filters moeilijker wordt.

Als u filters wilt combineren, stelt u de filternamen in op de manifest-/afspeellijst-URL in de indeling met puntkomma's. Stel dat u een filter hebt met de naam MyMobileDevice waarmee kwaliteiten worden gefilterd en dat u nog een filter hebt met de naam MyStartTime om een specifieke begintijd in te stellen. U kunt maximaal drie filters combineren.

Overwegingen en beperkingen

  • De waarden voor forceEndTimestamp, presentationWindowDuration en liveBackoffDuration mogen niet worden ingesteld voor een VOD-filter. Ze worden alleen gebruikt voor scenario's met livefilters.

  • Een dynamisch manifest werkt in GOP-grenzen (sleutelframes), dus het 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 heeft vernieuwd. Als u filters hebt gebruikt om de inhoud te leveren (en u de inhoud in de cache hebt opgeslagen in proxy's en CDN-caches), kan het bijwerken van deze filters leiden tot spelerfouten. We raden u aan de cache te wissen nadat u het filter hebt bijgewerkt. Als deze optie niet mogelijk is, kunt u een ander filter gebruiken.

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

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

Help en ondersteuning

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