Erstellen von Filtern mit der Media Services-REST-API

Media Services-Logo v3


Sie suchen nach der Dokumentation zu Azure Media Services v2?

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 das Standardmedienobjekt beschrieben. Azure Media Services ermöglicht es Ihnen, Kontofilter und Medienobjektfilter für Ihre Inhalte zu definieren.

Warnung

Es wird nicht empfohlen, die REST-API für Media Services direkt in Ihren eigenen Bibliothekscode einzuschließen, da Sie dazu für Produktionszwecke die vollständige Wiederholungslogik der Azure-Ressourcenverwaltung implementieren und verstehen müssten, wie Vorgänge mit langer Ausführungsdauer in APIs für die Azure-Ressourcenverwaltung verwaltet werden. Dies wird von den Client-SDKs für verschiedene Sprachen (z. B. NET, Java, TypeScript, Python oder Ruby) automatisch für Sie erledigt und verringert die Wahrscheinlichkeit, dass Probleme mit der Wiederholungslogik oder mit fehlerhaften API-Aufrufen auftreten. Die Client-SDKs erledigen dies bereits für Sie. Die Postman-Sammlung wird eher als Lerntool bereitgestellt, und sie soll Ihnen zeigen, was die Client-SDKs während Ihrer Entwicklung mit den verschiedenen Client-SDKs tatsächlich tun.

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

In diesem Thema wird beschrieben, wie Sie einen Filter für ein Video on Demand-Medienobjekt definieren und mithilfe von REST-APIs Kontofilter und Medienobjektfilter erstellen.

Hinweis

Lesen Sie die Informationen zu presentationTimeRange.

Voraussetzungen

Für die in diesem Thema beschriebenen Schritte ist Folgendes erforderlich:

Definieren eines Filters

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

{
    "properties": {
        "tracks": [
          {
                "trackSelections": [
                    {
                        "property": "Type",
                        "value": "Audio",
                        "operation": "Equal"
                    },
                    {
                        "property": "FourCC",
                        "value": "EC-3",
                        "operation": "Equal"
                    }
                ]
            },
            {
                "trackSelections": [
                    {
                        "property": "Type",
                        "value": "Video",
                        "operation": "Equal"
                    },
                    {
                        "property": "Bitrate",
                        "value": "0-1000000",
                        "operation": "Equal"
                    }
                ]
            }
        ]
     }
}

Erstellen von Kontofiltern

Wählen Sie in der heruntergeladenen Sammlung von Postman Account Filters (Kontofilter) ->Create or update an Account Filter (Kontofilter erstellen oder aktualisieren aus.

Die PUT-HTTP-Anforderungsmethode ähnelt der folgenden:

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/accountFilters/{filterName}?api-version=2018-07-01

Wählen Sie die Registerkarte Text aus, und fügen Sie den JSON-Code ein, den Sie zuvor definiert haben.

Wählen Sie Senden aus.

Der Filter wurde erstellt.

Weitere Informationen finden Sie unter Account Filters – Create Or Update (Erstellen oder Aktualisieren von Kontofiltern). Siehe auch JSON-Beispiele für Filter.

Erstellen von Medienobjektfiltern

Wählen Sie in der heruntergeladenen Postman-Sammlung „Media Services v3“ Medienobjekte->Medienobjektfilter erstellen oder aktualisieren aus.

Die PUT-HTTP-Anforderungsmethode ähnelt der folgenden:

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/assets/{assetName}/assetFilters/{filterName}?api-version=2018-07-01

Wählen Sie die Registerkarte Text aus, und fügen Sie den JSON-Code ein, den Sie zuvor definiert haben.

Wählen Sie Senden aus.

Der Medienobjektfilter wurde erstellt.

Ausführliche Informationen zum Erstellen oder Aktualisieren von Medienobjektfiltern finden Sie unter Erstellen und Aktualisieren. Siehe auch JSON-Beispiele für Filter.

Zuordnen von Filtern mit Streaminglocator

Sie können eine Liste von Medienobjekt- oder Kontenfiltern angeben, die für Ihren Streaminglocator gelten würden. Der dynamische Paketerstellungs-Manager (Streamingendpunkt) 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. Es wird empfohlen, dieses Feature zu verwenden, wenn Sie Filter anwenden, aber nicht die Filternamen in der URL verfügbar machen möchten.

Um Filter mit einem Streaminglocator mit REST zu erstellen und zuzuordnen, verwenden Sie die API Streaminglocators – Erstellen und geben Sie properties.filters im Anforderungstext an.

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)

Nächste Schritte

Streamen von Videos