기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
매니페스트 필터링
매니페스트 필터링을 사용하면 AWS Elemental MediaPackage은(는) 재생 요청에 추가된 쿼리에서 지정한 파라미터를 기반으로 클라이언트 매니페스트를 동적으로 생성합니다. 이를 통해 프리미엄 4K HEVC 콘텐츠에 대한 최종 사용자 액세스를 제한하거나 특정 장치 유형 및 오디오 샘플 레이트 범위를 대상으로 하는 등의 작업을 단일 엔드포인트에서 수행할 수 있습니다. 이전에는 이 동작을 수행하려면 여러 엔드포인트를 구성해야 했습니다. MediaPackage 이제 동일한 엔드포인트에서 다양한 클라이언트 매니페스트를 동적으로 생성할 수 있는 비용 효율적인 방법을 제공합니다.
매니페스트 필터 작업
매니페스트 필터를 사용하면 쿼리에서 지정한 특성과 일치하는 오디오 및 비디오 스트림만 결과 매니페스트에 포함됩니다. 매니페스트 필터가 사용되지 않으면 수집된 모든 스트림이 엔드포인트 출력 스트림에 있습니다. 엔드포인트에 대한 스트림 필터(예: 최소 비디오 비트레이트)를 설정한 경우는 예외입니다. 이 경우 매니페스트 필터는 스트림 필터 다음에 적용되므로 출력이 스큐될 수 있어 권장되지 않습니다.
매니페스트 필터링은 다음에서 지원하는 모든 엔드포인트 유형에서 사용할 수 있습니다. MediaPackage
-
Apple HLS
-
DASH-ISO
-
Microsoft Smooth Streaming
-
CMAF
매니페스트 필터링을 사용하려면 재생 요청에 aws.manifestfilter
쿼리 파라미터를 추가하십시오. MediaPackage MediaPackage 쿼리를 평가하고 해당 쿼리 매개변수를 기반으로 클라이언트 매니페스트를 제공합니다. 매니페스트 쿼리는 대소문자를 구분하지 않으며 최대 1024자까지 사용할 수 있습니다. 쿼리의 형식이 잘못되었거나 쿼리 파라미터와 일치하는 스트림이 없는 경우, MediaPackage 은(는) 불완전하거나 빈 매니페스트를 반환합니다. 쿼리 구문에 대해서는 다음 단원을 참조하십시오.
참고
Apple HLS 또는 CMAF 엔드포인트를 사용하는 경우 특별한 조건이 적용됩니다. 이러한 조건에 대한 자세한 내용은 HLS 및 CMAF 매니페스트에 대한 특별 조건 단원을 참조하십시오.
쿼리 구문
기본 쿼리 파라미터는 aws.manifestfilter
이며, 그 뒤에는 선택적 파라미터 이름과 값 페어가 옵니다. 쿼리를 ?aws.manifestfilter=
구성하려면 MediaPackage 엔드포인트 URL 끝에 매개 변수 이름과 값을 차례로 추가합니다. 사용 가능한 모든 파라미터 목록은 매니페스트 필터 쿼리 파라미터 단원을 참조하십시오.
Apple HLS 필터 쿼리는 다음과 같을 수 있습니다.
https://example-mediapackage-endpoint.mediapackage.us-west-2.amazonaws.com/out/v1/examplemediapackage/index.m3u8
?aws.manifestfilter=audio_sample_rate:0-44100;video_bitrate:0-2147483647;video_codec:h265;audio_language:fr,en-US,de
쿼리 구문은 다음 표에 나열되어 있습니다.
쿼리 문자열 구성 요소 | 설명 |
---|---|
? |
쿼리의 시작을 표시하는 제한된 문자입니다. |
aws.manifestfilter= |
뒤에 이름과 값 페어로 구성된 파라미터가 오는 기본 쿼리입니다. 사용 가능한 모든 파라미터 목록은 매니페스트 필터 쿼리 파라미터 단원을 참조하십시오. |
: |
파라미터 이름을 값과 연결하는 데 사용됩니다. 예를 들어 입니다. |
; |
여러 파라미터를 포함하는 쿼리에서 파라미터를 구분합니다. 예를 들어 입니다. |
, |
값 목록을 구분합니다. 예를 들어 parameter_name: 입니다. 목록에서 쉼표로 구분된 값은 OR 관계를 의미합니다. |
- |
파라미터의 최소 - 최대 값 범위를 정의하는 데 사용됩니다. 예를 들어 audio_sample_rate:0-44100 입니다. 범위에 숫자 값이 사용되는 경우, 범위 정의에 포함됩니다. 즉, 스트림은 최소값보다 크거나 같고 최대값보다 작거나 같아야 합니다. 범위에서는 최소값과 최대값이 필수입니다. 지원되는 범위 값은 0 - 2147483647 입니다. |
참고
Amazon을 CloudFront CDN으로 사용하는 경우 추가 구성을 설정해야 할 수 있습니다. 자세한 내용은 모든 엔드포인트에 대한 캐시 동작 구성을 참조하십시오.
매니페스트 필터 쿼리 파라미터
MediaPackage 다음 쿼리 파라미터를 지원합니다.
범주 | 명칭 | 설명 | 예 |
---|---|---|---|
오디오 | audio_bitrate |
|
stream.mpd?aws.manifestfilter=audio_bitrate:0-2147483647 |
오디오 | audio_channels |
|
stream.mpd?aws.manifestfilter=audio_channels:1-8 |
오디오 | audio_codec |
|
stream.mpd?aws.manifestfilter=audio_codec:AACL,AC-3 |
오디오 | audio_language |
|
stream.mpd?aws.manifestfilter=audio_language:fr,en-US,de |
오디오 | audio_sample_rate |
|
stream.mpd?aws.manifestfilter=audio_sample_rate:0-44100 |
자막 | subtitle_language |
|
stream.mpd?aws.manifestfilter=subtitle_language:en-US, hi |
비디오 | trickplay_height |
|
stream.mpd?aws.manifestfilter=trickplay_height:200-1200 |
비디오 | trickplay_type |
|
stream.mpd?aws.manifestfilter=trickplay_type:iframe |
비디오 | video_bitrate |
|
stream.mpd?aws.manifestfilter=video_bitrate:0-2147483647 |
비디오 | video_codec |
|
stream.mpd?aws.manifestfilter=video_codec:h264 |
비디오 | video_dynamic_range |
|
stream.mpd?aws.manifestfilter=video_dynamic_range:hdr10 |
비디오 | video_framerate |
|
stream.mpd?aws.manifestfilter=video_framerate:23.976-30 |
비디오 | video_height |
|
stream.mpd?aws.manifestfilter=video_height:720-1080 |
매니페스트 필터링 예
매니페스트 필터링 예입니다.
예 1: AVC 및 44.1k 오디오 샘플 레이트를 지원하는 플레이어를 대상으로 함
최종 사용자가 AVC 및 44.1k 오디오 샘플 레이트만 지원할 수 있는 장치에서 콘텐츠를 재생하고 있습니다. 이러한 요구 사항에 맞지 않는 스트림을 필터링하도록 video_codec
및 audio_sample_rate
를 설정하십시오.
?aws.manifestfilter=audio_sample_rate:0-44100;video_codec:h264
예 2: 4k HEVC 콘텐츠 제한
4K HEVC 스트림은 15Mbps이고, 다른 모든 스트림은 9Mbps 미만입니다. 스트림 집합에서 4K 스트림을 제외하려면 초당 9,000,000비트의 임계값을 설정하여 높은 비트레이트를 필터링합니다.
?aws.manifestfilter=video_bitrate:0-9000000
예 3: 초당 23.976에서 30프레임 사이의 비디오 포함
특정 프레임 속도 범위 내에서만 비디오를 포함시키려면 video_framerate
를 사용합니다. 이 파라미터는 최대 3개의 선택적 10진수 값을 가진 부동 소수점 숫자를 허용합니다.
?aws.manifestfilter=video_framerate:23.976-30
HLS 및 CMAF 매니페스트에 대한 특별 조건
HLS 또는 CMAF 매니페스트를 사용하는 경우 이러한 특별 조건이 적용됩니다.
-
HLS 매니페스트의 경우, 필터링된 오디오 스트림과 멀티플렉싱된 비디오 스트림이 제거되지 않도록 오디오 변환 그룹을 사용하는 것이 좋습니다. 변환 그룹에 대한 자세한 내용은 AWS Elemental MediaPackage의 변환 그룹 참조 단원을 참조하십시오.
-
HLS 및 CMAF 매니페스트에서는 오디오 샘플 레이트 신호가 전송되지 않으므로 이 설정에 대한 원본 또는 필터링된 매니페스트를 시각적으로 확인하는 것이 쉽지 않습니다. 오디오 샘플 레이트를 확인하려면 인코더 레벨 및 출력 레벨에서 오디오 샘플 레이트를 확인하십시오.
-
HLS 및 CMAF 매니페스트에서 변형에 대한
BANDWIDTH
속성은 비디오 트랙과 멀티플렉싱되었는지 또는 비디오 트랙에서 참조하는 오디오 변환 트랙인지 여부에 관계없이 오디오 트랙의 대역폭을 비디오 트랙과 연결합니다. 따라서 원본 및 필터링된 매니페스트를 시각적으로 검사하여video_bitrate
필터가 작동하는지 확인할 수 없습니다. 필터를 확인하려면 인코더 레벨 및 출력 레벨에서 비디오 비트레이트를 확인하십시오. -
HLS 및 CMAF 매니페스트의 경우, 비트레이트 재생 목록 또는 세그먼트에 추가된 요청 파라미터로 인해 HTTP 400 오류가 발생합니다.
오류 조건
다음 표에는 일반적인 오류 조건이 나열되어 있습니다.
오류 조건 | 예 | HTTP 상태 코드 |
---|---|---|
목록 파라미터를 찾을 수 없으며, 제한된 목록의 일부가 아닙니다. | ?aws.manifestfilter=audio_language:dahlia |
200 |
스트림에는 자막 스트림만 있습니다. | ?aws.manifestfilter=audio_sample_rate:0-1;video_bitrate=0-1 |
200 |
중복 필터 파라미터 | ?aws.manifestfilter=audio_sample_rate:0-48000;aws.manifestfilter=audio_sample_rate:0-48000 |
400 |
잘못된 파라미터 | ?aws.manifestfilter=donut_type:rhododendron |
400 |
잘못된 범위 파라미터 | ?aws.manifestfilter=audio_sample_rate:300-0 |
400 |
잘못된 범위 값(INT_MAX 보다 큼) |
?aws.manifestfilter=audio_sample_rate:0-2147483648 |
400 |
형식이 잘못된 쿼리 문자열 | ?aws.manifestfilter=audio_sample_rate:is:0-44100 |
400 |
파라미터 문자열이 1024자보다 깁니다. | ?aws.manifestfilter=audio_language:abcdef.... |
400 |
HLS 또는 CMAF 비트레이트 매니페스트의 쿼리 파라미터 | index_1.m3u8?aws.manifestfilter=video_codec:h264 |
400 |
세그먼트 요청의 쿼리 파라미터 | ..._1.[ts|mp4|vtt..]?aws.manifestfilter=video_codec:h264 |
400 |
반복 쿼리 파라미터 | ?aws.manifestfilter=audio_sample_rate:0-48000;aws.manifestfilter=video_bitrate:0-1 |
400 |
필터를 적용하면 빈 매니페스트가 생성됩니다(내용에 쿼리 문자열에 정의된 조건을 충족하는 스트림이 없음). | ?aws.manifestfilter=audio_sample_rate:0-1;video_bitrate=0-1 |
400 |