세션 변수 사용 - AWS Elemental MediaTailor

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

세션 변수 사용

구성하려면 AWS Elemental MediaTailor 세션 데이터를 광고 의사 결정 서버 (ADS) 로 보내려면 ADS URL 템플릿에서 이 섹션에 나열된 변수 중 하나 이상을 지정합니다. 개별 변수를 사용할 수 있으며 여러 변수를 연결하여 단일 값을 만들 수 있습니다. MediaTailor 일부 값을 생성하고 나머지는 매니페스트와 플레이어의 세션 초기화 요청과 같은 소스에서 가져옵니다.

다음 표에는 템플릿 ADS 요청 구성에 사용할 수 있는 세션 데이터 변수가 설명되어 있습니다. URL 표에 나열된 섹션 번호는 케이블 통신 엔지니어 협회 (SCTE) -35 사양의 2019a 버전에 해당합니다. 케이블용 디지털 프로그램 삽입 큐 메시지, 광고 프리페치에 대한 자세한 내용은 을 참조하십시오. 광고 프리페칭

명칭 광고 프리페치에 사용할 수 있습니다. SCTE-35 사양 섹션 Description
[avail.index] 지수 내 광고 게재 순위를 나타내는 숫자입니다. 재생 세션 시작 시 매니페스트의 모든 광고 가용성에 대한 색인을 MediaTailor 만들고 세션의 나머지 부분에 대한 색인을 저장합니다. 에 광고 게재를 MediaTailor 요청하면 광고 사용 가능 색인 번호가 포함됩니다. ADS 이 매개변수를 사용하면 경쟁업체 제외 및 게재빈도 제한과 같은 기능을 사용하여 광고 선택을 개선할 수 있습니다. ADS
[avail.random] 에 대한 각 요청마다 MediaTailor 생성되는 0에서 10,000,000,000 사이의 임의의 숫자 (긴 숫자). ADS 일부 광고 서버는 이 파라미터를 사용하여 광고를 경쟁사와 분리하는 것과 같은 기능을 활성화합니다.
[scte.archive_allowed_flag] 10.3.3.1 선택적 부울 값입니다. 이 값이 0이면 세그먼트에 기록 제한이 설정됩니다. 이 값이 1이면 세그먼트에 녹화 제한이 설정되지 않습니다.
[scte.avail_num] 9.7.2.1 SCTE-35 필드에서 파싱된 MediaTailor 값이며avail_num, 긴 숫자로 표시됩니다. MediaTailor 이 값을 사용하여 선형 광고 가용 숫자를 지정할 수 있습니다.
[scte.avails_expected] 9,7.2.1 현재 이벤트 내의 예상 가용성 횟수를 제공하는 선택적 long 값입니다.
[scte.delivery_not_restricted_flag] 10.3.3.1 선택적 부울 값입니다. 이 값이 0이면 다음 5비트가 예약됩니다. 이 값이 1인 경우 다음 5비트는 SCTE -35 사양에 설명된 대로 의미를 갖습니다.
[scte.device_restrictions] 10.3.3.1 사전 정의된 독립 및 비계층적 장치 그룹 3개를 나타내는 선택적 정수 값입니다. 이 변수에 대한 자세한 내용은 -35 사양의 segments_예상 설명을 참조하십시오. SCTE
[scte.event_id]
9.1 및 9.7.2.1 SCTE-35 필드에서 splice_event_id 구문 분석된 MediaTailor 값입니다 (긴 숫자). MediaTailor 이 값을 사용하여 선형 광고 가용 숫자를 지정하거나 광고 창 위치와 같은 광고 서버 쿼리 문자열을 채웁니다.
[scte.no_regional_blackout_flag] 10.3.3.1 선택적 부울 값입니다. 이 값이 0이면 해당 세그먼트에 지역별 블랙아웃 제한이 적용됩니다. 이 값이 1인 경우 해당 세그먼트에는 지역별 블랙아웃 제한이 적용되지 않습니다.
[scte.segment_num] 10.3.3.1 세그먼트 컬렉션 내의 세그먼트에 번호를 매기는 선택적 정수 값입니다. 이 변수에 대한 자세한 내용은 -35 사양의 segment_num 설명을 참조하십시오. SCTE
[scte.segmentation_event_id] 10.3.3.1 MediaTailor 이 변수를 로 노출합니다. scte.event_id
[scte.segmentation_type_id] 10.3.3.1 세그멘테이션 유형을 지정하는 선택적 8비트 정수 값입니다. 이 변수에 대한 자세한 내용은 -35 사양의 segmentation_type_id 설명을 참조하십시오. SCTE
[scte.segmentation_upid]

segmentation_upid_type: 예

private_data: 예

세그멘테이션_upid: 10.3.3.1

매니지드 프라이빗: 10.3.3.3 UPID

SCTEsegmentation_upid-35 요소에 해당합니다. segmentation_upid요소에는 segmentation_upid_type 및 이 포함됩니다. segmentation_upid_length

MediaTailor 다음 segmentation_upid 유형을 지원합니다.

  • ADS정보 (0x0E) - 광고 정보. 자세한 내용은 -35 사양의 세그멘테이션_upid 설명을 참조하십시오. SCTE

  • 매니지드 프라이빗 UPID (0x0C) - -35 사양에 정의된 매니지드 프라이빗 UPID () 구조입니다. MPU SCTE MediaTailor 바이너리 또는 표현을 지원합니다. DASH XML SCTE

    이 구조는 팟버스터 워크플로우에서 사용할 수 있습니다. 이렇게 하려면 32비트 (4바이트) 를 지정하고 속성에 다음 format_identifier 파라미터를 포함하세요. private_data

    ABCD{"assetId":"my_program","cueData":{"cueType":"theAdType","key":"pb","value":"123456"}}

    MediaTailor 위의 값을 구문 분석하여JSON,, 동적 변수에 전달합니다. scte.segmentation_upid.assetId scte.segmentation_upid.cueData.key scte.segmentation_upid.cueData.value

  • 사용자 정의 (0x01) - 사용자 정의 구조입니다. 자세한 내용은 -35 사양의 세그멘테이션_upid 설명을 참조하십시오. SCTE

[scte.segmentation_upid.assetId] 팟버스터 워크플로를 위한 매니지드 프라이빗 UPID (0xC) 과 함께 사용됩니다. segmentation_ upid_type MediaTailor의 구조에 있는 파라미터에서 이 값을 도출합니다. assetId MPU private_data JSON 자세한 내용은 Managed Private UPID JSON structure for a podbuster workflow 단원을 참조하십시오.
[scte.segmentation_upid.cueData.key] 팟버스터 워크플로를 위한 매니지드 프라이빗 UPID (0xC) segmentation_ upid_type 과 함께 사용됩니다. MediaTailor의 구조에 있는 파라미터에서 이 값을 도출합니다. cueData.key MPU private_data JSON 자세한 내용은 Managed Private UPID JSON structure for a podbuster workflow 단원을 참조하십시오.
[scte.segmentation_upid.cueData.value] 팟버스터 워크플로를 위한 매니지드 프라이빗 UPID (0xC) segmentation_ upid_type 과 함께 사용됩니다. MediaTailor의 구조에 있는 파라미터에서 이 값을 도출합니다. cueData.key MPU private_data JSON 자세한 내용은 Managed Private UPID JSON structure for a podbuster workflow 단원을 참조하십시오.
[scte.segments_expected] 10.3.3.1 세그먼트 컬렉션 내 개별 세그먼트의 예상 개수를 제공하는 선택적 정수 값입니다. 이 변수에 대한 자세한 내용은 -35 사양의 segments_ected 설명을 참조하십시오. SCTE
[scte.sub_segment_num] 10.3.3.1 하위 세그먼트 컬렉션 내에서 특정 하위 세그먼트를 식별하는 선택적 정수 값입니다. 이 변수에 대한 자세한 내용은 -35 사양의 sub_segment_num 설명을 참조하십시오. SCTE
[scte.sub_segments_expected] 10.3.3.1 하위 세그먼트 컬렉션 내 개별 하위 세그먼트의 예상 개수를 제공하는 선택적 정수 값입니다. 이 변수에 대한 자세한 내용은 -35 사양의 sub_segments_예상 설명을 참조하십시오. SCTE
[scte.unique_program_id] 9.7.2.1 -35 MediaTailor 필드에서 파싱된 정수 값입니다. SCTE splice_insert unique_program_id 는 고유한 프로그램 ID (UPID) 를 ADS 사용하여 실시간 선형 스트림에 대한 프로그램 수준의 광고 타겟팅을 제공합니다. SCTE-35 명령이 스플라이스 삽입이 아닌 경우 이 값을 빈 값으로 MediaTailor 설정합니다.
[session.avail_duration_ms]

광고 가용성 슬롯의 기간 (밀리초). 기본값은 300,000밀리초입니다. AWS Elemental MediaTailor 다음과 같이 입력 매니페스트에서 지속 시간 값을 가져옵니다.

  • For HLS MediaTailor : 태그의 값 #EXT-X-CUE-OUT: DURATION 또는 값에서 기간을 구합니다. #EXT-X-DATERANGE 입력 매니페스트의 해당 태그의 광고 게재 기간이 null이거나 유효하지 않거나 0인 경우 기본값을 사용합니다. MediaTailor

  • 대상DASH: 이벤트 기간 (지정된 경우) 에서 기간 값을 MediaTailor 가져옵니다. 그렇지 않으면 기본값이 사용됩니다.

  • 경우VOD: VOD 스트림이 프리롤 광고 호출을 트리거하는 경우 매니페스트에 기간 값이 있는 SCTE 메시지가 포함되어 있지 않은 경우 기본 기간 값을 포함하여 [session.avail_duration_ms] 의 기간을 입력하지 MediaTailor 않습니다.

[session.avail_duration_secs] 광고 가용성 슬롯 (광고 이용 가능 슬롯) 의 지속 시간 (초) 을 가장 가까운 초 단위로 반올림했습니다. MediaTailor 결정된 것과 같은 방식으로 이 값을 결정합니다[session.avail_duration_ms].
[session.client_ip] 아니요 MediaTailor 요청을 보낸 원격 IP 주소. X-forwarded-for헤더가 설정된 경우 해당 값이 에 MediaTailor 사용됩니다client_ip.
[session.id] 아니요 현재 재생 세션의 고유한 숫자 식별자입니다. 플레이어가 세션에 대해 보내는 모든 요청은 동일한 ID를 가지므로 단일 시청 요청의 상관 관계를 파악하기 위한 ADS 필드에 ID를 사용할 수 있습니다.
[session.referer] 아니요 일반적으로 동영상 플레이어를 URL 호스팅하는 페이지의 페이지입니다. MediaTailor 이 변수를 플레이어가 요청 시 사용한 Referer 헤더 값으로 설정합니다 MediaTailor. 플레이어가 이 헤더를 제공하지 않는 경우 헤더를 [session.referer] 비워 MediaTailor 둡니다. 매니페스트 엔드포인트 앞에 콘텐츠 전송 네트워크 (CDN) 또는 프록시를 사용하고 이 변수를 표시하려면 플레이어의 올바른 헤더를 여기로 프록시하십시오.
[session.user_agent] 아니요 플레이어의 세션 초기화 요청에서 MediaTailor 수신한 User-Agent 헤더입니다. 매니페스트 엔드포인트 앞에서 CDN 또는 프록시를 사용하는 경우 플레이어의 올바른 헤더를 여기로 프록시해야 합니다.
[session.uuid] 아니요

의 대안. [session.id] 이는 다음과 같은 현재 재생 세션의 고유한 식별자입니다.

e039fd39-09f0-46b2-aca9-9871cc116cde

고유한 세션 식별자와 함께 deviceSession 전달되도록 이름이 지정된 쿼리 매개 변수가 ADS 필요한 ADS URL 경우 템플릿은 AWS Elemental MediaTailor 다음과 같이 보일 수 있습니다.

https://my.ads.server.com/path?deviceSession=[session.id]

AWS Elemental MediaTailor 각 스트림의 고유 식별자를 자동으로 생성하고 대신 식별자를 입력합니다session.id. 식별자가 1234567 인 경우 에 보내는 MediaTailor 최종 요청은 다음과 ADS 같습니다.

https://my.ads.server.com/path?deviceSession=1234567

여러 쿼리 매개 변수를 전달해야 하는 ADS URL 경우 템플릿은 ADS 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 } }