Share via


Erstellen von Filtern mit der CLI

Media Services-Logo v3


Warnung

Azure Media Services wird am 30. Juni 2024 eingestellt. Weitere Informationen finden Sie im Leitfaden zur Einstellung von AMS.

Bei der Inhaltsbereitstellung für Ihre Kunden (Streaming von Liveereignissen oder Video on Demand) benötigen Ihre Kunden möglicherweise mehr Flexibilität als in der Manifestdatei für die Standardmediendatei beschrieben. Azure Media Services ermöglicht es Ihnen, Kontofilter und Medienobjektfilter für Ihre Inhalte zu definieren.

Eine ausführliche Beschreibung dieses Features und der Szenarien, in denen es verwendet wird, finden Sie unter Dynamische Manifeste und Filter.

In diesem Thema werden das Konfigurieren eines Filters für ein Video on Demand-Medienobjekt und die Verwendung der Befehlszeilenschnittstelle für Media Services v3 zum Erstellen von Kontofiltern und Filtern für Medienobjekte gezeigt.

Hinweis

Lesen Sie die Informationen zu presentationTimeRange.

Voraussetzungen

Definieren eines Filters

Das folgende Beispiel definiert die Titelauswahlbedingungen, die dem endgültigen Manifest hinzugefügt werden. Dieser Filter bezieht alle EC-3-Audiotitel und alle Videotitel mit Bitraten im Bereich von 0–1000000 ein.

Tipp

Wenn Sie planen, Filter in REST zu definieren, beachten Sie, dass Sie das JSON-Wrapperobjekt „Properties“ einschließen müssen.

[
    {
        "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"
            }
        ]
    }
]

Erstellen von Kontofiltern

Der folgende az ams account-filter-Befehl erstellt einen Kontofilter mit zuvor definierten Titelfilter-Auswahloptionen.

Mit diesem Befehl können Sie einen optionalen --tracks-Parameter übergeben, der JSON-Code für die ausgewählten Spuren enthält. Verwenden Sie „@{file}“, um den JSON-Code aus einer Datei zu laden. Wenn Sie die Azure CLI lokal verwenden, geben Sie den gesamten Dateipfad an:

az ams account-filter create -a amsAccount -g resourceGroup -n filterName --tracks @tracks.json

Siehe auch JSON-Beispiele für Filter.

Erstellen von Medienobjektfiltern

Der folgende az ams asset-filter-Befehl erstellt einen Medienobjektfilter mit zuvor definierten Titelfilter-Auswahloptionen.

az ams asset-filter create -a amsAccount -g resourceGroup -n filterName --asset-name assetName --tracks @tracks.json

Siehe auch JSON-Beispiele für Filter.

Zuordnen von Filtern mit Streaminglocator

Filtern von HLS- oder DASH-Manifesten bei der Erstellung eines Streaminglocators

Mit Media Services können Sie einen Streaminglocator erstellen, der vorab durch eine Filterserie gefiltert wird, die an die Filtereigenschaft der Streaminglocator-Entität übergeben wurde. Auf diese Weise können Sie alle über diesen Streaminglocator verfügbaren Manifeste vorab filtern. Das ursprüngliche Manifest ist über diesen Streaminglocator nicht mehr verfügbar. Clients, die vom gefilterten Streaminglocator URLs für DASH oder HLS anfordern, können lediglich auf die gefilterte Antwort zugreifen. Dies ist zum Beispiel praktisch, wenn Sie nur einen Teil eines Medienobjekts veröffentlichen möchten. Um zu verhindern, dass Benutzer Zugriff auf das vollständige Originalmanifest des Medienobjekts erhalten, können Sie die Abfragezeichenfolge für die URL des HLS- oder DASH-Manifests mit einem solchen Filter manipulieren. Diese Funktion sollten Sie verwenden, wenn Sie Filter anwenden, die Filternamen aber nicht in der URL verfügbar machen möchten, um zu verhindern, dass Kunden selbst Änderungen vornehmen.

Sie können eine Liste von Medienobjekt- oder Kontofiltern für Ihren Streaminglocator angeben. Der dynamische Paketerstellungs-Manager wendet diese Liste der Filter zusammen mit den Filtern an, die Ihr Client in der URL angibt. Diese Kombination generiert ein dynamisches Manifest, das auf Filtern in den URL und Filtern basiert, die Sie im Streaminglocator angeben.

Aktualisieren von Filtern

Filter und Streaminglocators können während der Ausführung aktualisiert werden. Allerdings kann es bis zu 10 Sekunden dauern, bis Änderungen auf den Front-End-Webservern aktualisiert werden, so dass beim nachgelagerten CDN-Caching von Inhalten Probleme auftreten können, wenn Sie einen bereits veröffentlichten und in der Produktion verwendeten Streaminglocator aktualisieren.

Daher wird dringend von einer Änderung der Filterdefinition eines bereits veröffentlichten und aktiven Streaminglocators abgeraten, insbesondere in Verbindung mit einem aktiven CDN. Streamingserver und CDNs können interne Caches besitzen, die dazu führen können, dass veraltete zwischengespeicherte Daten zurückgegeben werden.

Wenn die Filterdefinition geändert werden muss, erwägen Sie, einen neuen Filter zu erstellen und diesen der Streaminglocator-URL hinzuzufügen oder einen neuen Streaminglocator zu veröffentlichen, der direkt auf den geänderten Filter verweist.

Erstellen eines gefilterten Streaminglocators mit der CLI

Der folgende CLI-Code zeigt, wie ein Streaminglocator erstellt und filters angegeben wird. Dies ist eine optionale Eigenschaft, die eine durch Leerzeichen getrennte Liste von Objektfilternamen und/oder Kontofilternamen annimmt.

az ams streaming-locator create -a amsAccount -g resourceGroup -n streamingLocatorName \
                                --asset-name assetName \
                                --streaming-policy-name policyName \
                                --filters filterName1 filterName2

Streamen unter Verwendung von Filtern

Sobald Sie Filter definiert haben, können Ihre Kunden diese in der Streaming-URL verwenden. Die Filter können auf Streaminprotokolle mit adaptiver Bitrate angewendet werden: Apple HTTP Live Streaming (HLS), MPEG-DASH und Smooth Streaming.

Die folgende Tabelle zeigt einige Beispiele für URLs mit Filtern:

Protocol Beispiel
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)

Weitere Informationen

Azure-Befehlszeilenschnittstelle

Anfordern von Hilfe und Support

Sie können Media Services mit Fragen kontaktieren oder unsere Updates mit einer der folgenden Methoden verfolgen: