

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

# ABR 스트리밍 출력 그룹 선택
<a name="choosing-your-streaming-output-groups"></a>

사람들이 자신의 디바이스로 스트리밍할 수 있는 미디어 애셋을 생성하려면 가변 비트레이트(ABR) 출력 그룹(예: Apple HLS, DASH ISO, Microsoft Smooth Streaming 또는 CMAF)을 한 개 이상 선택합니다. 출력 그룹의 유형에 따라 MediaConvert가 출력 그룹에서 생성하는 파일을 어떤 미디어 플레이어가 재생할 수 있는지 결정됩니다.

**참고**  
CMAF, DASH ISO 또는 Microsoft Smooth Streaming 출력 그룹을 설정할 때 조각 길이를 올바로 설정해야 합니다. 조각 길이에 대한 자세한 내용은 [스트리밍 출력을 위한 조각 길이 설정](setting-the-fragment-length.md)을(를) 참조하세요.

다음 표는 출력 그룹과 미디어 플레이어의 관계를 요약한 것입니다.


| 미디어 플레이어 | 다음 출력 그룹 사용 | 
| --- | --- | 
| 2013년 경 이전 Apple 디바이스 | Apple HLS | 
| Apple 디바이스(신형) | CMAF | 
| Android 디바이스, 대부분의 스마트 TV | CMAF 또는 DASH ISO | 
| Microsoft 디바이스 | Microsoft Smooth Streaming | 

**참고**  
MediaConvert은(는) 트랜스코딩된 출력 시간의 분당(작업당이 아님) 요금을 청구합니다. 따라서 작업에 출력 그룹을 추가하면 요금이 더 비싸집니다.  
예를 들어 Apple HLS 패키지와 DASH ISO 패키지가 있는 작업에 드는 비용은 하나만 있는 작업의 두 배가 듭니다. 이는 트랜스코딩 설정이 동일하다고 가정합니다.

**필요한 출력 그룹을 결정하려면**

1. 최종 사용자가 트랜스코딩된 미디어 애셋을 재생할 수 있게 하고 싶은 디바이스를 결정합니다. 가능한 한 모든 디바이스에서 애셋이 재생되게 하고 싶다면 다음 출력 그룹을 포함하세요.
   + Apple HLS
   + DASH ISO 또는 CMAF
   + Microsoft Smooth Streaming

1. 고급 인코딩 기능을 사용할지 여부에 대해 생각합니다. 다음 항목 중 어느 하나를 Apple 디바이스에 제공하려면 CMAF 출력 그룹도 포함해야 합니다.
   + HDR(높은 동적 범위) 비디오
   + H.265(HEVC) 인코딩된 비디오

   CMAF 출력을 포함하는 경우에는 모든 범용 DASH 호환 가능 플레이어가 CMAF와도 호환되므로 DASH ISO 출력을 생성할 필요가 없습니다.
**참고**  
비디오 분할 확장 유형 .mp4가 명시적으로 필요한 흔하지 않은 몇 가지 DASH 플레이어가 있습니다. DASH는 CMAF 비디오 세그먼트를 .cmfv 형식으로 출력합니다. MediaConvert는 CMAF 비디오 세그먼트를 .cmfv 형식으로 출력합니다. 이러한 플레이어와 호환되는 출력을 생성하려면 작업에 DASH ISO 출력 그룹을 포함합니다.

1. 비용 균형을 고려합니다.

   대략 2013년 이전에 생산된 플레이어를 지원할 필요가 없다면, 그리고 .mp4 비디오 세그먼트가 필요한 흔하지 않은 DASH 플레이어를 지원할 필요가 없다면 DASH ISO 및 Apple HLS(을)를 모두 포함하는 대신에 CMAF 출력 그룹 하나만 포함할 수 있습니다. 별도의 DASH ISO 및 Apple HLS 패키지 대신 단일 CMAF 패키지를 생성하면 비디오 저장 및 배포 비용을 절감할 수도 있습니다. 비디오 및 오디오 파일은 한 세트만 저장하고 배포해야 하기 때문입니다.

# 스트리밍 출력을 위한 조각 길이 설정
<a name="setting-the-fragment-length"></a>

HLS 이외의 모든 ABR 스트리밍(CMAF, DASH 및 Microsoft Smooth Streaming)에서 **Fragment length(조각 길이)**(`FragmentLength`)에 지정하는 값은 다른 모든 출력 설정과 일관되어야 합니다. **Fragment length(조각 길이)**를 잘못 설정할 경우 최종 사용자가 출력 비디오를 시청할 때 플레이어가 작동을 멈출 수 있습니다. 이 현상은 플레이어가 비디오 끝부분에서 추가 세그먼트를 예상하고 존재하지 않는 세그먼트를 요청하기 때문에 발생할 수 있습니다.

**조각 길이**는 **닫힌 GOP 케이던스**(`GopClosedCadence`), **GOP 크기**(`GopSize`) 및 **프레임 속도**(`FramerateNumerator`, `FramerateDenominator`) 값에 의해 제약을 받습니다. 콘솔 및 JSON 작업 사양에서 이들 설정을 찾는 자세한 내용은 [조각 길이와 관련된 설정 찾기](#finding-the-settings-related-to-fragment-length)을(를) 참조하세요.

**참고**  
출력 **프레임 속도**를 **소스 준수**로 설정할 경우 입력 비디오 파일의 프레임 속도가 출력 **조각 길이**에 지정된 값과 일관되는지 확인해야 합니다. 입력 비디오 파일의 프레임 속도는 출력 프레임 속도로 작동합니다.

**Topics**
+ [조각 길이 규칙](#rule-for-fragment-length)
+ [조각 길이 예제](#fragment-length-examples)
+ [조각 길이와 관련된 설정 찾기](#finding-the-settings-related-to-fragment-length)

## 조각 길이 규칙
<a name="rule-for-fragment-length"></a>

조각 길이는 정수여야 하며 다음 값의 배수여야 합니다. **GOP 사이즈** x **닫힌 GOP 케이던스** ÷ **프레임 속도**

## 조각 길이 예제
<a name="fragment-length-examples"></a>

**예제: 올바른 설정**  
닫힌 GOP 케이던스 = 1

프레임 속도 = 30

GOP 크기 = 60프레임

조각 길이 = 2

**예: 잘못된 설정**  
닫힌 GOP 케이던스 = 1

프레임 속도 = 50

GOP 크기 = 90프레임

조각 길이 = 2

## 조각 길이와 관련된 설정 찾기
<a name="finding-the-settings-related-to-fragment-length"></a>

**조각 길이**를 설정할 때 **닫힌 GOP 케이던스**, **GOP 크기** 및 **프레임 속도** 값을 확인합니다.

### 조각 길이
<a name="fragment-length"></a>

콘솔 또는 JSON 작업 사양을 사용하여 조각 길이를 설정할 수 있습니다. **Fragment length(조각 길이)** 설정은 출력 그룹에 적용되고 그룹의 모든 출력에 영향을 미칩니다.

****Fragment length(조각 길이)** 설정을 찾으려면(콘솔)**

1. **작업 생성** 페이지의 왼쪽에 있는 **작업** 창의 **출력 그룹**에서 CMAF, DASH ISO 또는 Microsoft Smooth Streaming 출력 그룹의 이름을 선택합니다.

1. 오른쪽의 그룹 설정 섹션에서 **Fragment length(조각 길이)**를 찾습니다.

   그룹 설정 섹션의 제목은 **CMAF group settings(CMAF 그룹 설정)**, **DASH ISO group settings(DASH ISO 그룹 설정)** 또는 **MS Smooth group settings(MS Smooth 그룹 설정)**입니다.

****Fragment length(조각 길이)** 설정을 찾으려면(JSON 작업 사양)**
+ 다음 예제와 같이 `OutputGroupSettings`의 하위에 있는 `FragmentLength`를 찾습니다.

  ```
  {
    "Settings": {
      ...
      "Inputs": [
        ...
      ],
      "OutputGroups": [
        {
          "Name": "DASH ISO",
          "OutputGroupSettings": {
            "Type": "DASH_ISO_GROUP_SETTINGS",
            "DashIsoGroupSettings": {
              "SegmentLength": 30,
              "FragmentLength": 2,
              "SegmentControl": "SINGLE_FILE",
              "HbbtvCompliance": "NONE"
            }
          },
  		...
  ```

### 닫힌 GOP 케이던스, GOP 크기 및 프레임 속도
<a name="closed-gop-cadence-gop-size-and-framerate"></a>

콘솔 또는 JSON 작업 사양을 사용하여 **닫힌 GOP 케이던스**, **GOP 크기** 및 **프레임 속도**를 설정할 수 있습니다. 이들 설정은 각 출력에 개별적으로 적용됩니다. 이들을 설정할 때 출력 그룹의 각 출력에 설정한 값이 출력 그룹의 **조각 길이**에 지정한 값과 일관되어야 합니다.

**참고**  
ABR 스택은 출력이 여러 개입니다. 각 출력에서 이들 값을 설정해야 합니다.

**출력의 인코딩 설정을 찾으려면(콘솔)**

1. **작업 생성** 페이지의 왼쪽에 있는 **작업** 창의 **출력 그룹**에서 **출력 1**, **출력 2** 등 출력 이름을 선택합니다.

1. **Encoding settings(인코딩 설정)** 섹션에서 **Video(비디오)** 탭이 자동으로 선택됩니다. 이 탭에서 **닫힌 GOP 케이던스**, **GOP 크기** 및 **프레임 속도**를 찾습니다.

**출력의 인코딩 설정을 찾으려면(JSON 작업 사양)**
+ 

다음 예제와 같이 코덱 설정의 하위로서 `GopClosedCadence`, `GopSize`, `FramerateNumerator` 및 `FramerateDenominator`을(를) 찾습니다. 이 예제에서는 코덱이 `H_264`(이)므로 코덱 설정의 상위는 `H264Settings`입니다.

  ```
  {
    "Settings": {
      ...
      "Inputs": [
        ...
      ],
      "OutputGroups": [
        {
          "Name": "DASH ISO",
          ...
          },
          "Outputs": [
            {
              "VideoDescription": {
                ...
                "CodecSettings": {
                  "Codec": "H_264",
                  "H264Settings": {
                    "InterlaceMode": "PROGRESSIVE",
                    "NumberReferenceFrames": 3,
                    "Syntax": "DEFAULT",
                    "Softness": 0,
                    "GopClosedCadence": 1,
                    "GopSize": 60,
  				  ...
                    "FramerateNumerator": 60,
                    "FramerateDenominator": 1
                  }
                },
                ...
              },
  ```

# HLS 플레이어 버전 지원
<a name="hls-player-version-support"></a>

AWS Elemental MediaConvert 는 활성화한 기능에 따라 플레이어 버전 메타데이터를 자동으로 설정합니다. MediaConvert를 사용하여 생성하는 대부분의 HLS 자산은 HLS 플레이어 버전 2 이상과 호환됩니다.

이 목록은 업데이트된 플레이어 지원이 필요할 수 있는 기능을 보여 줍니다.

**Add I-frame only manifest(I-프레임 전용 매니페스트 추가)**: HLS 출력 그룹 > 출력 > 고급 > I-프레임 전용 매니페스트 추가  
**Include(포함)**을 선택하면 최종 사용자는 HLS 플레이어 버전 4 이상을 사용하여 애셋을 재생할 수 있습니다.  
**Exclude(제외)**를 선택하면 최종 사용자는 HLS 플레이어 버전 2 이상을 사용하여 애셋을 재생할 수 있습니다.

**오디오 트랙 유형**: HLS 출력 그룹 > 출력 > 출력 설정 > 고급 > 오디오 트랙 유형  
오디오 변형 중 하나에 대해 **대체 오디오** 옵션 중 하나를 선택하면 최종 사용자는 HLS 플레이어 버전 4 이상을 사용하여 애셋을 재생할 수 있습니다.  
**오디오 전용 변형 스트림**을 **오디오 트랙 유형**으로 선택하거나 전체 오디오 변형에 대해 **오디오 트랙 유형** 선택하지 않으면, 시청자는 HLS 플레이어 버전 2 이상에서 애셋을 재생할 수 있습니다.

**DRM 암호화 방법**: HLS 출력 그룹 > DRM 암호화 > 암호화 방법  
**DRM 암호화**, **암호화 방법**로 **SAMPLE-AES**를 선택하면, 최종 사용자는 HLS 플레이어 버전 2 이상을 사용하여 애셋을 재생할 수 있습니다.  
**DRM encryption(DRM 암호화)**, **Encryption method(암호화 방법)**로 다른 값을 선택하면, 최종 사용자는 HLS 플레이어 버전 2 이상을 사용하여 애셋을 재생할 수 있습니다.

**설명 포함 비디오 서비스 플래그**: HLS 출력 그룹 > 출력(오디오 전용이어야 함) > 출력 설정 > 설명 포함 비디오 서비스 플래그  
CMAF 출력 그룹에서도 사용 가능: CMAF 출력 그룹 > 출력 > CMAF 컨테이너 설정 > 고급 > 설명 포함 비디오 서비스 플래그  
이 설정을 찾으려면 HLS 또는 CMAF 출력에 오디오 설정만 있어야 합니다. HLS 출력에서 기본 **비디오** 탭을 삭제해야 합니다.  
**플래그**를 **설명 포함 비디오 서비스**로 선택하면, 시청자는 HLS 플레이어 버전 5 이상에서 애셋을 재생할 수 있습니다.  
Apple HLS인지된 출력을 생성하려면: **설명 포함 비디오 서비스 플래그**를 **플래그**로 설정하는 경우 **오디오 트랙 유형**도 **대체 오디오, 자동 선택, 기본** 또는 **대체 오디오, 자동 선택, 비 기본**으로 설정해야 합니다.

**Manifest duration format(매니페스트 기간 형식)**: HLS 출력 그룹 > Apple HLS 그룹 설정 > 고급 > 매니페스트 기간 형식   
매니페스트 기간 형식을 **Integer(정수)**로 설정하면 최종 사용자는 HLS 플레이어 버전 2 이상을 사용하여 애셋을 재생할 수 있습니다.  
매니페스트 기간 형식을 **Floating point(부동 소수점)**으로 설정하면 최종 사용자는 HLS 플레이어 버전 3 이상을 사용하여 애셋을 재생할 수 있습니다.

**Segment control(세그먼트 제어)**: HLS 출력 그룹 > Apple HLS 그룹 설정 > 세그먼트 제어  
세그먼트 제어를 **Single file(단일 파일)**로 설정하면 최종 사용자는 HLS 플레이어 버전 4 이상을 사용하여 애셋을 재생할 수 있습니다.  
세그먼트 제어를 **Segmented files(세그먼트화된 파일)**로 설정하면 최종 사용자는 HLS 플레이어 버전 2 이상을 사용하여 애셋을 재생할 수 있습니다.