

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

# ADS 요청에 대한 MediaTailor 세션 변수
<a name="variables-session"></a>

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

다음 표에서는 템플릿 ADS 요청 URL 구성에 사용할 수 있는 세션 데이터 변수를 설명합니다. 표에 나열된 섹션 번호는 SCTE(케이블 통신 엔지니어 협회)-35 사양의 2019a 버전, [디지털 프로그램 삽입 대기열 메시지](https://account.scte.org/standards/library/catalog/scte-35-digital-program-insertion-cueing-message/), 광고 미리 가져오기에 대한 자세한 내용은 섹션을 참조하세요[광고 미리 가져오기](prefetching-ads.md).


| 이름 | 광고 미리 가져오기에 사용 가능 | SCTE-35 사양 섹션 | 설명 | 
| --- | --- | --- | --- | 
| [avail.index] | 예 |  | 인덱스에서 광고 가능성의 위치를 나타내는 숫자입니다. 재생 세션을 시작할 때 MediaTailor는 매니페스트에 있는 모든 광고 시간의 인덱스를 생성하고 세션의 나머지 기간 동안 인덱스를 저장합니다. MediaTailor가 ADS에 가용을 채우도록 요청하면 여기에는 광고 가능 인덱스 번호가 포함됩니다. 이 파라미터를 사용하면 ADS가 경쟁 배제 및 빈도 제한과 같은 기능을 사용하여 광고 선택을 개선할 수 있습니다. | 
| [avail.random] | 예 |  | MediaTailor가 ADS에 대한 각 요청에 대해 생성하는 0에서 10,000,000,000 사이의 난수입니다. 일부 광고 서버는 이 파라미터를 사용하여 광고를 경쟁사와 분리하는 것과 같은 기능을 활성화합니다. | 
| [scte.archive\$1allowed\$1flag] | 예 | 10.3.3.1 | 선택적 부울 값입니다. 이 값이 0이면 세그먼트에 레코딩 제한이 적용됩니다. 이 값이 1이면 세그먼트에 레코딩 제한이 적용되지 않습니다. | 
| [scte.avail\$1num] | 예 | 9.7.2.1 | MediaTailor가 SCTE-35 필드에서 긴 숫자avail\$1num로 구문 분석한 값입니다. MediaTailor는이 값을 사용하여 선형 광고 가능 시간을 지정할 수 있습니다.값은 정수여야 합니다. | 
| [scte.avails\$1expected] | 예 | 9,7.2.1 | 현재 이벤트 내의 예상 가용 수를 제공하는 선택적 긴 값입니다. | 
| [scte.delivery\$1not\$1restricted\$1flag] | 예 | 10.3.3.1 | 선택적 부울 값입니다. 이 값이 0이면 다음 5비트가 예약됩니다. 이 값이 1인 경우 다음 5비트는 SCTE-35 사양에 설명된 의미를 따릅니다. | 
| [scte.device\$1restrictions] | 예 | 10.3.3.1 | 사전 정의된 독립 및 비계층적 디바이스 그룹 3개에 신호를 보내는 선택적 정수 값입니다. 이 변수에 대한 자세한 내용은 SCTE-35 사양의 segments\$1expected 설명을 참조하세요. | 
| [scte.event\$1id] | 예 | 9.1 및 9.7.2.1 | MediaTailor가 SCTE-35 필드에서 긴 숫자splice\$1event\$1id로 구문 분석한 값입니다. MediaTailor는이 값을 사용하여 선형 광고 가능 시간을 지정하거나 광고 포드 위치와 같은 광고 서버 쿼리 문자열을 채웁니다.값은 정수여야 합니다. | 
| [scte.no\$1regional\$1blackout\$1flag] | 예 | 10.3.3.1 | 선택적 부울 값입니다. 이 값이 0이면 리전 블랙아웃 제한이 세그먼트에 적용됩니다. 이 값이 1이면 리전 블랙아웃 제한이 세그먼트에 적용되지 않습니다. | 
| [scte.segment\$1num] | 예 | 10.3.3.1 | 세그먼트 모음 내의 세그먼트에 번호를 지정하는 선택적 정수 값입니다. 이 변수에 대한 자세한 내용은 SCTE-35 사양의 segment\$1num 설명을 참조하세요. | 
| [scte.segmentation\$1event\$1id]  | 예 | 10.3.3.1 | MediaTailor는이 변수를 로 노출합니다[scte.event_id](#scte.event_id). | 
| [scte.segmentation\$1type\$1id] | 예 | 10.3.3.1 | 분할 유형을 지정하는 선택적 8비트 정수 값입니다. 이 변수에 대한 자세한 내용은 SCTE-35 사양의 segmentation\$1type\$1id 설명을 참조하세요. | 
| [scte.segmentation\$1upid] |  `segmentation_upid_type`: 예 `private_data`: 예  |  **segmentation\$1upid**: 10.3.3.1 관리형 프라이빗 UPID: 10.3.3.3  |  SCTE-35 `segmentation_upid` 요소에 해당합니다. `segmentation_upid` 요소에는 `segmentation_upid_type` 및가 포함되어 있습니다`segmentation_upid_length`. MediaTailor는 다음 `segmentation_upid` 유형을 지원합니다. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/mediatailor/latest/ug/variables-session.html)  | 
| [scte.segmentation\$1upid.assetId] | 예 |  | 포드버스터 워크플로를 segmentation\$1 upid\$1type 위해 Managed Private UPID(0xC)와 함께 사용됩니다. MediaTailor는 MPU의 private\$1data JSON 구조에 있는 assetId 파라미터에서이 값을 도출합니다. 자세한 내용은 [Managed Private UPID JSON structure for a podbuster workflow](#podbuster-workflow) 단원을 참조하십시오. | 
| [scte.segmentation\$1upid.cueData.key] | 예 |  | 포드버스터 워크플로를 segmentation\$1 upid\$1type 위해 Managed Private UPID(0xC)와 함께 사용됩니다. MediaTailor는 MPU의 private\$1data JSON 구조의 cueData.key 파라미터에서이 값을 도출합니다. 자세한 내용은 [Managed Private UPID JSON structure for a podbuster workflow](#podbuster-workflow) 단원을 참조하십시오. | 
| [scte.segmentation\$1upid.cueData.value] | 예 |  | 포드버스터 워크플로를 segmentation\$1 upid\$1type 위해 Managed Private UPID(0xC)와 함께 사용됩니다. MediaTailor는 MPU의 private\$1data JSON 구조의 cueData.key 파라미터에서이 값을 도출합니다. 자세한 내용은 [Managed Private UPID JSON structure for a podbuster workflow](#podbuster-workflow) 단원을 참조하십시오.값은 문자열일 수 있습니다. | 
| [scte.segmentation\$1upid.private\$1data.\$1index\$1] | 예 |  | 대상 광고 워크플로를 segmentation\$1upid\$1type 위해 Managed Private UPID(0xC)와 함께 사용됩니다. MediaTailor는 콜론으로 구분된 분할 UPID 토큰을 분할하고 인덱싱된 세션 변수를 생성합니다. 인덱스는 콜론으로 구분된 목록의 위치에 해당하며 초기 콜론의 선행 공백은 무시합니다.예를 들어 인 경우 다음을 `segmentation_upid = ":3213214:2313321/5:3943"`수행합니다. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/mediatailor/latest/ug/variables-session.html) 값은 문자열일 수 있습니다. | 
| [scte.segments\$1expected] | 예 | 10.3.3.1 | 세그먼트 모음 내의 개별 세그먼트의 예상 수를 제공하는 선택적 정수 값입니다. 이 변수에 대한 자세한 내용은 SCTE-35 사양의 segments\$1expected 설명을 참조하세요. | 
| [scte.sub\$1segment\$1num] | 예 | 10.3.3.1 | 하위 세그먼트 모음 내의 특정 하위 세그먼트를 식별하는 선택적 정수 값입니다. 이 변수에 대한 자세한 내용은 SCTE-35 사양의 sub\$1segment\$1num 설명을 참조하세요. | 
| [scte.sub\$1segments\$1expected] | 예 | 10.3.3.1 | 하위 세그먼트 모음 내의 개별 하위 세그먼트의 예상 개수를 제공하는 선택적 정수 값입니다. 이 변수에 대한 자세한 내용은 SCTE-35 사양의 sub\$1segments\$1expected 설명을 참조하세요. | 
| [scte.unique\$1program\$1id] | 예 | 9.7.2.1 | SCTE-35 splice\$1insert 필드에서 MediaTailor가 구문 분석한 정수 값입니다unique\$1program\$1id. ADS는 고유 프로그램 ID(UPID)를 사용하여 라이브 선형 스트림에 대한 프로그램 수준의 광고 타겟팅을 제공합니다. SCTE-35 명령이 스플라이스 삽입이 아닌 경우 MediaTailor는 이를 빈 값으로 설정합니다.값은 정수여야 합니다. | 
| [session.avail\$1duration\$1ms] | 예 |  |  광고 가용성 슬롯의 밀리초 단위 기간입니다. 기본값은 300,000ms입니다. 다음과 같이 입력 매니페스트에서 기간 값을 AWS Elemental MediaTailor 가져옵니다. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/mediatailor/latest/ug/variables-session.html)  | 
| [session.avail\$1duration\$1secs] | 예 |  | 광고 가용성 슬롯 또는 광고 가능 시간의 초 단위 지속 시간으로, 가장 가까운 초로 반올림됩니다. MediaTailor는를 결정하는 것과 동일한 방식으로이 값을 결정합니다[session.avail\$1duration\$1ms]. | 
| [session.client\$1ip] | 아니요 |  | MediaTailor 요청이 시작된 원격 IP 주소입니다. X-forwarded-for 헤더가 설정된 경우 해당 값은 MediaTailor가에 사용하는 값입니다client\$1ip. | 
| [session.id] | 아니요 |  | 현재 재생 세션의 고유한 숫자 식별자입니다. 플레이어가 세션에 대해 실행하는 모든 요청의 경우 id가 동일하므로 이 id는 단일 시청에 대한 여러 요청을 관련시키기 위한 ADS 필드에 사용될 수 있습니다. | 
| [session.referer] | 아니요 |  | 일반적으로 비디오 플레이어를 호스팅하는 페이지의 URL입니다. MediaTailor는 플레이어가 MediaTailor에 요청할 때 사용한 Referer 헤더 값으로이 변수를 설정합니다. 플레이어가이 헤더를 제공하지 않으면 MediaTailor는를 [session.referer] 비워 둡니다. 매니페스트 엔드포인트 앞에 콘텐츠 전송 네트워크(CDN) 또는 프록시를 사용하고이 변수를 표시하려면 여기에서 플레이어의 올바른 헤더를 프록시합니다. | 
| [session.user\$1agent] | 아니요 |  | MediaTailor가 플레이어의 세션 초기화 요청에서 수신한 User-Agent 헤더입니다. 매니페스트 엔드포인트의 앞에서 CDN 또는 프록시를 사용 중인 경우 여기 플레이어에서 올바른 헤더에 프록시를 설정해야 합니다. | 
| [session.uuid] | 아니요 |  |  의 대안입니다**[session.id]**. 이는 다음과 같은 현재 재생 세션의 고유한 식별자입니다. <pre>e039fd39-09f0-46b2-aca9-9871cc116cde</pre>  | 
| [avail.source\$1content\$1time\$1epoch\$1ms] | 아니요 |  |  HLS의 경우 값은 가용 구간을 시작한 오리진 세그먼트의 PDT입니다. DASH의 경우 값은가 `<Period>` 포함된 `<SupplementalProperty> urn:scte:dash:utc-time`의 입니다`<EventStream>`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/mediatailor/latest/ug/variables-session.html)  | 

**Example**  
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
  }
}
```