Filtr
Filter
s 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