Filtr

Filters służą do definiowania filtrów dla manifestów przesyłania strumieniowego zasobów. Zdefiniowane filtry można zastosować do dowolnego z następujących protokołów przesyłania strumieniowego: HLS, MPEG-DASH, Smooth Streaming i HDS. Usługa Media Services dynamicznie generuje manifesty na podstawie określonych filtrów. Filtry można definiować na poziomie globalnym (Filter) lub na poziomie zasobu (AssetFilter). Użyj polecenia Filter , aby zastosować filtry do dowolnego elementu zawartości. Służy AssetFilter do stosowania filtrów do określonego zasobu.

Aby uzyskać szczegółowe omówienie i przykłady kodu dynamicznie generowanych manifestów, zobacz Omówienie manifestów dynamicznych.

W tym temacie omówiono Filter jednostkę (używaną do definiowania filtrów globalnych), a także pokazano, jak wykonywać różne operacje za pomocą interfejsu API REST usługi Media Services.

Ważne

Podczas uzyskiwania dostępu do jednostek w usłudze Media Services należy ustawić określone pola nagłówka i wartości w żądaniach HTTP.
Aby uzyskać więcej informacji, zobacz Konfigurowanie tworzenia interfejsu API REST usługi Media Services i nawiązywanie połączenia z usługą Media Services przy użyciu interfejsu API REST usługi Media Services.

Właściwości filtru

Właściwość Typ Opis
Name Edm.String Przyjazna nazwa filtru.
PresentationTimeRange PresentationTimeRange Grupa PresentationTimeRange reguł służy do filtrowania punktów początkowych/końcowych manifestu, długości okna prezentacji i pozycji rozpoczęcia na żywo. Usługa Media Services używa przecięcia wielu zakresów do zdefiniowania końcowego okna prezentacji.
Tracks FilterTrackSelect Zawiera kolekcję s FilterTrackPropertyCondition.
FirstQuality Pierwsza kwalifikacja Pierwsza jakość filtru manifestu wskazuje pierwszą szybkość transmisji bitów jakości dla usługi HLS.

Tworzenie filtru

Utwórz filtr przy użyciu żądania HTTP POST.

Metoda Identyfikator URI żądania Wersja protokołu HTTP
POST <https:// accountname.restv2>.<location.media.azure.net/api/Filters> HTTP/1.1

Przykładowe żądanie

Możesz wypróbować poniższy przykład na karcie Kompozytor programu Fiddler.

Aby uzyskać najnowszą wersję x-ms-version:, zobacz Media Services REST.

Nagłówki żądań

POST https://<accountname>.restv2.<location>.media.azure.net/api/Filters HTTP/1.1  
DataServiceVersion: 3.0  
MaxDataServiceVersion: 3.0  
Content-Type: application/json  
Accept: application/json  
Accept-Charset: UTF-8  
Authorization: Bearer <token value>  
x-ms-version: 2.19  
x-ms-client-request-id: 00000000-0000-0000-0000-000000000000  
Host: media.windows.net  
  

Treść żądania

{  
   "Name":"Mobile",  
   "PresentationTimeRange":{    
      "StartTimestamp":"0",  
      "EndTimestamp":"9223372036854775807",  
      "PresentationWindowDuration":"12000000000",  
      "LiveBackoffDuration":"0",  
      "Timescale":"10000000"  
   },  
   "Tracks":[    
      {    
         "PropertyConditions":[    
            {    
               "Property":"Type",  
               "Value":"video",  
               "Operator":"Equal"  
            },  
            {    
               "Property":"Bitrate",  
               "Value":"550000-1350000",  
               "Operator":"Equal"  
            }  
         ]  
      }  
   ]  
}  

Reakcja

HTTP/1.1 201 Created  
. . .  
  

Filtry listy

Filtry można pobrać przy użyciu żądania HTTP GET.

Metoda Identyfikator URI żądania Wersja protokołu HTTP
GET <https:// accountname.restv2>.<location.media.azure.net/api/Filters> HTTP/1.1
Metoda Identyfikator URI żądania Wersja protokołu HTTP
GET <https:// accountname.restv2>.<location.media.azure.net/api/Filters>('filterName') HTTP/1.1

Przykładowe żądanie

Możesz wypróbować poniższy przykład na karcie Kompozytor programu Fiddler.

Aby uzyskać najnowszą wersję x-ms-version:, zobacz Media Services REST.

GET https://<accountname>.restv2.<location>.media.azure.net/api/Filters HTTP/1.1  
DataServiceVersion: 3.0  
MaxDataServiceVersion: 3.0  
Accept: application/json  
Accept-Charset: UTF-8  
Authorization: Bearer <token value>  
x-ms-version: 2.19  
Host: media.windows.net  
  

Aktualizowanie filtru

Użyj funkcji PATCH, PUT lub MERGE, aby zaktualizować filtr z nowymi wartościami właściwości.

Uwaga

W przypadku zaktualizowania filtru może upłynąć do 2 minut, aby punkt końcowy przesyłania strumieniowego odświeżył reguły. Jeśli zawartość została obsłużona przy użyciu tego filtru (i buforowanego w serwerach proxy i pamięciach podręcznych CDN), aktualizacja tego filtru może spowodować błędy odtwarzacza. Zaleca się wyczyszczenie pamięci podręcznej po zaktualizowaniu filtru. Jeśli ta opcja nie jest możliwa, rozważ użycie innego filtru.

Metoda Identyfikator URI żądania Wersja protokołu HTTP
PATCH/PUT/MERGE

Aby uzyskać więcej informacji na temat tych operacji, zobacz PATCH/PUT/MERGE.
<https:// accountname.restv2>.<location.media.azure.net/api/Filters>('filterName') HTTP/1.1

Przykładowe żądanie

Możesz wypróbować poniższy przykład na karcie Kompozytor programu Fiddler.

Aby uzyskać najnowszą wersję x-ms-version:, zobacz Media Services REST.

Nagłówki żądań:

PATCH https://<accountname>.restv2.<location>.media.azure.net/api/Filters('filterName') HTTP/1.1  
DataServiceVersion: 3.0  
MaxDataServiceVersion: 3.0  
Content-Type: application/json  
Accept: application/json  
Accept-Charset: UTF-8  
Authorization: Bearer <token value>  
x-ms-version: 2.19  
x-ms-client-request-id: 00000000-0000-0000-0000-000000000000  
Host: media.windows.net  
  

Treść żądania:

{  
   "Tracks":[    
      {    
         "PropertyConditions":  
         [    
            {    
               "Property":"Type",  
               "Value":"audio",  
               "Operator":"Equal"  
            },  
            {    
               "Property":"Bitrate",  
               "Value":"0-2147483647",  
               "Operator":"Equal"  
            }  
         ]  
      }  
   ]  
}  
  

Usuwanie filtru

Filtry można usunąć przy użyciu żądania HTTP DELETE.

Metoda Identyfikator URI żądania Wersja protokołu HTTP
DELETE <https:// accountname.restv2>.<location.media.azure.net/api/Filters>('filterName') HTTP/1.1

Przykładowe żądanie

Możesz wypróbować poniższy przykład na karcie Kompozytor programu Fiddler.

Aby uzyskać najnowszą wersję x-ms-version:, zobacz Media Services REST.

DELETE https://<accountname>.restv2.<location>.media.azure.net/api/Filters('Mobile') HTTP/1.1  
DataServiceVersion: 3.0  
MaxDataServiceVersion: 3.0  
Accept: application/json  
Accept-Charset: UTF-8  
Authorization: Bearer <token value>  
x-ms-version: 2.19  
Host: media.windows.net