AWS Elemental MediaTailor의 세분화 UPID 토큰에서 제공된 값을 사용하여 ADS 세션 변수를 추가하고 싶습니다. 이 작업을 수행하기 위한 가이드라인은 무엇인가요?
간략한 설명
MediaTailor는 SCTE-35 세분화 고유 프로그램 ID(UPID) 내에서 특정 데이터를 보낼 수 있습니다. MediaTailor는 UPID를 구문 분석하고 토큰을 광고 의사결정 서버(ADS)에 세션 변수로 보냅니다. 페이로드의 형식이 올바르게 지정되면 다양한 프라이빗 데이터 페이로드를 보낼 수 있습니다.
해결 방법
다음은 세분화 UPID 서식 요구 사항 및 예제 세분화 UPID에 대한 가이드라인입니다. 이 기능은 DASH 및 HLS에서 작동합니다. DASH를 사용하려면 이진 마커가 XML EventStream과 함께 작동해야 합니다.
가이드라인
- 세분화 UPID에는 다음이 있어야 합니다.
12의 segmentation_upid_type.
4바이트로 구성된 format_identifier.
- MediaTailor 솔루션은 모든 ADS 플랫폼에서 작동하며 토큰 수는 고정되어 있지 않습니다.
- 디코딩된 SCTE-35 세분화 UPID는 하나 이상의 콜론 구분자를 포함할 수 있습니다. 콜론 구분 기호가 없는 경우 UPID는 단일 값으로 간주됩니다. 콜론 구분 기호는 하나 이상의 값을 허용합니다.
- 다음 예와 같이 템플릿 변수 및 디코딩된 UPID 토큰의 수는 동일해야 합니다.
https://domain/ads?sur0=[scte.segmentation_upid.private_data.0]&sur1=[scte.segmentation_upid.private_data.1]
:46175218:46175218/5
- ADS URL 템플릿 변수는 잘못된 문자열을 찾으면 기본적으로 비어 있습니다(예: https://domain/ads?sur0=&sur1=&sur2=).
- 제한 및 형식 구조는 ANSI/SCTE 35 2019 섹션 10.3.3.3 사양을 따릅니다. 이 사양은 다음과 같습니다.
| | |
---|
구문 | 비트 | Mnemonic |
MPU() { format_identifier private_data } | 32N*8 | uimsbfuimsbf |
format_identifier는 ISO/IEC 13818-1에 정의되고 SMPTE 등록 기관에 등록된 32비트 고유 식별자입니다.
private_data는
format_identifier 필드 값의 등록된 소유자가 정의한 가변 길이의 바이트 정렬 데이터 세트입니다. 길이는
format_identifier 필드 길이를 포함하는
segmentation_upid_length로 정의됩니다.
세분화 UPID의 사용 예
SCTE 소스
/DBlAAAAAAAAAP/wFAUAFlNif+//5KMqQ/4AUmXAAAAAAAA9AAhDVUVJAAAAAAIxQ1VFSQAWU2J/wAAAUmXADB15aml0OjQ2MTc1MjE4OjQ2MTc1MjE4LzU6NDA1MwAAAAAAAIu9c38=
디코딩된 SCTE
MediaTailor는 UPID를 구문 분석하고 처음 4바이트가 format_identifier라고 가정합니다. format_identifier가 누락된 경우 private_data는 처음 4바이트를 자릅니다. 이로 인해 ADS에서 다른 값을 예상하는 데 문제가 발생할 수 있습니다. 예를 들어 UPID가 ABCD123456 대신 123456으로 작성된 경우(여기서 ABCD는 format_identifier) MediaTailor는 1234를 형식 식별자로 해석하고 나머지 UPID를 56으로 해석합니다. 이로 인해 ADS 호출이 123456이 아닌 56으로 이루어집니다.
"segmentation_upid_type": 12,
"segmentation_upid_type_name": "MPU",
"segmentation_upid_length": 29,
"segmentation_upid": {
"format_identifier": "0x796a6974",
"private_data": "0x3a34363137353231383a34363137353231382f353a34303533"
},
디코딩된 UPID(프라이빗 데이터)
ABCD:46175218:46175218/5:4053
이전 바이트(있는 경우)는 콜론으로 구분된 ASCII 인코딩 HyLDA(FreeWheel) 필드입니다.
이 예에서 토큰은 토큰 순서가 Airing ID:Break ID:Channel ID인 세션 변수에 매핑됩니다. 그런 다음 토큰이 광고 서버(ADS) 로 전송됩니다. 이 예에서는 FreeWheel을 광고 서버로 사용합니다. MediaTailor는 다른 광고 서버와도 작동합니다.
세분화 UPID의 예
- :DS8291:33129DS:SAD123은 유효한 것으로 간주됩니다.
- :46175218:46175218/5:405 3은 유효한 것으로 간주됩니다.
- :46175218::4053은 그 사이에 값이 없는 이중 콜론을 사용하기 때문에 유효하지 않은 것으로 간주됩니다.
- :461752@a:46175218/5:4053은 유효한 것으로 간주됩니다.
- **::**는 앞, 사이 또는 끝에 값이 없는 이중 콜론을 사용하기 때문에 유효하지 않은 것으로 간주됩니다.
예제 세션 변수
_fw_hylda=aiid=[scte.segmentation_upid.private_data.0]&abid=[scte.segmentation_upid.private_data.1]&acid=[scte.segmentation_upid.private_data.2]
_fw_hylda=aiid=46175218&abid=46175218/5&acid=4053
_fw_hylda=aiid%3D46175190%26abid%3D46175190%2F2%26acid%3D4053
관련 정보
세션 변수 사용