Erstellen von Filtern mit der CLI
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
- Erstellen Sie ein Media Services-Konto. Merken Sie sich den Namen der Ressourcengruppe und den Namen des Media Services-Kontos.
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:
- Q & A
- Stack Overflow. Markieren Sie Fragen mit
azure-media-services
. - @MSFTAzureMedia oder verwenden Sie @AzureSupport , um Support anzufordern.
- Öffnen Sie ein Supportticket über die Azure-Portal.