기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
MediaTailor 세션 변수
AWS Elemental MediaTailor 는 템플릿 ADS URL의이 섹션에 나열된 변수 중 하나 이상을 지정 AWS Elemental MediaTailor 하도록를 구성할 때 세션 데이터를 Ad Decision Server(ADS)로 전송합니다. 개별 변수를 사용할 수 있으며 여러 변수를 연결하여 단일 값을 생성할 수 있습니다. MediaTailor는 일부 값을 생성하고 매니페스트 및 플레이어의 세션 초기화 요청과 같은 소스에서 나머지 값을 가져옵니다.
다음 표에서는 템플릿 ADS 요청 URL 구성에 사용할 수 있는 세션 데이터 변수를 설명합니다. 표에 나열된 섹션 번호는 SCTE(케이블 통신 엔지니어 협회)-35 사양의 2019a 버전, 디지털 프로그램 삽입 대기열 메시지
명칭 | 광고 미리 가져오기에 사용 가능 | SCTE-35 사양 섹션 | 설명 |
---|---|---|---|
[avail.index] |
예 | 인덱스에서 광고 가능성의 위치를 나타내는 숫자입니다. 재생 세션을 시작할 때 MediaTailor는 매니페스트에 모든 광고 시간의 인덱스를 생성하고 세션의 나머지 기간 동안 인덱스를 저장합니다. MediaTailor가 ADS에 가용 영역을 채우도록 요청하면 여기에는 광고 가능 인덱스 번호가 포함됩니다. 이 파라미터를 사용하면 ADS가 경쟁 배제 및 빈도 제한과 같은 기능을 사용하여 광고 선택을 개선할 수 있습니다. | |
[avail.random] |
예 | MediaTailor가 ADS에 대한 각 요청에 대해 생성하는 0에서 10,000,000,000 사이의 난수입니다. 일부 광고 서버는 이 파라미터를 사용하여 광고를 경쟁사와 분리하는 것과 같은 기능을 활성화합니다. | |
[scte.archive_allowed_flag] |
예 | 10.3.3.1 | 선택적 부울 값입니다. 이 값이 0이면 세그먼트에 레코딩 제한이 적용됩니다. 이 값이 1이면 세그먼트에 레코딩 제한이 적용되지 않습니다. |
[scte.avail_num] |
예 | 9.7.2.1 | MediaTailor가 SCTE-35 필드에서 긴 숫자avail_num 로 구문 분석한 값입니다. MediaTailor는이 값을 사용하여 선형 광고 가능 시간을 지정할 수 있습니다.값은 정수여야 합니다. |
[scte.avails_expected] |
예 | 9,7.2.1 | 현재 이벤트 내의 예상 가용 수를 제공하는 선택적 긴 값입니다. |
[scte.delivery_not_restricted_flag] |
예 | 10.3.3.1 | 선택적 부울 값입니다. 이 값이 0이면 다음 5비트가 예약됩니다. 이 값이 1인 경우 다음 5비트는 SCTE-35 사양에 설명된 의미를 따릅니다. |
[scte.device_restrictions] |
예 | 10.3.3.1 | 사전 정의된 독립 및 비계층적 디바이스 그룹 3개에 신호를 보내는 선택적 정수 값입니다. 이 변수에 대한 자세한 내용은 SCTE-35 사양의 segments_expected 설명을 참조하세요. |
[scte.event_id] |
예 | 9.1 및 9.7.2.1 | MediaTailor가 SCTE-35 필드에서 긴 숫자splice_event_id 로 구문 분석한 값입니다. MediaTailor는이 값을 사용하여 선형 광고 가능 시간을 지정하거나 광고 포드 위치와 같은 광고 서버 쿼리 문자열을 채웁니다.값은 정수여야 합니다. |
[scte.no_regional_blackout_flag] |
예 | 10.3.3.1 | 선택적 부울 값입니다. 이 값이 0이면 리전 블랙아웃 제한이 세그먼트에 적용됩니다. 이 값이 1이면 리전 블랙아웃 제한이 세그먼트에 적용되지 않습니다. |
[scte.segment_num] |
예 | 10.3.3.1 | 세그먼트 모음 내의 세그먼트에 번호를 지정하는 선택적 정수 값입니다. 이 변수에 대한 자세한 내용은 SCTE-35 사양의 segment_num 설명을 참조하세요. |
[scte.segmentation_event_id]
|
예 | 10.3.3.1 | MediaTailor는이 변수를 로 노출합니다scte.event_id. |
[scte.segmentation_type_id] |
예 | 10.3.3.1 | 분할 유형을 지정하는 선택적 8비트 정수 값입니다. 이 변수에 대한 자세한 내용은 SCTE-35 사양의 segmentation_type_id 설명을 참조하세요. |
[scte.segmentation_upid] |
|
segmentation_upid: 10.3.3.1 관리형 프라이빗 UPID: 10.3.3.3 |
SCTE-35 MediaTailor는 다음
|
[scte.segmentation_upid.assetId] |
예 | 포드버스터 워크플로를 segmentation_ upid_type 위해 Managed Private UPID(0xC)와 함께 사용됩니다. MediaTailor는 MPU의 private_data JSON 구조의 assetId 파라미터에서이 값을 도출합니다. 자세한 내용은 Managed Private UPID JSON structure for a podbuster workflow 단원을 참조하십시오. |
|
[scte.segmentation_upid.cueData.key] |
예 | 포드버스터 워크플로를 segmentation_ upid_type 위해 Managed Private UPID(0xC)와 함께 사용됩니다. MediaTailor는 MPU의 private_data JSON 구조의 cueData.key 파라미터에서이 값을 추출합니다. 자세한 내용은 Managed Private UPID JSON structure for a podbuster workflow 단원을 참조하십시오. |
|
[scte.segmentation_upid.cueData.value] |
예 | 포드버스터 워크플로를 segmentation_ upid_type 위해 Managed Private UPID(0xC)와 함께 사용됩니다. MediaTailor는 MPU의 private_data JSON 구조의 cueData.key 파라미터에서이 값을 추출합니다. 자세한 내용은 Managed Private UPID JSON structure for a podbuster workflow 단원을 참조하십시오.값은 문자열일 수 있습니다. |
|
[scte.segmentation_upid.private_data.{index}] |
예 | 대상 광고 워크플로를 segmentation_upid_type 위해 Managed Private UPID(0xC)와 함께 사용됩니다. MediaTailor는 콜론으로 구분된 분할 UPID 토큰을 분할하고 인덱싱된 세션 변수를 생성합니다. 인덱스는 콜론으로 구분된 목록의 위치에 해당하며 초기 콜론의 선행 공백은 무시합니다.예를 들어 인 경우 다음을
값은 문자열일 수 있습니다. |
|
[scte.segments_expected] |
예 | 10.3.3.1 | 세그먼트 모음 내의 개별 세그먼트의 예상 수를 제공하는 선택적 정수 값입니다. 이 변수에 대한 자세한 내용은 SCTE-35 사양의 segments_expected 설명을 참조하세요. |
[scte.sub_segment_num] |
예 | 10.3.3.1 | 하위 세그먼트 모음 내의 특정 하위 세그먼트를 식별하는 선택적 정수 값입니다. 이 변수에 대한 자세한 내용은 SCTE-35 사양의 sub_segment_num 설명을 참조하세요. |
[scte.sub_segments_expected] |
예 | 10.3.3.1 | 하위 세그먼트 모음 내의 개별 하위 세그먼트의 예상 개수를 제공하는 선택적 정수 값입니다. 이 변수에 대한 자세한 내용은 SCTE-35 사양의 sub_segments_expected 설명을 참조하세요. |
[scte.unique_program_id] |
예 | 9.7.2.1 | SCTE-35 splice_insert 필드에서 MediaTailor가 구문 분석한 정수 값입니다unique_program_id . ADS는 고유 프로그램 ID(UPID)를 사용하여 라이브 선형 스트림에 대한 프로그램 수준의 광고 타겟팅을 제공합니다. SCTE-35 명령이 스플라이스 삽입이 아닌 경우 MediaTailor는 이를 빈 값으로 설정합니다.값은 정수여야 합니다. |
[session.avail_duration_ms] |
예 |
광고 가용성 슬롯의 밀리초 단위 기간입니다. 기본값은 300,000ms입니다. 다음과 같이 입력 매니페스트에서 기간 값을 AWS Elemental MediaTailor 가져옵니다.
|
|
[session.avail_duration_secs] |
예 | 광고 가용성 슬롯 또는 광고 가능 시간의 초 단위 지속 시간으로, 가장 가까운 초로 반올림됩니다. MediaTailor는를 결정하는 것과 동일한 방식으로이 값을 결정합니다[session.avail_duration_ms] . |
|
[session.client_ip] |
아니요 | MediaTailor 요청이 시작된 원격 IP 주소입니다. X-forwarded-for 헤더가 설정된 경우 해당 값은 MediaTailor가에 사용하는 값입니다client_ip . |
|
[session.id] |
아니요 | 현재 재생 세션의 고유한 숫자 식별자입니다. 플레이어가 세션에 대해 실행하는 모든 요청의 경우 id가 동일하므로 이 id는 단일 시청에 대한 여러 요청을 관련시키기 위한 ADS 필드에 사용될 수 있습니다. | |
[session.referer] |
아니요 | 일반적으로 비디오 플레이어를 호스팅하는 페이지의 URL입니다. MediaTailor는 플레이어가 MediaTailor에 요청할 때 사용한 Referer 헤더의 값으로이 변수를 설정합니다. 플레이어가이 헤더를 제공하지 않으면 MediaTailor는를 [session.referer] 비워 둡니다. 매니페스트 엔드포인트 앞에 콘텐츠 전송 네트워크(CDN) 또는 프록시를 사용하고이 변수를 표시하려면 여기에서 플레이어의 올바른 헤더를 프록시합니다. |
|
[session.user_agent] |
아니요 | MediaTailor가 플레이어의 세션 초기화 요청에서 수신한 User-Agent 헤더입니다. 매니페스트 엔드포인트의 앞에서 CDN 또는 프록시를 사용 중인 경우 여기 플레이어에서 올바른 헤더에 프록시를 설정해야 합니다. |
|
[session.uuid] |
아니요 |
의 대안입니다
|
ADS가 deviceSession
이라는 쿼리 파라미터에 고유한 세션 식별자를 사용하여 전달될 것을 요구하는 경우 AWS Elemental MediaTailor
의 템플릿 ADS URL은 다음과 같이 보일 수 있습니다.
https://my.ads.server.com/path?deviceSession=[session.id]
AWS Elemental MediaTailor 는 각 스트림에 대한 고유 식별자를 자동으로 생성하고 대신 식별자를 입력합니다session.id
. 식별자가 인 경우 MediaTailor가 ADS에 보내는 1234567
최종 요청은 다음과 같습니다.
https://my.ads.server.com/path?deviceSession=1234567
ADS에 여러 쿼리 파라미터를 전달해야 하는 경우의 템플릿 ADS URL은 다음과 같을 AWS Elemental MediaTailor 수 있습니다.
https://my.ads.server.com/sample?e=[scte.avails_expected]&f=[scte.segment_num]&g=[scte.segments_expected]&h=[scte.sub_segment_num]&j=[scte.sub_segments_expected]&k=[scte.segmentation_type_id]
다음 DASH 마커 예제 XML 조각은 사용 방법을 보여줍니다scte35:SpliceInsert
.
<Period start="PT444806.040S" id="123456" duration="PT15.000S"> <EventStream timescale="90000" schemeIdUri="urn:scte:scte35:2013:xml"> <Event duration="1350000"> <scte35:SpliceInfoSection protocolVersion="0" ptsAdjustment="180832" tier="4095"> <scte35:SpliceInsert spliceEventId="1234567890" spliceEventCancelIndicator="false" outOfNetworkIndicator="true" spliceImmediateFlag="false" uniqueProgramId="1" availNum="1" availsExpected="1"> <scte35:Program><scte35:SpliceTime ptsTime="5672624400"/></scte35:Program> <scte35:BreakDuration autoReturn="true" duration="1350000"/> </scte35:SpliceInsert> </scte35:SpliceInfoSection>
다음 DASH 마커 예제 XML 조각은를 사용하는 방법을 보여줍니다scte35:TimeSignal
.
<Period start="PT346530.250S" id="123456" duration="PT61.561S"> <EventStream timescale="90000" schemeIdUri="urn:scte:scte35:2013:xml"> <Event duration="5310000"> <scte35:SpliceInfoSection protocolVersion="0" ptsAdjustment="183003" tier="4095"> <scte35:TimeSignal> <scte35:SpliceTime ptsTime="3442857000"/> </scte35:TimeSignal> <scte35:SegmentationDescriptor segmentationEventId="1234567" segmentationEventCancelIndicator="false" segmentationDuration="8100000" segmentationTypeId="52" segmentNum="0" segmentsExpected="0"> <scte35:DeliveryRestrictions webDeliveryAllowedFlag="false" noRegionalBlackoutFlag="false" archiveAllowedFlag="false" deviceRestrictions="3"/> <scte35:SegmentationUpid segmentationUpidType="12" segmentationUpidLength="2">0100</scte35:SegmentationUpid> </scte35:SegmentationDescriptor> </scte35:SpliceInfoSection> </Event>
다음 DASH 마커 예제 XML 조각은 사용 방법을 보여줍니다scte35:Binary
.
<Period start="PT444806.040S" id="123456" duration="PT15.000S"> <EventStream schemeIdUri="urn:scte:scte35:2014:xml+bin" timescale="1"> <Event presentationTime="1541436240" duration="24" id="29"> <scte35:Signal xmlns="http://www.scte.org/schemas/35/2016"> <scte35:Binary>/DAhAAAAAAAAAP/wEAUAAAHAf+9/fgAg9YDAAAAAAAA25aoh</Binary> </scte35:Signal> </Event> <Event presentationTime="1541436360" duration="24" id="30"> <scte35:Signal xmlns="http://www.scte.org/schemas/35/2016"> <scte35:Binary>QW5vdGhlciB0ZXN0IHN0cmluZyBmb3IgZW5jb2RpbmcgdG8gQmFzZTY0IGVuY29kZWQgYmluYXJ5Lg==</Binary> </scte35:Signal> </Event>
다음 HLS 태그 예제에서는를 사용하는 방법을 보여줍니다EXT-X-DATERANGE
.
#EXT-X-DATERANGE:ID="splice-6FFFFFF0",START-DATE="2014-03-05T11: 15:00Z",PLANNED-DURATION=59.993,SCTE35-OUT=0xFC002F0000000000FF0 00014056FFFFFF000E011622DCAFF000052636200000000000A0008029896F50 000008700000000
다음 HLS 태그 예제에서는를 사용하는 방법을 보여줍니다EXT-X-CUE-OUT
.
#EXT-OATCLS-SCTE35:/DA0AAAAAAAAAAAABQb+ADAQ6QAeAhxDVUVJQAAAO3/PAAEUrEoICAAAAAAg+2UBNAAANvrtoQ== #EXT-X-ASSET:CAID=0x0000000020FB6501 #EXT-X-CUE-OUT:201.467
다음 HLS 태그 예제에서는를 사용하는 방법을 보여줍니다EXT-X-SPLICEPOINT-SCTE35
.
#EXT-X-SPLICEPOINT-SCTE35:/DA9AAAAAAAAAP/wBQb+uYbZqwAnAiVDVUVJAAAKqX//AAEjW4AMEU1EU05CMDAxMTMyMjE5M19ONAAAmXz5JA==
다음 예제에서는 scte35:Binary
디코딩을 사용하는 방법을 보여줍니다.
{ "table_id": 252, "section_syntax_indicator": false, "private_indicator": false, "section_length": 33, "protocol_version": 0, "encrypted_packet": false, "encryption_algorithm": 0, "pts_adjustment": 0, "cw_index": 0, "tier": "0xFFF", "splice_command_length": 16, "splice_command_type": 5, "splice_command": { "splice_event_id": 448, "splice_event_cancel_indicator": false, "out_of_network_indicator": true, "program_splice_flag": true, "duration_flag": true, "splice_immediate_flag": false, "utc_splice_time": { "time_specified_flag": false, "pts_time": null }, "component_count": 0, "components": null, "break_duration": { "auto_return": false, "duration": { "pts_time": 2160000, "wall_clock_seconds": 24.0, "wall_clock_time": "00:00:24:00000" } }, "unique_program_id": 49152, "avail_num": 0, "avails_expected": 0 "segment_num": 0, "segments_expected": 0, "sub_segment_num": 0, "sub_segments_expected": 0 }, "splice_descriptor_loop_length": 0, "splice_descriptors": null, "Scte35Exception": { "parse_status": "SCTE-35 cue parsing completed with 0 errors.", "error_messages": [], "table_id": 252, "splice_command_type": 5 } }