

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

# 준비: SCTE 35 소스 설정 - 세그먼트 또는 매니페스트
<a name="scte35-getting-ready-source"></a>

MediaLive 채널에 HLS 입력이 있는 경우 SCTE 35 메시지의 소스를 식별하도록 입력을 구성해야 합니다. 다음 두 가지 소스가 가능합니다.
+ 전송 스트림(TS)의 세그먼트. 이 소스 유형은 SCTE 35 메시지를 포함할 수 있는 모든 입력에 적용됩니다. 특정 SCTE 35 패킷 식별자(PID)를 선택하지 않는 한, TS에 존재하는 첫 번째 PID가 사용됩니다.
+ HLS 입력 매니페스트의 태그. 이 소스 유형은 HLS 입력에만 적용됩니다.

**HLS 입력이 아닌 입력에서 소스를 설정하려면**

1. **채널 생성/편집** 페이지의 탐색 창에서 **입력 연결**을 선택합니다.

1. **일반 입력 설정**에서 다음 필드를 채웁니다.
   + **SCTE 35 PID **: PID 값을 입력합니다. 이 값이 비어 있는 경우 입력에 존재하는 첫 번째 SCTE 35 PID가 선택됩니다.

1. 해당되는 경우 다른 **입력 연결**을 반복합니다.

**HLS 입력에서 소스를 설정하려면**

1. **채널 생성/편집** 페이지의 탐색 창에서 **입력 연결**을 선택합니다.

1. 각각의 HLS 입력에 대해 **네트워크 입력 설정**의 **HLS 입력 설정**에서 **HLS 입력**을 선택합니다. 추가 필드가 나타납니다.

1. SCTE 35 소스를 **세그먼트**(기본값) 또는 **매니페스트**로 설정합니다.

**Topics**
+ [지원하는 매니페스트 형식](#scte35-get-ready-source-support)
+ [MediaLive가 SCTE 35 메시지를 생성하는 방법](#scte35-get-ready-source-create-message)
+ [MediaLive가 메시지를 삽입하는 방법: 프리롤](#scte35-get-ready-source-preroll)

## 지원하는 매니페스트 형식
<a name="scte35-get-ready-source-support"></a>

HLS 입력 매니페스트를 SCTE 35 소스로 사용하도록 설정한 경우 다음 섹션을 읽습니다.

MediaLive는 소스 HLS 매니페스트 내에 **EXT-X-CUE-OUT** 태그에서, 해당되는 경우에는 **EXT-X-CUE-IN** 태그에서도 SCTE 35 스플라이스 삽입 메시지를 생성할 수 있습니다. 이러한 태그를 지원하는 형식의 예시는 다음과 같습니다.
+ `#EXT-X-CUE-OUT:DURATION=60.000`
+ `#EXT-X-CUE-OUT:DURATION="60.000"`
+ `#EXT-X-CUE-OUT:60.000`
+ `#EXT-X-CUE-OUT:"60.000"`
+ `#EXT-X-CUE-IN`

## MediaLive가 SCTE 35 메시지를 생성하는 방법
<a name="scte35-get-ready-source-create-message"></a>

각각의 `EXT-X-CUE-OUT`에서 MediaLive는 다음 데이터와 함께 스플라이스 삽입 유형의 SCTE 35 메시지를 생성합니다.
+ `splice_event_id`: MediaLive가 현재 입력에서 생성하는 첫 번째 CUE-OUT 메시지에 대해 1부터 시작하여 늘어나는 숫자입니다.
+ `out_of_network_indicator`: true(1)
+ `program_splice_flag`: true(1)
+ `duration_flag`: true(1)
+ `break_duration`:
  + `auto_return`: 1
  + `reserved`: 0
  + `duration`: 매니페스트의 지속시간으로, 90kHz 틱으로 변환됩니다. 예를 들어, 15초는 1,350,000틱입니다.
+ `splice_immediate_flag`: 0 (false)
+ `splice_time`: 입력 매니페스트에서 이 EXT-X-CUE-OUT을 따르는 비디오 세그먼트의 첫 번째 프레임의 비디오 PTS를 사용합니다.
+ `unique_program_id`: 0
+ `avail_num`: MediaLive가 현재 입력에서 생성하는 첫 번째 CUE-OUT 메시지에 대해 1부터 시작하여 늘어나는 숫자입니다.
+ `avails expected`: 0

각각의 `EXT-X-CUE-IN`에서 MediaLive는 다음 데이터와 함께 스플라이스 삽입 유형의 SCTE 35 메시지를 생성합니다.
+ `splice_event_id`: 매니페스트의 가장 최근 EXT-X-CUE-OUT의 ID입니다.
+ `out_of_network_indicator`: false(0)
+ `program_splice_flag`: true(1)
+ `duration_flag`: false(0)
+ `splice_immediate_flag`: 0 (false)
+ `splice_time`: 입력 매니페스트에서 이 EXT-X-CUE-IN을 따르는 비디오 세그먼트의 첫 번째 프레임의 비디오 PTS를 사용합니다.
+ `unique_program_id`: 0
+ `avail_num`: 가장 최근 EXT-X-CUE-OUT의 값
+ `avails expected`: 0

## MediaLive가 메시지를 삽입하는 방법: 프리롤
<a name="scte35-get-ready-source-preroll"></a>

MediaLive는 CUE-OUT에 해당하는 SCTE 35 메시지를 삽입할 때 프리롤을 포함합니다. 이 프리롤은 SCTE 35 메시지의 splice\_time보다 5초 전에 이루어집니다.

MediaLive는 채널에 프리롤을 위한 버퍼링이 충분하지 않은 경우 프리롤을 줄입니다. 초 단위의 버퍼는 다음을 통한 결과입니다.
+ 입력 매니페스트에 지정된 입력 세그먼트 지속시간
+ 버퍼에 포함할 세그먼트 수입니다. HLS 입력을 연결할 때 **버퍼 세그먼트** 필드에서 이 값을 설정합니다.

예를 들어, 세그먼트 지속시간이 6초이고 세그먼트 수가 3초인 경우 버퍼는 18초입니다.

**적절한 프리롤 확보**

입력에 맞춰 계산된 버퍼가 5초 미만인 경우 MediaLive에서는 프리롤을 줄입니다. MediaLive는 프리롤을 0으로 줄일 수 있으며, 이는 SCTE 35 메시지의 PTS 값이 스플라이스 시간의 PTS와 같아짐을 의미합니다.

잘못된 프리롤을 방지하려면 버퍼의 *최소값*이 프리롤에 세그먼트 하나를 더한 것과 같은 값인지 확인하는 것이 좋습니다. 다음 단계를 따릅니다.
+ 1단계: 입력에 대한 최소 버퍼를 초 단위로 계산합니다: 초 단위 프리롤 \+ 세그먼트 하나의 길이(단위: 초)
+ 2단계: 해당 최소 버퍼의 세그먼트 수를 계산합니다: 최소 버퍼 / 세그먼트 길이
+ 3단계: 최소값을 정수로 반올림합니다. 또는 최소값이 3보다 작으면 해당 숫자를 3까지 반올림합니다.
+ 4단계: 입력 연결의 **버퍼 세그먼트**에 이 숫자(또는 원하는 경우 더 큰 숫자)를 입력합니다.

예를 들어 세그먼트 길이가 2초라고 가정합니다.
+ 1단계: 5 \+ 2 = 7
+ 2단계: 7/2 = 3.5
+ 3단계: 반올림하여 4
+ 4단계: 입력 연결의 **버퍼 세그먼트**에 이 숫자(또는 더 큰 숫자)를 입력합니다.