Tworzenie filtrów za pomocą interfejsu API REST Media ServicesCreating filters with Media Services REST API

Media Services — logo v3media services logo v3


W przypadku dostarczania zawartości klientom (przesyłania strumieniowego na żywo lub wideo na żądanie) klient może potrzebować większej elastyczności niż to, co opisano w pliku manifestu domyślnego elementu zawartości.When delivering your content to customers (streaming Live events or Video on Demand) your client might need more flexibility than what's described in the default asset's manifest file. Azure Media Services umożliwia zdefiniowanie filtrów kont i filtrów zasobów dla zawartości.Azure Media Services enables you to define account filters and asset filters for your content.

Aby uzyskać szczegółowy opis tej funkcji i scenariuszy, w których są używane, zobacz dynamiczne manifesty i filtry.For detailed description of this feature and scenarios where it is used, see Dynamic Manifests and Filters.

W tym temacie przedstawiono sposób definiowania filtru dla zasobu wideo na żądanie i używania interfejsów API REST do tworzenia filtrów kont i filtrów zasobów.This topic shows how to define a filter for a Video on Demand asset and use REST APIs to create Account Filters and Asset Filters.

Uwaga

Pamiętaj o przejrzeniu presentationTimeRange.Make sure to review presentationTimeRange.

Wymagania wstępnePrerequisites

Aby wykonać kroki opisane w tym temacie, należy:To complete the steps described in this topic, you have to:

Zdefiniuj filtrDefine a filter

Poniżej znajduje się przykład treści żądania , który definiuje warunki wyboru śledzenia, które są dodawane do manifestu.The following is the Request body example that defines the track selection conditions that are added to the manifest. Ten filtr zawiera wszystkie ścieżki audio, które są zgodne ze standardem EC-3 i wszystkie ścieżki wideo, które mają szybkość transmisji bitów w zakresie 0-1000000.This filter includes any audio tracks that are EC-3 and any video tracks that have bitrate in the 0-1000000 range.

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

Tworzenie filtrów kontaCreate account filters

W pobranej kolekcji Twojego wpisu wybierz pozycję filtry kont -> Utwórz lub zaktualizuj filtr konta.In the Postman's collection that you downloaded, select Account Filters->Create or update an Account Filter.

Metoda Put żądania HTTP jest podobna do:The PUT HTTP request method is similar to:

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

Wybierz kartę treść i wklej wcześniej zdefiniowanykod JSON.Select the Body tab and paste the json code you defined earlier.

Wybierz pozycję Wyślij.Select Send.

Filtr został utworzony.The filter has been created.

Aby uzyskać więcej informacji, zobacz Tworzenie lub aktualizowanie.For more information, see Create or update. Zobacz też przykłady JSON dla filtrów.Also, see JSON examples for filters.

Tworzenie filtrów zasobówCreate asset filters

W pobranej kolekcji "Media Services v3" Wybierz pozycję zasoby -> Utwórz lub zaktualizuj filtr zasobów.In the "Media Services v3" Postman collection that you downloaded, select Assets->Create or update Asset Filter.

Metoda Put żądania HTTP jest podobna do:The PUT HTTP request method is similar to:

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

Wybierz kartę treść i wklej wcześniej zdefiniowanykod JSON.Select the Body tab and paste the json code you defined earlier.

Wybierz pozycję Wyślij.Select Send.

Filtr zasobów został utworzony.The asset filter has been created.

Aby uzyskać szczegółowe informacje na temat tworzenia lub aktualizowania filtrów zasobów, zobacz Tworzenie lub aktualizowanie.For details on how to create or update asset filters, see Create or update. Zobacz też przykłady JSON dla filtrów.Also, see JSON examples for filters.

Kojarzenie filtrów z lokalizatorem przesyłania strumieniowegoAssociate filters with Streaming Locator

Można określić listę filtrów zasobów lub kont, które mają zastosowanie do lokalizatora przesyłania strumieniowego.You can specify a list of asset or account filters, which would apply to your Streaming Locator. Pakowarka dynamiczna (punkt końcowy przesyłania strumieniowego) stosuje tę listę filtrów razem z tymi, które są określone przez klienta w adresie URL.The Dynamic Packager (Streaming Endpoint) applies this list of filters together with those your client specifies in the URL. Ta kombinacja generuje manifest dynamiczny, który jest oparty na filtrach w adresach URL i filtrach określonych w lokalizatorze przesyłania strumieniowego.This combination generates a Dynamic Manifest, which is based on filters in the URL + filters you specify on Streaming Locator. Zalecamy użycie tej funkcji, jeśli chcesz zastosować filtry, ale nie chcesz ujawniać nazw filtrów w adresie URL.We recommend that you use this feature if you want to apply filters but do not want to expose the filter names in the URL.

Aby utworzyć i skojarzyć filtry z lokalizatorem przesyłania strumieniowego przy użyciu usługi REST, użyj kontenerów przesyłania strumieniowego — tworzenie interfejsu API i określanie properties.filters w treści żądania.To create and associate filters with a Streaming Locator using REST, use the Streaming Locators - Create API and specify properties.filters in the Request Body.

Strumieniowe Używanie filtrówStream using filters

Po zdefiniowaniu filtrów klienci mogą używać ich w adresie URL przesyłania strumieniowego.Once you define filters, your clients could use them in the streaming URL. Filtry mogą być stosowane do protokołów przesyłania strumieniowego z adaptacyjną szybkością transmisji bitów: Apple HTTP Live Streaming (HLS), MPEG-KRESKa i Smooth Streaming.Filters could be applied to adaptive bitrate streaming protocols: Apple HTTP Live Streaming (HLS), MPEG-DASH, and Smooth Streaming.

W poniższej tabeli przedstawiono kilka przykładów adresów URL z filtrami:The following table shows some examples of URLs with filters:

ProtokółProtocol PrzykładExample
HLSHLS https://amsv3account-usw22.streaming.media.azure.net/fecebb23-46f6-490d-8b70-203e86b0df58/bigbuckbunny.ism/manifest(format=m3u8-aapl,filter=myAccountFilter)
MPEG DASHMPEG DASH https://amsv3account-usw22.streaming.media.azure.net/fecebb23-46f6-490d-8b70-203e86b0df58/bigbuckbunny.ism/manifest(format=mpd-time-csf,filter=myAssetFilter)
Smooth StreamingSmooth Streaming https://amsv3account-usw22.streaming.media.azure.net/fecebb23-46f6-490d-8b70-203e86b0df58/bigbuckbunny.ism/manifest(filter=myAssetFilter)

Następne krokiNext steps

Strumieniowe przesyłanie wideoStream videos