AssetFilter
AssetFilter
는 자산의 스트리밍 매니페스트에 대한 필터를 정의하는 데 사용됩니다. 정의된 필터는 HLS, MPEG-DASH, 부드러운 스트리밍 및 HDS 스트리밍 프로토콜에 적용할 수 있습니다. 미디어 서비스는 지정된 필터를 기준으로 하여 매니페스트를 동적으로 생성합니다. 필터는 전역 수준(필터) 또는 자산 수준(AssetFilter
)에서 정의할 수 있습니다. 특정 자산에 필터를 적용하려면 AssetFilter
를 사용합니다. 모든 자산에 필터를 적용하려면 Filter
를 사용합니다.
동적으로 생성된 매니페스트의 자세한 개요 및 코드 샘플은 동적 매니페스트 개요를 참조하세요.
이 항목에서는 로컬 필터를 정의하는 데 사용되는 AssetFilter
엔터티에 대해 간략하게 설명하는 동시에 미디어 서비스 REST API를 사용하여 다양한 작업을 실행하는 방법도 보여 줍니다.
중요
Media Services에서 엔터티에 액세스할 때는 HTTP 요청에서 구체적인 헤더 필드와 값을 설정해야 합니다.
자세한 내용은 Media Services REST API 개발 설정 및 Media Services REST API를 사용하여 Media Services에 연결을 참조하세요.
AssetFilter 속성
속성 | 형식 | 설명 |
---|---|---|
Id 읽기 전용입니다. 만들 때 Media Services에서 설정합니다. |
Edm.String | 고유 식별자입니다. |
ParentAssetId |
Edm.String | 이러한 필터 집합이 포함된 부모 Asset의 ID입니다. |
Name |
Edm.String | AssetFilter의 식별 이름입니다. |
PresentationTimeRange |
PresentationTimeRange |
PresentationTimeRange 규칙 그룹을 사용하여 매니페스트 시작점/끝점, 프레젠테이션 창 길이 및 라이브 시작 위치를 필터링합니다. 미디어 서비스는 여러 범위의 상호 작용을 통해 최종 프레젠테이션 창을 정의합니다. |
Tracks |
FilterTrackSelect |
FilterTrackPropertyCondition 의 컬렉션을 포함합니다. |
FirstQuality |
FirstQuality | 매니페스트 필터의 첫 번째 품질은 HLS의 첫 번째 품질 비트 전송률을 나타냅니다. |
필터 만들기
HTTP POST 요청을 사용하여 필터를 만듭니다.
메서드 | 요청 URI | HTTP 버전 |
---|---|---|
POST | <https:// accountname.restv2>.<location.media.azure.net/api/AssetFilters> | HTTP/1.1 |
샘플 요청
Fiddler의 Composer 탭에서 다음 예제를 사용해 볼 수 있습니다.
최신 x-ms-version:
을 얻으려면 Media Services REST를 참조하세요.
요청 헤더
POST https://<accountname>.restv2.<location>.media.azure.net/api/AssetFilters 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
요청 본문
{
"Name":"TestFilter",
"ParentAssetId":"nb:cid:UUID:536e555d-1500-80c3-92dc-f1e4fdc6c592",
"PresentationTimeRange":{
"StartTimestamp":"0",
"EndTimestamp":"9223372036854775807",
"PresentationWindowDuration":"12000000000",
"LiveBackoffDuration":"0",
"Timescale":"10000000"
},
"Tracks":[
{
"PropertyConditions":
[
{
"Property":"Type",
"Value":"audio",
"Operator":"Equal"
},
{
"Property":"Bitrate",
"Value":"0-2147483647",
"Operator":"Equal"
}
]
}
]
}
응답
HTTP/1.1 201 Created
. . .
필터 나열
자산과 연결된 모든 AssetFilter를 반환합니다.
메서드 | 요청 URI | HTTP 버전 |
---|---|---|
GET | <https:// accountname.restv2>.<location.media.azure.net/api/Assets>('assetId')/AssetFilters() | HTTP/1.1 |
엔터티를 만들 때 반환된 AssetFilter ID를 지정하여 특정 AssetFilter를 반환합니다.
메서드 | 요청 URI | HTTP 버전 |
---|---|---|
GET | <https:// accountname.restv2>.<location.media.azure.net/api/> AssetFilters('assetFilterID') | HTTP/1.1 |
샘플 요청
Fiddler의 Composer 탭에서 다음 예제를 사용해 볼 수 있습니다.
최신 x-ms-version:
을 얻으려면 Media Services REST를 참조하세요.
자산과 연결된 모든 AssetFilter를 가져옵니다.
GET https://<accountname>.restv2.<location>.media.azure.net/api/Assets('nb%3Acid%3AUUID%3A536e555d-1500-80c3-92dc-f1e4fdc6c592')/AssetFilters 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
x-ms-client-request-id: 00000000-0000-0000-0000-000000000000
Host: media.windows.net
ID를 기준으로 AsseetFilter를 가져옵니다.
GET https://<accountname>.restv2.<location>.media.azure.net/api/AssetFilters('nb%3Acid%3AUUID%3A536e555d-1500-80c3-92dc-f1e4fdc6c592__%23%23%23__TestFilter') 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
x-ms-client-request-id: 00000000-0000-0000-0000-000000000000
Host: media.windows.net
필터 업데이트
PATCH, PUT 또는 MERGE를 사용하여 새 속성 값으로 AssetFilter를 업데이트합니다.
참고
필터를 업데이트 하는 경우, 규칙을 새로 고치는 스트리밍 엔드포인트에서 최대 2분이 소요될 수 있습니다. 콘텐츠가 이 필터로 처리된 경우(및 프록시와 CDN 캐시에서 캐시된 경우) 이 필터를 업데이트하면 플레이어 오류가 발생할 수 있습니다. 필터 업데이트 후에는 캐시를 지우는 것이 바람직합니다. 이 옵션을 사용할 수 없는 경우에 서로 다른 필터를 사용 하는 것이 좋습니다.
메서드 | 요청 URI | HTTP 버전 |
---|---|---|
PATCH/PUT/MERGE 이 작업에 대한 자세한 내용은 PATCH/PUT/MERGE를 참조하세요. |
<https:// accountname.restv2>.<location.media.azure.net/api/Filters>('filterName') | HTTP/1.1 |
샘플 요청
Fiddler의 Composer 탭에서 다음 예제를 사용해 볼 수 있습니다.
최신 x-ms-version:
을 얻으려면 Media Services REST를 참조하세요.
헤더 요청:
MERGE https://<accountname>.restv2.<location>.media.azure.net/api/AssetFilters('nb%3Acid%3AUUID%3A536e555d-1500-80c3-92dc-f1e4fdc6c592__%23%23%23__TestFilter') 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
본문 요청:
{
"Tracks":[
{
"PropertyConditions":
[
{
"Property":"Type",
"Value":"audio",
"Operator":"Equal"
},
{
"Property":"Bitrate",
"Value":"0-2147483647",
"Operator":"Equal"
}
]
}
]
}
필터 삭제
HTTP DELETE 요청을 사용하여 필터를 삭제할 수 있습니다.
메서드 | 요청 URI | HTTP 버전 |
---|---|---|
DELETE | <https:// accountname.restv2>.<location.media.azure.net/api/AssetFilters>('assetFilterId') | HTTP/1.1 |
샘플 요청
Fiddler의 작성기 탭에서 다음 예제를 사용해 볼 수 있습니다.
최신 x-ms-version:
을 얻으려면 Media Services REST를 참조하세요.
DELETE https://<accountname>.restv2.<location>.media.azure.net/api/AssetFilters('nb%3Acid%3AUUID%3A536e555d-1500-80c3-92dc-f1e4fdc6c592__%23%23%23__TestFilter') 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