Tworzenie filtrów za pomocą interfejsu wiersza polecenia

Logo usługi Media Services w wersji 3


Ostrzeżenie

Usługa Azure Media Services zostanie wycofana 30 czerwca 2024 r. Aby uzyskać więcej informacji, zobacz Przewodnik po wycofaniu usługi AMS.

W przypadku dostarczania zawartości klientom (transmisji strumieniowej wydarzeń na żywo lub wideo na żądanie) klient może potrzebować większej elastyczności niż opisano w pliku manifestu domyślnego zasobu. Usługa Azure Media Services umożliwia definiowanie filtrów kont i filtrów zasobów dla zawartości.

Aby uzyskać szczegółowy opis tej funkcji i scenariuszy, w których jest używana, zobacz Dynamic Manifests and Filters (Manifesty dynamiczne i filtry).

W tym temacie pokazano, jak skonfigurować filtr zasobu Wideo na żądanie i użyć interfejsu wiersza polecenia dla usługi Media Services w wersji 3 w celu utworzenia filtrów kont i filtrów zasobów.

Uwaga

Pamiętaj, aby przejrzeć prezentacjęTimeRange.

Wymagania wstępne

Definiowanie filtru

W poniższym przykładzie zdefiniowano warunki śledzenia wyboru, które są dodawane do końcowego manifestu. Ten filtr obejmuje wszystkie ścieżki audio, które są EC-3 i wszelkie ścieżki wideo, które mają szybkość transmisji bitów w zakresie 0-1000000.

Porada

Jeśli planujesz zdefiniować filtry w architekturze REST, należy uwzględnić obiekt JSON otoki "Właściwości".

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

Tworzenie filtrów kont

Następujące polecenie az ams account-filter tworzy filtr konta z zdefiniowanymi wcześniej opcjami śledzenia filtrów.

Polecenie umożliwia przekazanie opcjonalnego --tracks parametru zawierającego dane JSON reprezentujące wybory śledzenia. Użyj @{file}, aby załadować kod JSON z pliku. Jeśli używasz interfejsu wiersza polecenia platformy Azure lokalnie, określ całą ścieżkę pliku:

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

Zobacz również przykłady kodu JSON dla filtrów.

Tworzenie filtrów zasobów

Następujące polecenie az ams asset-filter tworzy filtr zasobów z zdefiniowanymi wcześniej opcjami śledzenia filtru.

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

Zobacz również przykłady kodu JSON dla filtrów.

Kojarzenie filtrów z lokalizatorem przesyłania strumieniowego

Filtrowanie manifestów HLS lub DASH przy tworzeniu lokalizatora przesyłania strumieniowego

Usługa Media Services umożliwia utworzenie lokalizatora przesyłania strumieniowego, który jest wstępnie filtrowany, przekazując kolekcję filtrów we właściwości filtru w jednostce lokalizatora przesyłania strumieniowego. Dzięki temu można wstępnie filtrować wszystkie manifesty w lokalizatorze przesyłania strumieniowego. Oryginalny manifest nie jest już dostępny za pośrednictwem tego lokalizatora przesyłania strumieniowego, a tylko odfiltrowana odpowiedź będzie dostępna dla klientów żądających adresów URL interfejsu DASH lub HLS z filtrowanego lokalizatora przesyłania strumieniowego. Jest to przydatne w sytuacjach, w których chcesz opublikować tylko część elementu zawartości i uniemożliwić użytkownikom uzyskanie dostępu do pełnego oryginalnego manifestu zasobu przez manipulowanie ciągiem zapytania adresu URL manifestu HLS lub DASH. Zalecamy użycie tej funkcji, jeśli chcesz zastosować filtry, ale nie chcesz ujawniać nazw filtrów w adresie URL, aby klienci mogli manipulować nimi samodzielnie.

Możesz określić listę filtrów zasobów lub kont w lokalizatorze przesyłania strumieniowego. Dynamic Packager stosuje tę listę filtrów wraz z tymi, które klient określa w adresie URL. Ta kombinacja generuje manifest dynamiczny, który jest oparty na filtrach w adresie URL + filtry określone w lokalizatorze przesyłania strumieniowego.

Aktualizowanie filtrów

Filtry i lokalizatory przesyłania strumieniowego mogą być aktualizacjami na bieżąco, ale należy pamiętać, że aktualizacja aktualizacji na serwerach frontonu sieci Web może potrwać do 10 sekund, a w przypadku aktualizowania tego samego lokalizatora przesyłania strumieniowego , który został już opublikowany i używany w środowisku produkcyjnym, mogą wystąpić problemy z buforowaniem podrzędnej sieci CDN.

Nie zaleca się aktualizowania definicji filtrów skojarzonych z aktywnie opublikowanym lokalizatorem przesyłania strumieniowego, zwłaszcza gdy sieć CDN jest włączona. Serwery przesyłania strumieniowego i sieci CDN mogą mieć wewnętrzne pamięci podręczne, które mogą powodować zwracanie nieaktualnych danych buforowanych.

Jeśli definicja filtru musi zostać zmieniona, rozważ utworzenie nowego filtru i dodanie go do adresu URL lokalizatora przesyłania strumieniowego lub opublikowanie unikatowo nowego lokalizatora przesyłania strumieniowego , który odwołuje się bezpośrednio do zaktualizowanego filtru.

Tworzenie filtrowanego lokalizatora przesyłania strumieniowego za pomocą interfejsu wiersza polecenia

Poniższy kod interfejsu wiersza polecenia pokazuje, jak utworzyć lokalizator przesyłania strumieniowego i określić .filters Jest to opcjonalna właściwość, która przyjmuje rozdzielaną spacjami listę nazw filtrów zasobów i/lub nazw filtrów kont.

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

Przesyłanie strumieniowe przy użyciu filtrów

Po zdefiniowaniu filtrów klienci mogą używać ich w adresie URL przesyłania strumieniowego. Filtry można zastosować do protokołów przesyłania strumieniowego z adaptacyjną szybkością transmisji bitów: Apple HTTP Live Streaming (HLS), MPEG-DASH i Smooth Streaming.

W poniższej tabeli przedstawiono kilka przykładów adresów URL z filtrami:

Protokół Przykład
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)

Zobacz też

Interfejs wiersza polecenia platformy Azure

Uzyskiwanie pomocy i obsługi technicznej

Możesz skontaktować się z usługą Media Services z pytaniami lub postępować zgodnie z naszymi aktualizacjami, korzystając z jednej z następujących metod: