

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

# 작업 사용
<a name="working-with-jobs"></a>

작업은 하나 이상의 미디어 파일을 트랜스코딩하는 작업을 수행합니다. 작업 생성 외에도 작업을 복제, 내보내기, 가져오기, 취소할 수 있습니다. 작업 기록을 보고 작업을 검색할 수도 있습니다.

이 장에서는 MediaConvert 작업을 수행하는 방법에 대한 단계별 지침을 제공합니다. 또한 작업 내 주요 개념 소개, 기본 예제 작업 설정, 일반적인 작업 구성에 적용되는 중요한 입력 및 출력 설정에 대한 세부 정보도 제공합니다.

**Topics**
+ [작업 생성](creating-a-job.md)
+ [작업 복제](create-new-job-from-completed-job.md)
+ [작업 내보내기 및 가져오기](exporting-and-importing-jobs.md)
+ [작업 기록 보기](viewing-job-history.md)
+ [작업 취소](canceling-a-job.md)
+ [자습서: 작업 설정 구성](setting-up-a-job.md)
+ [작업 설정 JSON 예제](example-job-settings.md)
+ [입력 설정](specifying-inputs.md)
+ [출력 설정](output-settings.md)

# 작업 생성
<a name="creating-a-job"></a>

작업을 생성하려면 입력 설정, 출력 설정 및 모든 작업 전체 설정을 지정합니다. 자세한 단계별 절차는 [자습서: 작업 설정 구성](setting-up-a-job.md)(을)를 참조하세요. 다음 절차는 AWS Management Console(을)를 사용하여 작업을 생성하는 방법에 대한 높은 수준의 개요입니다.

작업 생성 작업을 생성함과 동시에 생성한 작업을 처리할 대기열에 제출합니다. 리소스가 허용하면 대기열에서 자동으로 처리가 시작됩니다. 리소스 할당에 대한 자세한 내용은 [여러 작업을 병렬로 처리](working-with-on-demand-queues.md#queue-resources)을(를) 참조하세요.

**MediaConvert 콘솔을 사용하여 작업을 생성하려면**

1. MediaConvert 콘솔에서 [작업](https://console.aws.amazon.com/mediaconvert/home#/jobs/list) 페이지를 엽니다.

1. **작업 생성**을 선택합니다.

1. **작업 생성** 페이지에서 트랜스코드 지침과 작업 설정을 제공합니다. 자세한 내용은 [자습서: 작업 설정 구성](setting-up-a-job.md) 단원을 참조하십시오.

   작업과 파일 스토리지 AWS 리전 에 대해 동일한를 선택해야 합니다.

1. **생성(Create)**을 선택합니다.

[템플릿](using-a-job-template.md), [프리셋](using-a-preset-to-specify-a-job-output.md), [중복된 작업](create-new-job-from-completed-job.md) 또는 [작업 설정 JSON](exporting-and-importing-jobs.md)을 사용하여 작업을 생성할 수도 있습니다.

# 작업 복제
<a name="create-new-job-from-completed-job"></a>

앞서 실행한 작업과 유사한 작업을 생성하려면 작업 기록에서 완료된 작업을 복제한 다음, 변경이 필요한 설정을 모두 수정하면 됩니다. 설정을 변경하려면 해당 설정을 수정할 수도 있습니다.

**MediaConvert 콘솔을 사용하여 최근 작업을 기반으로 작업 생성하기**

1. MediaConvert 콘솔에서 [작업](https://console.aws.amazon.com/mediaconvert/home#/jobs/list) 페이지를 엽니다.

1. 복제하려는 작업의 **작업 ID**를 선택합니다.

1. **Duplicate(복제)**를 선택합니다.

1. 선택사항으로 작업 설정을 수정할 수 있습니다.

   작업에 따라 변경될 가능성이 높은 설정은 입력 파일 위치, 출력 대상 위치, 출력 이름 수정자입니다. AWS 계정 계정과 다른 고객을 위해 트랜스코딩 작업을 실행하는 경우 **작업 설정**에서 **IAM 역할**도 변경해야 합니다.

1. 페이지 하단에서 **생성**을 선택합니다.

# 작업 내보내기 및 가져오기
<a name="exporting-and-importing-jobs"></a>

완료된 MediaConvert 작업은 3개월 동안 **작업** 페이지에 유지됩니다. 실행 후 3개월이 지난 후 완료된 작업을 기반으로 새 작업을 실행하려면 작업이 완료된 후 내보내고 저장합니다. 실행 중인 작업 수에 따라 작업 내보내기 및 가져오기가 목록에서 특정 작업을 찾아 복제하는 것보다 더 간단할 수 있습니다.

**MediaConvert 콘솔을 사용하여 작업 내보내기**

1. MediaConvert 콘솔에서 [작업](https://console.aws.amazon.com/mediaconvert/home#/jobs/list) 페이지를 엽니다.

1. 내보내려는 작업의 **작업 ID**를 선택합니다.

1. **작업 요약** 페이지에서 **JSON 내보내기** 버튼을 선택합니다.

1. 메시지를 클립보드로 복사하려면 **복사**를 선택합니다.

1. JSON 편집기에 붙여넣고 저장합니다.

**MediaConvert 콘솔을 사용하여 작업을 가져오기**

1. MediaConvert 콘솔에서 [작업](https://console.aws.amazon.com/mediaconvert/home#/jobs/list) 페이지를 엽니다.

1. **작업 가져오기**을 선택합니다.

# 작업 기록 보기
<a name="viewing-job-history"></a>

지정된에서 로 생성한 MediaConvert 작업의 최근 기록을 볼 수 AWS 계정 있습니다 AWS 리전. 서비스는 작업 기록이 3개월을 경과하면 자동으로 삭제합니다.

**작업** 페이지에는 완료된 작업뿐 아니라 오류로 인해 종료된 작업, 취소되거나 현재 처리 중인 작업, 대기열에 대기 중인 작업도 표시됩니다. 상태뿐 아니라 해당 작업이 전송된 대기열을 기준으로 작업 기록을 필터링할 수 있습니다. 또한 목록에서 특정 작업을 선택하여 해당 작업의 설정을 볼 수도 있습니다.

------
#### [ Console  ]

MediaConvert 콘솔을 사용하여 작업 보기

1. MediaConvert 콘솔에서 [작업](https://console.aws.amazon.com/mediaconvert/home#/jobs/list) 페이지를 엽니다.

1. 선택 사항으로 드롭다운 목록에서 상태 및 대기열을 선택하여 목록을 필터링할 수 있습니다.

1. 작업의 세부 정보를 보려면 **Job ID**를 선택하여 해당 **작업 요약**를 확인하세요.

------
#### [ CLI  ]

다음 `list-jobs` 예제에는 가장 최근에 생성된 작업이 최대 20개까지 나열됩니다.

```
aws mediaconvert list-jobs
```

 AWS CLI를 사용하여 작업을 취소하는 방법에 대한 자세한 내용은 [AWS CLI 명령 참조](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/mediaconvert/list-jobs.html)를 참조하세요.

------

# 작업 취소
<a name="canceling-a-job"></a>

다음 절차에서는 AWS Elemental MediaConvert 콘솔을 사용하여 작업을 취소하는 방법을 설명합니다.

------
#### [ Console  ]

MediaConvert 콘솔을 사용하여 작업을 취소하려면

1. MediaConvert 콘솔에서 [작업](https://console.aws.amazon.com/mediaconvert/home#/jobs/list) 페이지를 엽니다.

1. 취소하려는 작업 옆에 있는 옵션(![\[Empty circle outline representing a placeholder or selection option.\]](http://docs.aws.amazon.com/ko_kr/mediaconvert/latest/ug/images/circle-icon.png))(을)를 선택하고 **작업 ID**를 선택합니다.

1. **작업 취소**을 선택합니다.

------
#### [ CLI  ]

다음 `cancel-job` 예제에서는 작업을 취소합니다.

```
aws mediaconvert cancel-job \
	--id 1234567890123-efg456
```

 AWS CLI를 사용하여 작업을 취소하는 방법에 대한 자세한 내용은 [AWS CLI 명령 참조](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/mediaconvert/cancel-job.html)를 참조하세요.

------

# 자습서: 작업 설정 구성
<a name="setting-up-a-job"></a>

이 페이지에서는 MediaConvert에서 작업을 구성하는 방법에 대한 단계별 지침을 제공합니다.

작업을 설정하려면 서비스가 트랜스코딩할 입력 파일을 정의하고, 각 비디오, 오디오 및 캡션 미디어 조각에 대해 소스를 지정합니다. 이 소스는 기본 입력 파일의 특정 부분이거나 별도 파일일 수 있습니다. 그런 다음 입력에서 생성 AWS Elemental MediaConvert 하려는 출력 파일 및 패키지 유형을 지정합니다. 또한 원하는 품질 및 형식의 출력을 얻기 위해 세부 인코딩 설정을 지정합니다.

이 튜토리얼에서는 미디어 파일을 다양한 형식으로 트랜스코딩할 수 있게 MediaConvert에서 작업을 구성하는 방법을 알아보겠습니다.

**Topics**
+ [선택 단계: 대기열 일시 중지](#optional-pause-the-queue)
+ [1단계: 입력 파일 지정](#specify-input-settings)
+ [2단계: 입력 선택기 생성](#create-selectors)
+ [3단계: 출력 그룹 생성](#specify-output-groups)
+ [4단계: 출력 생성](#create-outputs)
+ [5단계: 글로벌 작업 설정 지정](#specify-global-job-settings)

## 선택 단계: 대기열 일시 중지
<a name="optional-pause-the-queue"></a>

신규 고객이거나 MediaConvert 콘솔을 실험 중인 경우 대기열을 일시 중지하여 준비 전 실수로 작업을 시작하는 것을 방지할 수 있습니다. 대기열에 대한 자세한 내용은 [Queues](working-with-queues.md)을(를) 참조하세요.

를 사용하여 온디맨드 대기열을 일시 중지하거나 다시 활성화하려면 AWS Management Console

1. MediaConvert 콘솔에서 [대기열](https://console.aws.amazon.com/mediaconvert/home/#/queues/list) 페이지를 엽니다.

1. **대기열** 페이지에서 일시 중지하거나 다시 활성화하려는 대기열 이름을 선택하세요.

1. 대기열 페이지에서 **Edit queue(대기열 편집)** 버튼을 선택합니다.

1. **대기열 편집** 페이지에서 **상태**의 경우 **일시 중지됨** 또는 **활성화**를 선택하세요.

1. **대기열 저장**을 선택합니다.

## 1단계: 입력 파일 지정
<a name="specify-input-settings"></a>

MediaConvert 작업 설정의 첫 번째 부분은 입력 파일 또는 파일의 위치를 지정하는 것입니다.

**입력 위치를 지정하려면**

1. [https://console.aws.amazon.com/mediaconvert](https://console.aws.amazon.com/mediaconvert)에서 MediaConvert 콘솔을 엽니다.

1. **작업 생성 페이지**의 왼쪽 **작업** 창에서 **입력 1**을 선택합니다.

1. **입력 1** 창에서, Amazon S3 또는 HTTP(S) 서버에 저장된 비디오 입력 파일의 URI를 제공합니다. Amazon S3 입력의 경우 URI를 직접 지정하거나 **찾아보기**를 선택하여 Amazon S3 버킷 중에서 선택할 수 있습니다. HTTP(S) 입력의 경우, 입력 비디오 파일의 URL을 제공합니다. 자세한 내용은 [HTTP 입력 요구 사항](http-input-requirements.md)을(를) 참조하세요.
**참고**  
입력 오디오 또는 캡션이 별도 파일에 있다면 이에 대해서는 별도 입력을 생성하지 마세요. 이 절차의 후반부에서 이 파일을 오디오 및 캡션 선택기 내에 지정합니다.

1. 두 개 이상의 입력 파일을 단일 애셋으로 조인하려면(입력 스티칭) 다른 입력을 작업에 추가해야 하는데, 이를 수행하려면 **Job(작업)** 창의 **Inputs(입력)** 섹션에서 **Add(추가)**를 선택합니다.

   입력 파일이 여러 개인 작업의 경우는, MediaConvert가 이 작업에 입력을 지정한 순서대로 입력을 연결하여 출력을 생성합니다. 작업에 최대 150개까지 입력을 추가할 수 있습니다.
**작은 정보**  
또한 입력의 일부만 트랜스코딩할 수 있습니다. 자세한 내용은 [입력 설정](specifying-inputs.md)을(를) 참조하세요.

## 2단계: 비디오, 오디오 및 캡션에 대해 입력 선택기 생성
<a name="create-selectors"></a>

그다음에는 입력 선택기를 생성하여 출력에 사용할 입력의 비디오, 오디오 및 캡션 요소에 플래그를 지정합니다. 이로써 각 입력 요소에 레이블이 지정되어 출력을 설정할 때 이를 가리킬 수 있습니다. 입력 선택기를 설정할 때 데이터를 찾을 위치와 이 데이터를 해석하는 방법에 관한 정보도 서비스에 제공합니다.

**입력 선택기를 설정하려면**

1. **Video selector(비디오 선택기)** 섹션에서 작업에 해당되는 필드에 값을 지정합니다.

   작업 설정을 시작하면 MediaConvert가 비디오 선택기를 자동으로 생성하므로 비디오 선택기를 생성할 필요가 없습니다. 하지만 서비스에서 비디오 소스에 관한 정보를 자동으로 감지하지는 않습니다. **Video selector(비디오 선택기)** 필드에서 이 정보를 입력할 수 있습니다. 이러한 설정을 기본 상태로 그대로 두면 올바른 작업을 생성하게 됩니다. 개별 설정에 대한 자세한 내용을 보려면 각 설정 옆에 있는 **정보** 링크를 선택하세요.
**참고**  
 MediaConvert는 Quad 4k와(과) 같이 여러 비디오 스트림이 있는 입력을 지원하지 않습니다. 개별 입력은 하나의 비디오 선택기만 가질 수 있습니다. 따라서 콘솔에는 **비디오 선택기 추가** 버튼이 없습니다.

1. **Audio selectors(오디오 선택기)** 섹션의 **Audio selector 1(오디오 선택기 1)**에서 기본 오디오 애셋에 관한 정보를 지정합니다. 작업 설정을 시작하면 서비스에서 첫 번째 오디오 선택기를 자동으로 생성하므로 오디오 선택기 1을 생성할 필요가 없습니다.
**참고**  
*audio asset(오디오 애셋)*은 한 트랙에 대화, 배경음, 음악이 함께 있는 경우가 많습니다. 트랙은 여러 개의 채널로 구성된 경우가 많습니다. 예를 들어 Dolby 5.1 사운드는 트랙당 여섯 채널이 있습니다.

   1. **Selector type(선택기 유형)**에서 오디오 애셋이 식별되는 방식을 선택합니다. 트랙을 통해 식별되는 경우가 많습니다. HLS 입력을 사용하고 다른 오디오 변환을 선택하려면 [대체 HLS 오디오 변환 요구 사항](using-alternate-audio-renditions.md)(을)를 참조하세요.

   1. 기본 오디오 애셋에 식별자(트랙 번호, PID, 언어 코드 등)를 지정합니다. 기본 오디오 애셋은 트랙 1일 가능성이 높습니다.
**참고**  
대부분의 사용 사례에서 입력 선택기 한 개당 입력 트랙을 한 개 연결합니다. 사용 사례에서 여러 트랙을 한 트랙으로 결합하거나 여러 트랙을 스트리밍 패키지 변환 하나로 결합해야 하는 경우에는 쉼표로 구분된 목록을 입력하여 입력 트랙 여러 개를 오디오 선택기 하나로 결합합니다. 트랙 결합에 대한 자세한 내용은 [오디오 트랙 및 오디오 선택기 설정](more-about-audio-tracks-selectors.md)을(를) 참조하세요.

   1. 오디오가 비디오와 분리된 별도 파일에 있다면 **외부 파일** 슬라이더 스위치 요소를 선택하고 Amazon S3 또는 HTTP(S) 서버에 저장된 오디오 입력 파일에 URI를 지정합니다. Amazon S3 입력의 경우 URI를 직접 지정하거나 **찾아보기**를 선택하여 Amazon S3 버킷 중에서 선택할 수 있습니다. HTTP(S) 입력의 경우, 입력 비디오 파일의 URL을 제공합니다. 자세한 내용은 [HTTP 입력 요구 사항](http-input-requirements.md)을(를) 참조하세요.

1. 다국어 트랙과 같은 추가 오디오 애셋이 있는 경우 **오디오 선택기 추가**를 선택합니다. 그다음에 이 절차의 이전 단계에서 설명하는 다음 애셋에 대한 정보를 제공합니다.

1. **캡션 선택기** 섹션에서 **캡션 선택기 추가**를 선택합니다. 이렇게 하면 출력에 사용하려는 모든 캡션 세트에 대한 입력 캡션 선택기가 생성됩니다. 작업에 대해 캡션을 설정하는 방법에 대한 자세한 내용은 [입력 캡션 설정](including-captions.md)을(를) 참조하세요.

## 3단계: 출력 그룹 생성
<a name="specify-output-groups"></a>

입력을 지정한 후에는 출력 그룹을 생성합니다. 출력 그룹 설정 시 선택한 사항에 따라 작업에서 산출하는 애셋의 유형과 이러한 애셋을 재생할 수 있는 디바이스가 달라집니다.

MediaConvert로 크게 두 가지 범주로 분류되는 미디어 애셋을 생성할 수 있습니다.
+ **ABR streaming packages(ABR 스트리밍 패키지)**. 가변 비트레이트(ABR) 패키지를 생성하면 최종 사용자가 애셋을 보는 동안 한 번에 조금씩 애셋을 다운로드하게 할 수 있습니다. 사용자가 출력을 설정한 방식에 따라 최종 사용자의 디바이스는 고품질 또는 저품질 세그먼트를 다운로드하는 방식으로 사용 가능 대역폭의 변경 사항에 적응할 수 있습니다. ABR 패키지는 비디오, 오디오 및 캡션 구성 요소의 스택으로 이루어져 있어 ABR *스택*이라고도 합니다. 스택 또는 패키지의 각 구성 요소는 *rendition(변환)*이라고 합니다.
+ **Standalone files(독립 실행형 파일)**. 이 파일을 생성하여 최종 사용자가 전체 파일을 한 번에 모두 다운로드한 후 볼 수 있는 위치에서 이 파일을 호스팅할 수 있습니다. 또한 독립 실행형 파일을 생성한 후 이 파일을 다운스트림 시스템으로 전송하여 패키징 및 배포할 수도 있습니다.

**출력 그룹을 생성하려면**

1. **Job(작업)** 창의 **Output groups(출력 그룹)** 섹션에서 **Add(추가)**를 선택합니다.

1. 출력 그룹 유형을 선택한 다음 **Select(선택)**을 선택합니다.

   생성하고자 하는 모든 독립 실행형 파일에 대해 파일 출력 그룹을 하나 생성합니다. 생성하고자 하는 각 ABR 스트리밍 패키지에 대해 ABR 스트리밍 출력 그룹을 하나 생성합니다. 어느 ABR 스트리밍 출력 그룹을 작업에 포함할 것인가에 관한 지침은 [ABR 스트리밍 출력 그룹 선택](choosing-your-streaming-output-groups.md)을(를) 참조하세요.

1. 선택 사항으로 **Custom group name(사용자 지정 그룹 이름)**에 그룹 이름을 입력할 수 있습니다. 여기에 입력하는 모든 이름은 콘솔의 **Output groups(출력 그룹)** 섹션에 표시되지만 출력에 영향을 미치지는 않습니다.

1. **대상**으로 트랜스코딩 서비스가 출력 파일을 저장할 Amazon S3 위치의 URI를 지정합니다. URI를 직접 지정할 수도 있고, 아니면 **찾아보기**를 선택하여 Amazon S3 버킷 중에서 선택할 수도 있습니다.
**참고**  
선택적으로 기본 이름을 대상 URI에 추가할 수 있습니다. 최종 애셋의 파일 이름을 생성하기 위해 트랜스코딩 서비스는 개별 출력 설정에서 사용자가 입력한 모든 이름 수정자와 함께 이 기본 이름을 사용합니다.  
URI에 기본 이름을 제공하지 않으면 트랜스코딩 서비스는 확장명을 제외한 입력 1 파일 이름에서 기본 이름을 생성합니다.

1. 전체 출력 그룹에 적용되는 모든 추가 설정에 값을 지정합니다. 이 설정은 사용자가 선택하는 출력 그룹의 유형에 따라 달라집니다. 개별 설정에 대한 자세한 내용을 보려면 각 설정 옆에 있는 **Info(정보)** 링크를 선택하세요.

## 4단계: 출력 생성
<a name="create-outputs"></a>

출력 그룹을 생성한 후에는 각 그룹 내에서 출력을 설정합니다. 각 출력 그룹에 출력이 몇 개 할당되는지는 다음과 같이 출력 그룹 유형에 따라 달라집니다.
+ **File(파일)** 출력 그룹의 경우에는 출력 하나에 미디어 애셋의 모든 요소를 포함하세요. 이러한 요소에는 사용자가 별도 파일에 입력하는 모든 오디오 또는 캡션이 포함됩니다.
+ ABR 스트리밍 출력 그룹의 경우(예: **CMAF**, **Apple HLS**, **DASH ISO**, **Microsoft Smooth Streaming**)에는 각 미디어 요소에 대해 별도의 출력을 생성합니다. 즉, 비디오 해상도당 하나의 출력, 오디오 트랙당 하나의 출력, 캡션 언어당 하나의 출력을 사용합니다.

다음 목록에서 [3단계: 출력 그룹 생성](#specify-output-groups)에서 생성한 출력 그룹 유형에 해당하는 절차를 선택합니다.

### ABR 스트리밍 출력 그룹에 출력 생성
<a name="create-outputs-in-abr-streaming-output-groups"></a>

[3단계: 출력 그룹 생성](#specify-output-groups)에서 설정한 각 ABR 스트리밍 출력 그룹의 경우에는 다음 도해와 같이 ABR 스트리밍 패키지에서 원하는 각 미디어 요소에 대해 출력을 생성하고 설정합니다.

#### 비디오 ABR 스트리밍 출력 생성
<a name="video-abr-streaming-outputs"></a>

사용자가 출력 그룹에 포함하는 각 비디오 출력에 대해 MediaConvert는 비디오 변환 하나 또는 세그먼트화된 비디오 파일 세트를 생성합니다. 스트리밍 패키지에 있는 다양한 해상도 및 비디오 품질을 지닌 여러 개의 비디오 변환을 통해 최종 사용자의 디바이스는 사용 가능 대역폭에 맞게 비디오의 품질을 조정할 수 있습니다.

**참고**  
해당 작업에 비디오 *input(입력)* 선택기가 하나밖에 없지만 ABR 스트리밍 출력 그룹에는 출력 그룹 한 개당 비디오 *outputs(출력)*이 몇 개 있는 경우가 많습니다.

**비디오 ABR 스트리밍 출력을 생성 및 설정하려면**

1. **작업 생성** **페이지의 왼쪽에 있는 **작업** 창 **출력 그룹** 아래에서 추가하고자 하는 **CMAF**, **Apple HLS**, **DASH ISO**, **Microsoft Smooth Streaming** 출력 그룹 아래에 있는 출력 1**을 선택합니다.

   출력 그룹을 생성하면 MediaConvert는 출력 그룹을 자동으로 출력 1로 채웁니다. 첫 번째 출력은 명시적으로 생성할 필요가 없습니다.

1. **Output settings(출력 설정)** 창에서 **Name modifier(이름 수정자) **의 값을 입력합니다.

   MediaConvert는 이 출력에 대해 자신이 생성하는 파일에 할당할 파일 이름에 이름 수정자를 추가합니다. `-video-hi-res`와(과) 같이 어떤 출력에서 어떤 파일이 왔는지 식별하기 쉽게 해주는 이름 수정자를 입력합니다.

1. **Preset(사전 설정)** 아래에 나열된 미리 정의된 설정 그룹 중 하나가 워크플로에 적합한 경우 목록에서 해당 설정 그룹을 선택합니다. 사전 설정을 사용하는 경우 이 절차의 다음 단계를 건너뛰세요.

1. 비디오 설정을 다음과 같이 지정합니다.

   1. **Output settings(출력 설정)** 섹션에서 나머지 일반 설정의 값을 모두 지정합니다. 출력 그룹 유형에 따라 이 설정에 전송 스트림 설정 또는 기타 컨테이너 설정이 포함될 수 있습니다. 개별 설정에 대한 자세한 내용을 보려면 각 설정 옆에 있는 **Info(정보)** 링크를 선택하세요.

   1. **Stream settings(스트림 설정)** 섹션에서 비디오 인코딩의 값을 지정합니다. 이 비디오 설정이 기본 선택되므로 이 설정 그룹을 명시적으로 선택할 필요가 없습니다.

      작업 한 개당 입력 비디오 선택기는 하나만 있으므로 비디오 출력을 설정할 때 선택기를 명시적으로 선택할 필요가 없습니다.

   개별 설정에 대한 자세한 내용은 콘솔에서 **정보** 링크를 참조하세요.

1. 기본적으로 출력에 오디오 설정 그룹이 포함된다면 다음 방법으로 이 그룹을 삭제합니다.

   1. **Stream settings(스트림 설정)** 섹션에서 **Audio 1(오디오 1)**을 선택합니다.

   1. **Remove audio(오디오 제거)**를 선택합니다.

1. ABR 스트리밍 패키지에 비디오 변환이 여러 개 있기를 원한다면 이 절차의 이전 단계를 반복하여 각각에 대해 추가 비디오 출력을 생성하세요. 이렇게 하면 각 출력에 대해 추가 비디오 출력이 생성됩니다.

#### 오디오 ABR 스트리밍 출력 생성
<a name="audio-abr-streaming-outputs"></a>

사용자가 출력 그룹에 포함하는 각 오디오 출력에 대해 MediaConvert는 오디오 변환 하나 또는 세그먼트화된 비디오 파일 세트를 생성합니다. 오디오 변환을 여러 개 포함하는 가장 일반적인 이유는 언어 옵션을 여러 개 제공하기 위한 것입니다. 하나의 언어만 제공하는 경우 오디오 출력이 하나만 필요할 것입니다.

**참고**  
AAC 스트리밍 출력의 경우 초기 세그먼트의 지속 시간이 다른 세그먼트보다 깁니다. AAC를 사용하는 경우 초기 세그먼트에서 세그먼트의 가청 부분 앞에 조용한 AAC 프리롤 샘플이 포함되어야 하기 때문입니다. MediaConvert가 타임스탬프에서 이러한 추가 샘플을 처리하므로 오디오가 올바르게 재생합니다.

**오디오 ABR 스트리밍 출력을 생성 및 설정하려면**

1. CMAF 출력 그룹에서 작업하는 경우에는 이 단계를 건너뜁니다. 첫 번째 오디오 출력이 생성됩니다.

   첫 번째 오디오 트랙에 출력을 생성합니다. 일반적으로 오디오 트랙은 언어 하나에 해당합니다.

   1. **Job(작업)** 창에서 현재 작업 중인 출력 그룹을 선택합니다.

   1. **Outputs(출력)** 창에서 **Add output(출력 추가)**을 선택합니다.

   1. 방금 생성한 출력을 선택합니다.

   1. 기본적으로 출력에 비디오 설정 그룹이 포함된다면 **Remove video(비디오 제거)**를 선택하여 이 그룹을 삭제합니다. 이렇게 하면 설정값 중에서 **오디오 1** 그룹은 표시된 상태로 유지됩니다.

1. **Output settings(출력 설정)** 창에서 **Name modifier(이름 수정자) **의 값을 입력합니다.

   MediaConvert는 이 출력에 대해 자신이 생성하는 파일에 할당할 파일 이름에 이름 수정자를 추가합니다. `-audio-english`와(과) 같이 어떤 출력에서 어떤 파일이 왔는지 식별하기 쉽게 해주는 이름 수정자를 입력합니다.

1. **Preset(사전 설정)** 아래에 나열된 미리 정의된 설정 그룹 중 하나가 워크플로에 적합한 경우 목록에서 해당 설정 그룹을 선택합니다. 사전 설정을 사용하는 경우 이 절차의 다음 단계를 건너뛰세요.

1. 오디오 설정을 다음과 같이 지정합니다.

   1. **Output settings(출력 설정)** 섹션에서 나머지 일반 설정의 값을 모두 지정합니다. 개별 설정에 대한 자세한 내용을 보려면 각 설정 옆에 있는 **Info(정보)** 링크를 선택하세요.

   1. **Stream settings(스트림 설정)**의 **Audio source(오디오 소스)**에서 [2단계: 비디오, 오디오 및 캡션에 대해 입력 선택기 생성](#create-selectors)에서 생성한 오디오 선택기 중 하나를 선택합니다.

   1. **스트림 설정** 섹션에서 오디오 인코딩의 값을 지정합니다. 개별 설정에 대한 자세한 내용을 보려면 각 설정 옆에 있는 **Info(정보)** 링크를 선택하세요.

1. ABR 스트리밍 패키지에 포함할 오디오 애셋이 더 있다면 다음과 같이 애셋 각각에 대해 출력을 생성합니다.

   1. **Job(작업)** 창에서 현재 작업 중인 출력 그룹을 선택합니다.

   1. **Outputs(출력)** 창에서 **Add output(출력 추가)**을 선택합니다.

   1. 방금 생성한 출력을 선택합니다.

   1. 기본적으로 출력에 비디오 설정 그룹이 포함된다면 **Remove video(비디오 제거)**를 선택하여 이 그룹을 삭제합니다. 이렇게 하면 설정값 중에서 **오디오 1** 그룹은 표시된 상태로 유지됩니다.

   1. 이 절차의 2\$14단계에 기술된 대로 출력을 설정합니다.

#### 캡션 ABR 스트리밍 출력 생성
<a name="captions-abr-streaming-outputs"></a>

캡션 설정 작업은 복잡할 수 있습니다. 자세한 내용은 [입력 캡션 설정](including-captions.md)을(를) 참조하세요. 기본 지침을 이행하려면 다음 절차를 완료하세요.

**캡션 ABR 스트리밍 출력을 생성 및 설정하려면**

1. 첫 번째 캡션 세트에 출력을 생성합니다. 일반적으로 캡션 세트 하나는 언어 하나에 해당합니다.

   1. **Job(작업)** 창에서 현재 작업 중인 출력 그룹을 선택합니다.

   1. **Outputs(출력)** 창에서 **Add output(출력 추가)**을 선택합니다.

   1. 방금 생성한 출력을 선택합니다.

   1. 기본적으로 출력에 비디오 및 오디오 설정 그룹이 포함된다면 **Remove video(비디오 제거)** 및 **Remove audio(오디오 제거)**를 선택하여 이 그룹을 삭제합니다.

   1. **Add captions(캡션 추가)**를 선택하여 캡션 설정 세트를 표시합니다.

1. **Output settings(출력 설정)** 창에서 **Name modifier(이름 수정자) **의 값을 입력합니다.

   MediaConvert는 이 출력에 대해 자신이 생성하는 파일에 할당할 파일 이름에 이름 수정자를 추가합니다. `-captions-english`와(과) 같이 어떤 출력에서 어떤 파일이 왔는지 식별하기 쉽게 해주는 이름 수정자를 입력합니다.

1. 캡션 설정을 다음과 같이 지정합니다.

   1. **Output settings(출력 설정)** 섹션에서 나머지 일반 설정의 값을 모두 지정합니다. 개별 설정에 대한 자세한 내용을 보려면 각 설정 옆에 있는 **Info(정보)** 링크를 선택하세요.

   1. **스트림 설정**의 **캡션 소스**[2단계: 비디오, 오디오 및 캡션에 대해 입력 선택기 생성](#create-selectors)에서 에서 생성한 캡션 선택기 중 하나를 선택합니다.

   1. **Stream settings(스트림 설정)** 섹션에서 나머지 캡션 설정의 값을 지정합니다.

#### 추가 매니페스트 생성
<a name="create-additional-manifests"></a>

기본적으로 MediaConvert는 각 , CMAF, DASH ISO Apple HLS및 Microsoft Smooth Streaming출력 그룹에 대해 단일 다변량 재생 목록을 생성합니다. 이 기본 매니페스트는 출력 그룹에 있는 모든 출력을 참조합니다.

선택적으로 출력 그룹의 출력 하위 집합만 참조하는 추가 다변량 재생 목록을 생성할 수 있습니다. 예를 들어 HDR이 포함된 구독이 없는 최종 사용자를 위해 HDR 출력이 포함되지 않은 매니페스트를 생성해야 할 수 있습니다.

**참고**  
CMAF 출력 그룹의 경우 **쓰기 HLS 매니페스트** 및 **쓰기 DASH 매니페스트에** 대한 기본 설정값을 유지하면 MediaConvert는 두 형식 모두에서 추가 매니페스트를 생성합니다. 이러한 설정 중 하나를 사용하지 않도록 설정하면 MediaConvert는 해당 형식으로 추가 매니페스트를 생성하지 않습니다.

**추가 매니페스트를 생성하려면**

1. **작업 생성** 페이지의 왼쪽에 있는 **작업** 창에서 추가 매니페스트를 생성하고자 하는 출력 그룹을 선택합니다.

1. 오른쪽의 **Additional manifests(추가 매니페스트)** 섹션에서 **Add manifest(매니페스트 추가)**를 선택합니다.

1. **매니페스트 이름 수정자**에서 확장명 앞의 매니페스트 파일 이름 끝에 추가할 텍스트를 입력합니다. 이 설정은 각 매니페스트가 다른 파일 이름을 갖도록 하기 때문에 필요합니다.

1. **Select outputs(출력 선택)**에서 매니페스트가 참조할 출력을 선택합니다.

1. 이러한 단계를 반복하여 최대 10개의 추가 매니페스트를 생성합니다. 각각의 추가 매니페스트에서 **Manifest name modifier(매니페스트 이름 수정자)**의 값이 달라야 합니다.

### 파일 출력 그룹에 출력 생성 및 설정
<a name="create-outputs-in-file-output-groups"></a>

파일 출력 그룹의 경우 서비스가 생성하는 각 애셋은 출력 그룹 하나가 아닌 출력 하나에 해당합니다. 각 애셋은 모든 비디오, 오디오 및 캡션 요소를 포함합니다. 따라서 먼저 출력을 생성한 후에 모든 출력 선택기를 설정하는 방식으로 설정하는 것이 가장 간단합니다.

#### 파일 출력 생성
<a name="create-file-outputs"></a>

[3단계: 출력 그룹 생성](#specify-output-groups)에서 파일 출력을 생성하였다면 다음 도해와 같이 생성하고자 하는 독립 실행형 파일 각각에 대해 파일 출력 그룹에 출력을 생성하고 설정합니다.

**파일 출력 그룹에 출력을 생성하려면**

1. 출력 그룹을 생성할 때 MediaConvert에서 자동으로 출력 그룹을 출력 1로 채우므로 출력을 명시적으로 생성할 필요가 없습니다. 독립 실행형 파일을 하나만 생성하는 경우 이 절차의 나머지 단계는 건너뜁니다.

1. 독립 실행형 파일을 두 개 이상 생성하려면 다음과 같이 추가 출력을 생성합니다.

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

   1. **Outputs(출력)** 창에서 **Add output(출력 추가)**을 선택합니다.

#### 파일 출력에서 출력 선택기 설정
<a name="set-up-output-selectors-in-file-outputs"></a>

그다음에는 방금 생성한 각 파일 출력에 대해 출력 선택기를 설정합니다.

**파일 출력에서 출력 선택기를 설정하려면**

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

1. **Output settings(출력 설정)** 창에서 **Name modifier(이름 수정자) **의 값을 입력합니다.

   MediaConvert는 이 출력에 대해 자신이 생성하는 파일에 할당할 파일 이름에 이름 수정자를 추가합니다. `-standalone-hi-res`와(과) 같이 어떤 출력에서 어떤 파일이 왔는지 식별하는 이름 수정자를 입력합니다.

1. **Preset(사전 설정)** 아래에 나열된 미리 정의된 설정 그룹 중 하나가 워크플로에 적합한 경우 목록에서 해당 설정 그룹을 선택합니다. 사전 설정을 사용하는 경우 이 절차의 4단계를 건너뛰세요.

   출력 사전 설정은 최대 한 세트의 비디오, 오디오 및 캡션 설정을 포함할 수 있습니다. 따라서 독립 실행형 출력 파일에 오디오 또는 캡션 애셋이 두 개 이상 포함되어 있다면 사전 설정을 사용할 수 없습니다. 출력에서 사전 설정을 사용할 수 없지만 사전 설정 환경을 시작 지점으로 사용하려면 사전 설정을 선택한 다음 **사전 설정** 드롭다운 목록에서 **사전 설정 없음**을 선택합니다. 이렇게 하면 사전 설정과 동일한 설정으로 출력이 미리 채워집니다.

1. 출력 설정을 다음과 같이 지정합니다.

   1. **Output settings(출력 설정)** 섹션에서 나머지 일반 설정의 값을 모두 지정합니다. 이 설정은 사용자가 선택하는 컨테이너에 따라 달라집니다. 개별 설정에 대한 자세한 내용을 보려면 각 설정 옆에 있는 **Info(정보)** 링크를 선택하세요.

   1. **Stream settings(스트림 설정)** 섹션에서 비디오 인코딩의 값을 지정합니다. 개별 설정에 대한 자세한 내용을 보려면 각 설정 옆에 있는 **Info(정보)** 링크를 선택하세요.
**참고**  
이 비디오 설정 탭이 기본 선택되므로 이 설정 그룹을 명시적으로 선택할 필요가 없습니다. 작업 한 개당 입력 비디오 선택기는 하나만 있으므로 비디오 출력을 설정할 때 선택기를 명시적으로 선택할 필요가 없습니다.

   1. **Audio 1(오디오 1)**을 선택하여 첫 번째 오디오 애셋의 인코딩 설정 그룹을 표시합니다. **오디오 1**은 **스트림 설정** 패널 왼쪽 **비디오** 아래에 있습니다.

   1. **Stream settings(스트림 설정)**의 **Audio source(오디오 소스)**에서 [2단계: 비디오, 오디오 및 캡션에 대해 입력 선택기 생성](#create-selectors)에서 생성한 오디오 선택기 중 하나를 선택합니다.

   1. **스트림 설정** 섹션에서 오디오 인코딩의 값을 지정합니다. 개별 설정에 대한 자세한 내용을 보려면 각 설정 옆에 있는 **Info(정보)** 링크를 선택하세요.

   1. 출력에 캡션을 포함하려면 **캡션 추가**를 선택합니다. 그러면 캡션 설정 그룹이 표시됩니다. 캡션 설정에 대한 자세한 내용은 [입력 캡션 설정](including-captions.md)을(를) 참조하세요.

## 5단계: 글로벌 작업 설정 지정
<a name="specify-global-job-settings"></a>

다음 도해와 같이 글로벌 작업 설정은 작업에서 생성하는 모든 출력에 적용됩니다.

작업에 입력과 분리된 별도 파일로 제공된 오디오 또는 캡션이 포함되어 있는 경우, 또는 그래픽 오버레이(이미지 삽입기) 기능을 사용하는 경우에는 이러한 설정을 올바르게 지정하는 것이 특히 중요합니다.

서로 구분된 세 가지 타임코드 설정 그룹이 있습니다. 글로벌 작업 타임코드 구성은 이 세 가지 중 하나입니다. 다양한 타임코드 설정 세트와 MediaConvert가 타임코드를 관리하는 방식에 대한 자세한 내용은 [타임코드 설정](setting-up-timecode.md)(을)를 참조하세요.

**글로벌 작업 설정을 지정하려면**

1. **작업** 창의 **작업 설정** 섹션에서 **AWS 통합**을 선택합니다.

1. **IAM 역할**에서 입력 및 출력 파일을 보관하는 Amazon S3 버킷에 액세스할 권한이 있는 IAM 역할을 선택합니다. IAM 역할은 MediaConvert와 신뢰 관계를 맺고 있어야 합니다. 이 역할을 생성하는 방법에 대한 상세 정보는 [IAM 권한 설정](iam-role.md)을(를) 참조하세요.

1. 선택 사항으로 **Timecode configuration(타임코드 구성)** 창에서 작업 전체의 타임코드 설정을 지정할 수 있습니다.

1. 선택적으로 다른 작업 설정의 값을 지정하고 글로벌 프로세서를 활성화합니다. 개별 설정에 대한 자세한 내용을 보려면 각 설정 옆에 있는 **Info(정보)** 링크를 선택하세요.

# 작업 설정 JSON 예제
<a name="example-job-settings"></a>

이 예제의 작업 설정은 실행할 수 있는 가장 간단한 유효한 작업을 나타냅니다. 이는 서비스를 실험해 보는 데 적합합니다. 더 복잡한 트랜스코딩을 수행하거나 여러 출력을 생성하려면, 콘솔을 사용하여 작업을 설정하고 JSON 작업 사양을 생성하세요. 그렇게 하려면, 왼쪽의 **작업** 창에 있는 **작업 설정**에서 **작업 JSON 표시**을 선택합니다.

프로그래밍 방식으로 작업을 제출하는 방법에 대한 자세한 내용은 *AWS Elemental MediaConvert API 참조*의 소개 주제 중 하나를 참조하세요.
+ [AWS SDKs 또는 AWS Elemental MediaConvert 사용 시작하기 AWS CLI](https://docs.aws.amazon.com/mediaconvert/latest/apireference/custom-endpoints.html)
+ [API AWS Elemental MediaConvert 사용 시작하기](https://docs.aws.amazon.com/mediaconvert/latest/apireference/getting-started.html)

**중요**  
MediaConvert 콘솔을 사용하여 프로덕션 JSON 작업 사양을 생성하는 것이 좋습니다.  
작업 사양은 트랜스코딩 엔진에 의한 검증을 준수해야 합니다. 트랜스코딩 엔진 검증은 설정 그룹 간의 복잡한 종속성과 트랜스코딩 설정과 입력 파일 속성 간의 종속성을 나타냅니다. MediaConvert 콘솔은 대화형 작업 빌더 역할을 하여 유효한 작업 JSON 사양을 쉽게 생성할 수 있습니다. [작업 템플릿](using-a-job-template.md)와 [출력 프리셋](using-a-preset-to-specify-a-job-output.md)를 사용하여 빠르게 시작할 수 있습니다.

이 예를 사용하려면 플레이스 홀더 값을 실제 값으로 바꿉니다.
+ 역할 ARN
+ s3://amzn-s3-demo-bucket
+ s3://amzn-s3-demo-bucket1

**Topics**
+ [예제: MP4 출력](#mp4-example)
+ [예제: ABR 출력](#HLS-ABR-example)
+ [예제: 자동 ABR](#auto-abr-example)

## 예제: MP4 출력
<a name="mp4-example"></a>

```
{
  "UserMetadata": {},
  "Role": "ROLE ARN",
  "Settings": {
    "OutputGroups": [
      {
        "Name": "File Group",
        "OutputGroupSettings": {
          "Type": "FILE_GROUP_SETTINGS",
          "FileGroupSettings": {
            "Destination": "s3://amzn-s3-demo-bucket1/out"
          }
        },
        "Outputs": [
          {
            "VideoDescription": {
              "ScalingBehavior": "DEFAULT",
              "TimecodeInsertion": "DISABLED",
              "AntiAlias": "ENABLED",
              "Sharpness": 50,
              "CodecSettings": {
                "Codec": "H_264",
                "H264Settings": {
                  "InterlaceMode": "PROGRESSIVE",
                  "NumberReferenceFrames": 3,
                  "Syntax": "DEFAULT",
                  "Softness": 0,
                  "GopClosedCadence": 1,
                  "GopSize": 48,
                  "Slices": 1,
                  "GopBReference": "DISABLED",
                  "SlowPal": "DISABLED",
                  "SpatialAdaptiveQuantization": "ENABLED",
                  "TemporalAdaptiveQuantization": "ENABLED",
                  "FlickerAdaptiveQuantization": "DISABLED",
                  "EntropyEncoding": "CABAC",
                  "Bitrate": 4500000,
                  "FramerateControl": "SPECIFIED",
                  "RateControlMode": "CBR",
                  "CodecProfile": "HIGH",
                  "Telecine": "NONE",
                  "MinIInterval": 0,
                  "AdaptiveQuantization": "HIGH",
                  "CodecLevel": "LEVEL_4_1",
                  "FieldEncoding": "PAFF",
                  "SceneChangeDetect": "ENABLED",
                  "QualityTuningLevel": "SINGLE_PASS_HQ",
                  "FramerateConversionAlgorithm": "DUPLICATE_DROP",
                  "UnregisteredSeiTimecode": "DISABLED",
                  "GopSizeUnits": "FRAMES",
                  "ParControl": "INITIALIZE_FROM_SOURCE",
                  "NumberBFramesBetweenReferenceFrames": 3,
                  "RepeatPps": "DISABLED",
                  "HrdBufferSize": 9000000,
                  "HrdBufferInitialFillPercentage": 90,
                  "FramerateNumerator": 24000,
                  "FramerateDenominator": 1001
                }
              },
              "AfdSignaling": "NONE",
              "DropFrameTimecode": "ENABLED",
              "RespondToAfd": "NONE",
              "ColorMetadata": "INSERT",
              "Width": 1920,
              "Height": 1080
            },
            "AudioDescriptions": [
              {
                "AudioTypeControl": "FOLLOW_INPUT",
                "CodecSettings": {
                  "Codec": "AAC",
                  "AacSettings": {
                    "AudioDescriptionBroadcasterMix": "NORMAL",
                    "Bitrate": 96000,
                    "RateControlMode": "CBR",
                    "CodecProfile": "LC",
                    "CodingMode": "CODING_MODE_2_0",
                    "RawFormat": "NONE",
                    "SampleRate": 48000,
                    "Specification": "MPEG4"
                  }
                },
                "LanguageCodeControl": "FOLLOW_INPUT"
              }
            ],
            "ContainerSettings": {
              "Container": "MP4",
              "Mp4Settings": {
                "CslgAtom": "INCLUDE",
                "FreeSpaceBox": "EXCLUDE",
                "MoovPlacement": "PROGRESSIVE_DOWNLOAD"
              }
            }
          }
        ]
      }
    ],
    "AdAvailOffset": 0,
    "Inputs": [
      {
        "AudioSelectors": {
          "Audio Selector 1": {
            "Tracks": [
              1
            ],
            "Offset": 0,
            "DefaultSelection": "DEFAULT",
            "SelectorType": "TRACK",
            "ProgramSelection": 1
          },
          "Audio Selector 2": {
            "Tracks": [
              2
            ],
            "Offset": 0,
            "DefaultSelection": "NOT_DEFAULT",
            "SelectorType": "TRACK",
            "ProgramSelection": 1
          }
        },
        "VideoSelector": {
          "ColorSpace": "FOLLOW"
        },
        "FilterEnable": "AUTO",
        "PsiControl": "USE_PSI",
        "FilterStrength": 0,
        "DeblockFilter": "DISABLED",
        "DenoiseFilter": "DISABLED",
        "TimecodeSource": "EMBEDDED",
        "FileInput": "s3://amzn-s3-demo-bucket"
      }
    ]
  }
}
```



## 예제: ABR 출력
<a name="HLS-ABR-example"></a>

```
{
  "UserMetadata": {},
  "Role": "ROLE ARN",
  "Settings": {
    "OutputGroups": [
      {
        "Name": "Apple HLS",
        "Outputs": [
          {
            "ContainerSettings": {
              "Container": "M3U8",
              "M3u8Settings": {
                "AudioFramesPerPes": 2,
                "PcrControl": "PCR_EVERY_PES_PACKET",
                "PmtPid": 480,
                "PrivateMetadataPid": 503,
                "ProgramNumber": 1,
                "PatInterval": 100,
                "PmtInterval": 100,
                "VideoPid": 481,
                "AudioPids": [
                  482,
                  483,
                  484,
                  485,
                  486,
                  487,
                  488,
                  489,
                  490,
                  491,
                  492
                ]
              }
            },
            "VideoDescription": {
              "Width": 1920,
              "Height": 1080,
              "VideoPreprocessors": {
                "Deinterlacer": {
                  "Algorithm": "INTERPOLATE",
                  "Mode": "DEINTERLACE"
                }
              },
              "AntiAlias": "ENABLED",
              "Sharpness": 100,
              "CodecSettings": {
                "Codec": "H_264",
                "H264Settings": {
                  "InterlaceMode": "PROGRESSIVE",
                  "ParNumerator": 1,
                  "NumberReferenceFrames": 3,
                  "Softness": 0,
                  "FramerateDenominator": 1001,
                  "GopClosedCadence": 1,
                  "GopSize": 90,
                  "Slices": 1,
                  "HrdBufferSize": 12500000,
                  "ParDenominator": 1,
                  "SpatialAdaptiveQuantization": "ENABLED",
                  "TemporalAdaptiveQuantization": "DISABLED",
                  "FlickerAdaptiveQuantization": "DISABLED",
                  "EntropyEncoding": "CABAC",
                  "Bitrate": 8500000,
                  "FramerateControl": "SPECIFIED",
                  "RateControlMode": "CBR",
                  "CodecProfile": "HIGH",
                  "Telecine": "NONE",
                  "FramerateNumerator": 30000,
                  "MinIInterval": 0,
                  "AdaptiveQuantization": "MEDIUM",
                  "CodecLevel": "LEVEL_4",
                  "SceneChangeDetect": "ENABLED",
                  "QualityTuningLevel": "SINGLE_PASS_HQ",
                  "GopSizeUnits": "FRAMES",
                  "ParControl": "SPECIFIED",
                  "NumberBFramesBetweenReferenceFrames": 3,
                  "HrdBufferInitialFillPercentage": 90,
                  "Syntax": "DEFAULT"
                }
              },
              "AfdSignaling": "NONE",
              "DropFrameTimecode": "ENABLED",
              "RespondToAfd": "NONE",
              "ColorMetadata": "INSERT"
            },
            "AudioDescriptions": [
              {
                "AudioTypeControl": "FOLLOW_INPUT",
                "AudioSourceName": "Audio Selector 1",
                "CodecSettings": {
                  "Codec": "AAC",
                  "AacSettings": {
                    "Bitrate": 128000,
                    "RateControlMode": "CBR",
                    "CodecProfile": "LC",
                    "CodingMode": "CODING_MODE_2_0",
                    "SampleRate": 48000
                  }
                },
                "LanguageCodeControl": "FOLLOW_INPUT"
              }
            ],
            "NameModifier": "_high"
          },
          {
            "VideoDescription": {
              "ScalingBehavior": "DEFAULT",
              "TimecodeInsertion": "DISABLED",
              "AntiAlias": "ENABLED",
              "Sharpness": 50,
              "CodecSettings": {
                "Codec": "H_264",
                "H264Settings": {
                  "InterlaceMode": "PROGRESSIVE",
                  "NumberReferenceFrames": 3,
                  "Syntax": "DEFAULT",
                  "Softness": 0,
                  "GopClosedCadence": 1,
                  "GopSize": 90,
                  "Slices": 1,
                  "GopBReference": "DISABLED",
                  "SlowPal": "DISABLED",
                  "SpatialAdaptiveQuantization": "ENABLED",
                  "TemporalAdaptiveQuantization": "ENABLED",
                  "FlickerAdaptiveQuantization": "DISABLED",
                  "EntropyEncoding": "CABAC",
                  "Bitrate": 7500000,
                  "FramerateControl": "INITIALIZE_FROM_SOURCE",
                  "RateControlMode": "CBR",
                  "CodecProfile": "MAIN",
                  "Telecine": "NONE",
                  "MinIInterval": 0,
                  "AdaptiveQuantization": "HIGH",
                  "CodecLevel": "AUTO",
                  "FieldEncoding": "PAFF",
                  "SceneChangeDetect": "ENABLED",
                  "QualityTuningLevel": "SINGLE_PASS",
                  "FramerateConversionAlgorithm": "DUPLICATE_DROP",
                  "UnregisteredSeiTimecode": "DISABLED",
                  "GopSizeUnits": "FRAMES",
                  "ParControl": "INITIALIZE_FROM_SOURCE",
                  "NumberBFramesBetweenReferenceFrames": 2,
                  "RepeatPps": "DISABLED"
                }
              },
              "AfdSignaling": "NONE",
              "DropFrameTimecode": "ENABLED",
              "RespondToAfd": "NONE",
              "ColorMetadata": "INSERT",
              "Width": 1280,
              "Height": 720
            },
            "AudioDescriptions": [
              {
                "AudioTypeControl": "FOLLOW_INPUT",
                "CodecSettings": {
                  "Codec": "AAC",
                  "AacSettings": {
                    "AudioDescriptionBroadcasterMix": "NORMAL",
                    "Bitrate": 96000,
                    "RateControlMode": "CBR",
                    "CodecProfile": "LC",
                    "CodingMode": "CODING_MODE_2_0",
                    "RawFormat": "NONE",
                    "SampleRate": 48000,
                    "Specification": "MPEG4"
                  }
                },
                "LanguageCodeControl": "FOLLOW_INPUT"
              }
            ],
            "OutputSettings": {
              "HlsSettings": {
                "AudioGroupId": "program_audio",
                "AudioRenditionSets": "program_audio",
                "IFrameOnlyManifest": "EXCLUDE"
              }
            },
            "ContainerSettings": {
              "Container": "M3U8",
              "M3u8Settings": {
                "AudioFramesPerPes": 4,
                "PcrControl": "PCR_EVERY_PES_PACKET",
                "PmtPid": 480,
                "PrivateMetadataPid": 503,
                "ProgramNumber": 1,
                "PatInterval": 0,
                "PmtInterval": 0,
                "Scte35Source": "NONE",
                "Scte35Pid": 500,
                "TimedMetadata": "NONE",
                "TimedMetadataPid": 502,
                "VideoPid": 481,
                "AudioPids": [
                  482,
                  483,
                  484,
                  485,
                  486,
                  487,
                  488,
                  489,
                  490,
                  491,
                  492
                ]
              }
            },
            "NameModifier": "_med"
          },
          {
            "VideoDescription": {
              "ScalingBehavior": "DEFAULT",
              "TimecodeInsertion": "DISABLED",
              "AntiAlias": "ENABLED",
              "Sharpness": 100,
              "CodecSettings": {
                "Codec": "H_264",
                "H264Settings": {
                  "InterlaceMode": "PROGRESSIVE",
                  "NumberReferenceFrames": 3,
                  "Syntax": "DEFAULT",
                  "Softness": 0,
                  "GopClosedCadence": 1,
                  "GopSize": 90,
                  "Slices": 1,
                  "GopBReference": "DISABLED",
                  "SlowPal": "DISABLED",
                  "SpatialAdaptiveQuantization": "ENABLED",
                  "TemporalAdaptiveQuantization": "ENABLED",
                  "FlickerAdaptiveQuantization": "DISABLED",
                  "EntropyEncoding": "CABAC",
                  "Bitrate": 3500000,
                  "FramerateControl": "INITIALIZE_FROM_SOURCE",
                  "RateControlMode": "CBR",
                  "CodecProfile": "MAIN",
                  "Telecine": "NONE",
                  "MinIInterval": 0,
                  "AdaptiveQuantization": "HIGH",
                  "CodecLevel": "LEVEL_3_1",
                  "FieldEncoding": "PAFF",
                  "SceneChangeDetect": "ENABLED",
                  "QualityTuningLevel": "SINGLE_PASS_HQ",
                  "FramerateConversionAlgorithm": "DUPLICATE_DROP",
                  "UnregisteredSeiTimecode": "DISABLED",
                  "GopSizeUnits": "FRAMES",
                  "ParControl": "INITIALIZE_FROM_SOURCE",
                  "NumberBFramesBetweenReferenceFrames": 2,
                  "RepeatPps": "DISABLED"
                }
              },
              "AfdSignaling": "NONE",
              "DropFrameTimecode": "ENABLED",
              "RespondToAfd": "NONE",
              "ColorMetadata": "INSERT",
              "Width": 960,
              "Height": 540
            },
            "AudioDescriptions": [
              {
                "AudioTypeControl": "FOLLOW_INPUT",
                "CodecSettings": {
                  "Codec": "AAC",
                  "AacSettings": {
                    "AudioDescriptionBroadcasterMix": "NORMAL",
                    "Bitrate": 96000,
                    "RateControlMode": "CBR",
                    "CodecProfile": "LC",
                    "CodingMode": "CODING_MODE_2_0",
                    "RawFormat": "NONE",
                    "SampleRate": 48000,
                    "Specification": "MPEG4"
                  }
                },
                "LanguageCodeControl": "FOLLOW_INPUT"
              }
            ],
            "OutputSettings": {
              "HlsSettings": {
                "AudioGroupId": "program_audio",
                "AudioRenditionSets": "program_audio",
                "IFrameOnlyManifest": "EXCLUDE"
              }
            },
            "ContainerSettings": {
              "Container": "M3U8",
              "M3u8Settings": {
                "AudioFramesPerPes": 4,
                "PcrControl": "PCR_EVERY_PES_PACKET",
                "PmtPid": 480,
                "PrivateMetadataPid": 503,
                "ProgramNumber": 1,
                "PatInterval": 0,
                "PmtInterval": 0,
                "Scte35Source": "NONE",
                "Scte35Pid": 500,
                "TimedMetadata": "NONE",
                "TimedMetadataPid": 502,
                "VideoPid": 481,
                "AudioPids": [
                  482,
                  483,
                  484,
                  485,
                  486,
                  487,
                  488,
                  489,
                  490,
                  491,
                  492
                ]
              }
            },
            "NameModifier": "_low"
          }
        ],
        "OutputGroupSettings": {
          "Type": "HLS_GROUP_SETTINGS",
          "HlsGroupSettings": {
            "ManifestDurationFormat": "INTEGER",
            "SegmentLength": 10,
            "TimedMetadataId3Period": 10,
            "CaptionLanguageSetting": "OMIT",
            "Destination": "s3://bucket/hls1/master",
            "TimedMetadataId3Frame": "PRIV",
            "CodecSpecification": "RFC_4281",
            "OutputSelection": "MANIFESTS_AND_SEGMENTS",
            "ProgramDateTimePeriod": 600,
            "MinSegmentLength": 0,
            "DirectoryStructure": "SINGLE_DIRECTORY",
            "ProgramDateTime": "EXCLUDE",
            "SegmentControl": "SEGMENTED_FILES",
            "ManifestCompression": "NONE",
            "ClientCache": "ENABLED",
            "StreamInfResolution": "INCLUDE"
          }
        }
      }
    ],
    "AdAvailOffset": 0,
    "Inputs": [
      {
        "AudioSelectors": {
          "Audio Selector 1": {
            "Tracks": [
              1
            ],
            "Offset": 0,
            "DefaultSelection": "DEFAULT",
            "SelectorType": "TRACK",
            "ProgramSelection": 1
          },
          "Audio Selector 2": {
            "Tracks": [
              2
            ],
            "Offset": 0,
            "DefaultSelection": "NOT_DEFAULT",
            "SelectorType": "TRACK",
            "ProgramSelection": 1
          }
        },
        "VideoSelector": {
          "ColorSpace": "FOLLOW"
        },
        "FilterEnable": "AUTO",
        "PsiControl": "USE_PSI",
        "FilterStrength": 0,
        "DeblockFilter": "DISABLED",
        "DenoiseFilter": "DISABLED",
        "TimecodeSource": "EMBEDDED",
        "FileInput": "s3://INPUT"
      }
    ]
  }
}
```



## 예제: 자동 ABR
<a name="auto-abr-example"></a>

이러한 예제 JSON 작업 사양은 Apple HLS의 자동 ABR 스택을 지정합니다. 이는 자동 ABR 설정을 지정하는 것 외에도 다음과 같은 값을 명시적으로 설정합니다.
+ 가속화된 트랜스코딩 `Mode`\$1`PREFERRED`
+ `rateControlMode`\$1`QVBR`
+ `qualityTuningLevel`\$1`MULTI_PASS_HQ`

자동 ABR 설정에 대한 자세한 내용은 [자동화된 ABR](auto-abr.md)(을)를 참조하세요.

```
{
  "UserMetadata": {},
  "Role": "ROLE ARN",
  "Settings": {
    "TimecodeConfig": {
      "Source": "ZEROBASED"
    },
    "OutputGroups": [
      {
        "Name": "Apple HLS",
        "Outputs": [
          {
            "ContainerSettings": {
              "Container": "M3U8",
              "M3u8Settings": {
                "AudioFramesPerPes": 4,
                "PcrControl": "PCR_EVERY_PES_PACKET",
                "PmtPid": 480,
                "PrivateMetadataPid": 503,
                "ProgramNumber": 1,
                "PatInterval": 0,
                "PmtInterval": 0,
                "Scte35Source": "NONE",
                "NielsenId3": "NONE",
                "TimedMetadata": "NONE",
                "VideoPid": 481,
                "AudioPids": [
                  482,
                  483,
                  484,
                  485,
                  486,
                  487,
                  488,
                  489,
                  490,
                  491,
                  492
                ]
              }
            },
            "VideoDescription": {
              "ScalingBehavior": "DEFAULT",
              "TimecodeInsertion": "DISABLED",
              "AntiAlias": "ENABLED",
              "Sharpness": 50,
              "CodecSettings": {
                "Codec": "H_264",
                "H264Settings": {
                  "InterlaceMode": "PROGRESSIVE",
                  "NumberReferenceFrames": 3,
                  "Syntax": "DEFAULT",
                  "Softness": 0,
                  "FramerateDenominator": 1,
                  "GopClosedCadence": 1,
                  "GopSize": 60,
                  "Slices": 2,
                  "GopBReference": "DISABLED",
                  "EntropyEncoding": "CABAC",
                  "FramerateControl": "SPECIFIED",
                  "RateControlMode": "QVBR",
                  "CodecProfile": "MAIN",
                  "Telecine": "NONE",
                  "FramerateNumerator": 30,
                  "MinIInterval": 0,
                  "AdaptiveQuantization": "AUTO",
                  "CodecLevel": "AUTO",
                  "FieldEncoding": "PAFF",
                  "SceneChangeDetect": "ENABLED",
                  "QualityTuningLevel": "MULTI_PASS_HQ",
                  "FramerateConversionAlgorithm": "DUPLICATE_DROP",
                  "UnregisteredSeiTimecode": "DISABLED",
                  "GopSizeUnits": "FRAMES",
                  "ParControl": "INITIALIZE_FROM_SOURCE",
                  "NumberBFramesBetweenReferenceFrames": 2,
                  "RepeatPps": "DISABLED",
                  "DynamicSubGop": "STATIC"
                }
              },
              "AfdSignaling": "NONE",
              "DropFrameTimecode": "ENABLED",
              "RespondToAfd": "NONE",
              "ColorMetadata": "INSERT"
            },
            "OutputSettings": {
              "HlsSettings": {
                "AudioGroupId": "program_audio",
                "AudioRenditionSets": "program_audio",
                "AudioOnlyContainer": "AUTOMATIC",
                "IFrameOnlyManifest": "EXCLUDE"
              }
            },
            "NameModifier": "video"
          },
          {
            "ContainerSettings": {
              "Container": "M3U8",
              "M3u8Settings": {
                "AudioFramesPerPes": 4,
                "PcrControl": "PCR_EVERY_PES_PACKET",
                "PmtPid": 480,
                "PrivateMetadataPid": 503,
                "ProgramNumber": 1,
                "PatInterval": 0,
                "PmtInterval": 0,
                "Scte35Source": "NONE",
                "NielsenId3": "NONE",
                "TimedMetadata": "NONE",
                "TimedMetadataPid": 502,
                "VideoPid": 481,
                "AudioPids": [
                  482,
                  483,
                  484,
                  485,
                  486,
                  487,
                  488,
                  489,
                  490,
                  491,
                  492
                ]
              }
            },
            "AudioDescriptions": [
              {
                "AudioTypeControl": "FOLLOW_INPUT",
                "AudioSourceName": "Audio Selector 1",
                "CodecSettings": {
                  "Codec": "AAC",
                  "AacSettings": {
                    "AudioDescriptionBroadcasterMix": "NORMAL",
                    "Bitrate": 96000,
                    "RateControlMode": "CBR",
                    "CodecProfile": "LC",
                    "CodingMode": "CODING_MODE_2_0",
                    "RawFormat": "NONE",
                    "SampleRate": 48000,
                    "Specification": "MPEG4"
                  }
                },
                "LanguageCodeControl": "FOLLOW_INPUT"
              }
            ],
            "OutputSettings": {
              "HlsSettings": {
                "AudioGroupId": "program_audio",
                "AudioTrackType": "ALTERNATE_AUDIO_AUTO_SELECT_DEFAULT",
                "AudioOnlyContainer": "AUTOMATIC",
                "IFrameOnlyManifest": "EXCLUDE"
              }
            },
            "NameModifier": "audio"
          }
        ],
        "OutputGroupSettings": {
          "Type": "HLS_GROUP_SETTINGS",
          "HlsGroupSettings": {
            "ManifestDurationFormat": "FLOATING_POINT",
            "SegmentLength": 10,
            "TimedMetadataId3Period": 10,
            "CaptionLanguageSetting": "OMIT",
            "Destination": "s3://amzn-s3-demo-bucket1/main",
            "TimedMetadataId3Frame": "PRIV",
            "CodecSpecification": "RFC_4281",
            "OutputSelection": "MANIFESTS_AND_SEGMENTS",
            "ProgramDateTimePeriod": 600,
            "MinSegmentLength": 0,
            "MinFinalSegmentLength": 0,
            "DirectoryStructure": "SINGLE_DIRECTORY",
            "ProgramDateTime": "EXCLUDE",
            "SegmentControl": "SEGMENTED_FILES",
            "ManifestCompression": "NONE",
            "ClientCache": "ENABLED",
            "AudioOnlyHeader": "INCLUDE",
            "StreamInfResolution": "INCLUDE"
          }
        },
        "AutomatedEncodingSettings": {
          "AbrSettings": {
            "MaxRenditions": 6,
            "MaxAbrBitrate": 5000000,
            "MinAbrBitrate": 300000
          }
        }
      }
    ],
    "AdAvailOffset": 0,
    "Inputs": [
      {
        "AudioSelectors": {
          "Audio Selector 1": {
            "Offset": 0,
            "DefaultSelection": "DEFAULT",
            "ProgramSelection": 1
          }
        },
        "VideoSelector": {
          "ColorSpace": "FOLLOW",
          "Rotate": "DEGREE_0",
          "AlphaBehavior": "DISCARD"
        },
        "FilterEnable": "AUTO",
        "PsiControl": "USE_PSI",
        "FilterStrength": 0,
        "DeblockFilter": "DISABLED",
        "DenoiseFilter": "DISABLED",
        "InputScanType": "AUTO",
        "TimecodeSource": "ZEROBASED",
        "FileInput": "s3://amzn-s3-demo-bucket/test.mov"
      }
    ]
  },
  "AccelerationSettings": {
    "Mode": "PREFERRED"
  },
  "StatusUpdateInterval": "SECONDS_60",
  "Priority": 0
}
```



# 입력 파일 및 입력 클립 지정
<a name="specifying-inputs"></a>

MediaConvert를 *어셈블리 워크플로*에 사용할 수 있습니다. 어셈블리 워크플로는 별도의 편집 소프트웨어를 사용할 필요 없이 기본 입력 클리핑 및 스티칭을 수행하여 다양한 소스의 출력 애셋을 어셈블하는 MediaConvert 작업입니다. 예를 들어, 어셈블리 워크플로는 범퍼 다음에 광고와 인터리빙된 기능 콘텐츠를 결합할 수 있습니다. 기능 콘텐츠에는 각 기능 세그먼트의 시작 부분에 로고 그래픽 오버레이가 있을 수 있습니다.

이러한 종류의 작업에서는 *입력 스티칭*을 사용하여 여러 입력의 출력을 어셈블하거나 *입력 클리핑*을 사용하여 입력의 일부를 어셈블합니다. MediaConvert는 이 어셈블리로부터 모든 작업 출력을 생성합니다. 입력 파일의 다양한 클립 또는 입력의 다양한 정렬로 여러 출력을 어셈블하려는 경우 각 어셈블리에 대해 별도의 작업을 생성해야 합니다.

**Topics**
+ [MediaConvert에서 타임라인을 사용하여 작업을 어셈블하는 방법](#how-mediaconvert-uses-timelines-to-assemble-jobs)
+ [어셈블리 워크플로 작업 설정](#setting-up-an-assembly-workflow-job)
+ [오디오 트랙 및 오디오 선택기 설정](more-about-audio-tracks-selectors.md)
+ [입력 캡션 설정](including-captions.md)

## MediaConvert에서 타임라인을 사용하여 작업을 어셈블하는 방법
<a name="how-mediaconvert-uses-timelines-to-assemble-jobs"></a>

MediaConvert는 *입력 타임라인* 및 *출력 타임라인*에 따라 입력과 입력 클립을 어셈블합니다. 서비스는 설정을 기반으로 이러한 타임라인을 구성한 다음, 설정을 기반으로 입력을 출력으로 어셈블합니다. 다음 그림에서는 세 가지 독립적인 입력 타임라인과 출력 타임라인을 보여 줍니다.

![\[세 개의 개별 입력 파일은 세 개의 사각형으로 표시됩니다. 각각은 입력 타임라인을 나타내는 숫자 행으로 표시됩니다. 타임라인 하나는 0에서 시작합니다. 타임라인 하나에는 임베디드된 타임코드가 표시됩니다. 타임라인 하나는 한 시간에 시작하는 지정된 시작 설정을 반영합니다. 이러한 사각형 중 두 개는 그 안에 클립이 있으며, 사각형의 일부에만 색상이 채워진 상태로 표시됩니다. 사각형 중 하나는 완전히 채워져 있으며, 전체 입력 파일이 출력에 사용된다는 것을 나타냅니다. 입력 사각형 아래에는 함께 어셈블된 모든 클립과 입력을 나타내는 더 넓은 사각형이 있습니다. 이 사각형은 출력 타임라인을 나타내는 숫자 행으로 표시되며, 이 행은 00:00:00:00에 시작됩니다.\]](http://docs.aws.amazon.com/ko_kr/mediaconvert/latest/ug/images/assembly.png)


### 입력 타임라인
<a name="input-timelines"></a>

각 입력에는 고유한 *입력 타임라인*이 있습니다. 입력 타임라인은 입력 파일의 각 프레임을 나타내기 위해 MediaConvert에서 생성되는 일련의 타임코드입니다.

기본적으로 입력 타임라인은 입력 비디오에 임베디드된 타임코드와 동일합니다. 입력 설정 **타임코드 소스**에서 다른 시작 타임코드를 지정할 수 있습니다. API나 SDK를 사용하는 경우에는 작업의 JSON 파일에서 이 설정을 찾을 수 있습니다. 설정 이름은 `TimecodeSource`(이)며 `Settings`, `Inputs`에 있습니다. 자세한 내용은 [입력 타임코드 소스를 사용하여 입력 타임라인 조정](timecode-input.md)을(를) 참조하세요.

MediaConvert에서는 입력 타임라인을 다음에 사용합니다.
+ 입력 그래픽 오버레이(삽입된 이미지)가 비디오에 나타나는 시간을 결정합니다. 입력 오버레이와 출력 오버레이의 차이에 대한 자세한 내용은 [입력 오버레이와 출력 오버레이 중에서 선택](choosing-between-input-overlay-and-output-overlay.md)을(를) 참조하세요.
+ 모션 그래픽 오버레이(삽입된 이미지)가 비디오에 나타나는 시간을 결정합니다. 다양한 유형의 그래픽 오버레이에 대한 자세한 내용은 [이미지 삽입](graphic-overlay.md)을(를) 참조하세요.
+ 비디오를 타임코드 기반 형식의 *사이드카 캡션*과 동기화합니다. 사이드카 캡션은 비디오와 별도의 입력 파일로 제공하는 캡션입니다.
+ 입력 클립을 지정할 때 제공하는 타임코드를 해석합니다.

### 출력 타임라인
<a name="output-timeline"></a>

*출력 타임라인*은 MediaConvert가 출력에 내장시키기 위해 생성하는 일련의 타임코드입니다. 또한 MediaConvert는 작업의 모든 출력에 적용되는 기능에 대해 출력 타임라인의 타임코드를 사용합니다.

기본적으로 출력 타임라인은 첫 번째 입력 파일의 비디오에 임베디드된 타임코드와 동일합니다. 작업 전체의 **타임코드 구성** 설정의 시작 타임코드**는 작업 설정**에서 다르게 지정할 수 있습니다. API나 SDK를 사용하는 경우에는 작업의 JSON 파일에서 이 설정을 찾을 수 있습니다. 이 설정은 `Settings` 아래 `TimecodeConfig`에 있습니다. 자세한 내용은 [작업 전체 타임코드 구성을 사용하여 출력 타임라인 조정](timecode-jobconfig.md)을(를) 참조하세요.

MediaConvert에서는 출력 타임라인을 다음에 사용합니다.
+ 출력 타임코드 설정에서 **타임코드 삽입**을 활성화할 때 출력 비디오에 포함할 타임코드를 결정합니다.
+ 출력 오버레이(삽입된 이미지)가 비디오에 나타나는 시간을 결정합니다. 다양한 유형의 그래픽 오버레이에 대한 자세한 내용은 [이미지 삽입](graphic-overlay.md)을(를) 참조하세요.
+ HLS 변형 재생 목록에 시간이 표시되는 방식을 결정합니다.
+ **앵커 타임코드**의 값을 지정할 때 제공하는 타임코드를 해석합니다.

## 어셈블리 워크플로 작업 설정
<a name="setting-up-an-assembly-workflow-job"></a>

다음 단계에 따라 입력 클리핑, 입력 스티칭, 그래픽 오버레이 및 사이드카 캡션 동기화와 같은 어셈블리 워크플로 기능을 결합하는 작업을 설정합니다. 이러한 작업을 이 순서로 수행하면 설정이 더 쉬워집니다. 특히 입력 클립을 마지막으로 지정하는 것이 좋습니다. 각 입력 타임라인이 각 개별 클립에서 프레임을 계산하지 않고 전체 입력에서 프레임을 계산하기 때문입니다.

이 절차는 입력 및 출력 타임라인의 개념에 의존합니다. 자세한 내용은 [MediaConvert에서 타임라인을 사용하여 작업을 어셈블하는 방법](#how-mediaconvert-uses-timelines-to-assemble-jobs)을(를) 참조하세요.

**어셈블리 워크플로 작업을 설정하려면(콘솔)**

1. **비디오 입력 파일을 지정합니다.**

   한 작업에 최대 150개의 입력이 있을 수 있습니다. MediaConvert는 추가한 순서대로 입력을 연결하여 하나로 만듭니다. 동일한 입력 파일의 여러 클립을 사용하고 그 사이에 다른 입력 없이 시간순으로 클립을 배치하려면 입력 파일을 한 번만 지정합니다.

   전체 지침은 [1단계: 입력 파일 지정](setting-up-a-job.md#specify-input-settings)을(를) 참조하세요.

1. **오디오 선택기를 설정합니다.**

   각 입력에서 입력 오디오를 출력에 매핑하는 오디오 선택기를 생성합니다. 지침은 [2단계: 비디오, 오디오 및 캡션에 대해 입력 선택기 생성](setting-up-a-job.md#create-selectors)을(를) 참조하세요.

   사이드카 오디오 파일인 경우, MediaConvert는 타임코드에 관계없이 오디오와 비디오를 동기화합니다. MediaConvert는 오디오 파일의 시작 부분을 비디오 파일 시작 부분과 일치시킵니다.

   오디오가 사이드카 파일에 있는지 또는 비디오에 임베디드되어 있는지와 상관없이, 입력 오디오 선택기의 **오프셋** 설정을 사용하여 동기화를 조정할 수 있습니다. 오디오를 입력 타임라인에서 나중에 이동하려면 **Offset(오프셋)**에 양수를 사용하고, 오디오를 더 일찍 이동하려면 음수를 사용합니다.

1. **사이드카 캡션을 동기화합니다.**

   사이드카 캡션 동기화를 설정하는 방법은 입력 캡션 형식에 따라 다릅니다.
   + 입력 캡션 형식이 타임코드 기반(예: SCC 또는 STL)인 경우 서비스는 캡션 파일의 타임코드를 입력 타임라인과 동기화합니다.
   + 입력 캡션 형식이 타임스탬프 기반(예: SRT, SMI 또는 TTML)인 경우 서비스는 타임코드와 상관없이 자막을 비디오와 동기화합니다.

**관련 정보**
   + [입력 타임코드 소스 및 캡션 정렬 정보](about-input-timecode-source-and-captions-alignment.md)
   + [입력 타임코드 소스를 사용하여 입력 타임라인 조정](timecode-input.md)
   + [캡션 및 캡션 선택기](including-captions.md) 

1. **그래픽 오버레이 또는 모션 그래픽 오버레이를 표시할 시간을 설정합니다.**

   오버레이가 나타나는 시간을 지정하는 방법은 지정하는 오버레이 종류에 따라 다릅니다.
   + 입력 스틸 그래픽 오버레이의 경우 오버레이를 표시할 입력에서 오버레이를 지정합니다. 해당 입력의 타임라인과 일치하는 타임코드를 사용하여 시작 시간 및 종료 시간을 지정합니다.
   + 출력 스틸 그래픽 오버레이의 경우 출력 타임라인을 기준으로 오버레이를 표시할 시간을 지정합니다.
   + 모션 그래픽 오버레이의 경우 입력의 타임라인을 기준으로 오버레이를 표시할 시간을 지정합니다.

**관련 정보**
   + [입력 타임코드 소스를 사용하여 입력 타임라인 조정](timecode-input.md)
   + [작업 전체 타임코드 구성을 사용하여 출력 타임라인 조정](timecode-jobconfig.md)
   + [이미지 삽입](graphic-overlay.md)

1. **입력 클립을 지정합니다.**

   MediaConvert에서 입력의 전체 지속 시간을 포함하지 않으려면, 각 입력에 대해 입력 클립을 지정합니다. 해당 입력의 타임라인과 일치하는 타임코드를 사용하여 시작 시간 및 종료 시간을 지정합니다.

   다음과 같이 입력 클립을 설정합니다.

   1. **작업 생성** 페이지의 왼쪽 **작업** 창에서 입력을 선택합니다.

   1. **입력 클립** 섹션에서 **입력 클립 추가**를 선택합니다.

   1. 포함시킬 첫 번째 클립의 시작 및 종료 타임코드를 입력합니다. 다음과 같은 24시간 형식을 프레임 번호(HH:MM:SS:FF)와 함께 사용합니다.

      입력 클립을 오디오 전용 입력용으로 지정할 경우 입력하는 타임코드의 마지막 숫자는 1/100초에 해당합니다. 예를 들어, 00:00:30:75는 30.75초와 같습니다.

      입력 타임라인에 맞는 타임코드를 제공해야 합니다. 기본적으로 MediaConvert에서는 입력 비디오에 임베디드된 타임코드를 기준으로 입력 클리핑을 수행합니다. 타임코드를 정렬하는 방법은 입력 비디오에 타임코드가 임베디드되어 있는지 여부에 따라 달라집니다.
      + 입력에 타임코드가 임베디드되어 있지 않은 경우 **타임코드 소스**를 **0에서 시작** 또는 **지정된 시작**으로 설정해야 합니다.
      + 입력에 타임코드가 *임베디드되어* 있고 MediaConvert에서 이를 사용하도록 하려는 경우 **타임코드 소스**에 기본값인 **임베디드**를 유지합니다. 클립 시작 시간과 종료 시간을 적절하게 지정합니다.

        예를 들어 입력 **타임코드 소스**가 **임베디드**로 설정되어 있고 비디오에 01:00:00:00에서 시작되는 타임코드가 포함되어 있는 경우 30초 안에 클립 시작 시간 타임코드를 00:00:30:00이 아니라 01:00:30:00으로 정의합니다. 기본적으로 입력 타임라인은 비디오에 임베디드된 타임코드와 동일합니다. 입력 **타임코드 소스** 설정을 조정하여 입력 타임라인을 결정하는 항목을 변경할 수 있습니다.
      + 입력 클립 재생시간을 12시간 미만으로 지정합니다.

      자세한 내용은 [입력 타임코드 소스를 사용하여 입력 타임라인 조정](timecode-input.md)을(를) 참조하세요.

   1. 추가 클립을 지정합니다. 여러 클립은 시간순이어야 하며 겹칠 수 없습니다. 각. **시작. 타임코드**는 이전 클립의 **종료 타임코드** 뒤에 와야 합니다.

      두 개 이상의 입력 클립을 지정하면 모든 클립은 지정한 순서대로 하나씩 차례로 출력에 나타납니다.

# 오디오 트랙 및 오디오 선택기 설정
<a name="more-about-audio-tracks-selectors"></a>

오디오 선택기를 사용하여 입력 오디오를 출력 오디오와 연결합니다. 입력에서 하나 이상의 트랙을 나타내도록 단일 오디오 선택기를 설정할 수 있습니다. 그런 후, 출력 내의 오디오 트랙을 생성하고 단일 오디오 선택기를 각 출력 트랙과 연결합니다.

입력 오디오 트랙, 오디오 선택기 및 출력 오디오 트랙 간의 연결은 다음 규칙을 따릅니다.
+  각 입력 트랙을 하나 이상의 오디오 선택기와 연결할 수 있음 
+  각 오디오 선택기에는 하나 이상의 입력 트랙이 있음 
+  각 출력 트랙에는 하나의 오디오 선택기가 있음 

다음은 이러한  관계를 도해로 나타낸 것입니다. 이 도해에서는 입력 파일에 오디오 트랙이 세 개 포함되어 있습니다. 오디오 선택기 1은 입력 트랙 1을 선택합니다. 오디오 선택기 1은 출력 오디오 트랙 1과 연결되므로, 출력의 트랙 1에는 입력의 트랙 1과 동일한 콘텐츠가 있습니다. 두 번째 입력 오디오 트랙은 오디오 선택기에서 선택되지 않았으므로 출력에 사용되지 않습니다. 오디오 선택기 2는 입력 트랙 1과 3을 선택합니다. 오디오 선택기 2는 출력 오디오 트랙 2와 연결되므로, 출력 트랙 2에는 입력 트랙 1과 3의 채널이 포함되어 있습니다.

![\[오디오 선택기를 사용하여 입력 트랙을 출력 트랙과 연결합니다.\]](http://docs.aws.amazon.com/ko_kr/mediaconvert/latest/ug/images/audio-selectors-shared-vsd.png)


채널 레벨 제어가 필요한 워크플로의 경우 다음 워크플로를 지원하는 오디오 채널 리믹스 기능을 사용합니다.
+ 오디오 트랙에 있는 채널의 순서 변경
+ 하나 이상의 입력 트랙에서 다른 출력 트랙으로 오디오 채널 이동
+ 다중 채널에서 단일 채널로 오디오 결합
+ 단일 채널에서 다중 채널로 분할
+ 오디오 채널의 소리 크기 레벨 조정

# 입력 캡션 설정
<a name="including-captions"></a>

작업에 캡션을 포함시키려면 다음 단계를 표시된 순서대로 따릅니다.

1. 입력 캡션이 SCC 또는 STL과 같은 타임코드 기반 사이드카 캡션 형식인 경우 [타임코드 소스 설정을 설정합니다.](#set-the-timecode-source-settings)

1. [필수 캡션 정보를 수집합니다.](#gather-required-captions-information)

1. [캡션 선택기를 생성합니다.](#create-input-caption-selectors)

1. [출력의 캡션을 설정합니다.](set-up-captions-in-outputs.md)

지원되는 입력 및 출력 캡션의 전체 목록은 [캡션 참조 표](captions-support-tables.md)에서 확인하세요.

출력에 대해 캡션을 설정하는 방법에 대한 내용은 [출력의 캡션 설정](set-up-captions-in-outputs.md) 단원을 참조하세요.

**작은 정보**  
MediaConvert와 Amazon Transcribe 함께를 사용하여 캡션을 생성하고 출력에 포함할 수 있습니다. 자세한 내용은 [AWS Amazon Transcribe를 사용한 VOD 캡션 넣기](https://github.com/aws-samples/aws-transcribe-captioning-tools)GitHub *AWS 샘플* 내에서 확인하세요.

## 타임코드 소스 지정
<a name="set-the-timecode-source-settings"></a>

자막을 비디오와 올바르게 동기화하려면 자막 파일에 임베디드된 타임코드와 일치하도록 입력 타임라인을 설정해야 합니다. MediaConvert에서 입력 **타임코드 소스** 설정에 대해 선택한 값을 기준으로 입력 타임라인을 설정합니다. 자세한 내용은 [입력 타임코드 소스 및 캡션 정렬](about-input-timecode-source-and-captions-alignment.md)을(를) 참조하세요.

**타임코드 소스** 설정 조정에 대한 자세한 내용은 [입력 타임코드 소스를 사용하여 입력 타임라인 조정](timecode-input.md)을(를) 참조하세요.

## 필수 캡션 정보 수집
<a name="gather-required-captions-information"></a>

작업에서 캡션을 설정하기 전에 다음 정보에 주의해야 합니다.
+ *입력 캡션 형식*. 이 정보를 미리 확인해야 합니다. MediaConvert는 입력 파일에서 이 정보를 읽지 않습니다.
+ 모든 출력에 사용할 입력 캡션의 *트랙*.
+ 작업에서 생성할 *출력 패키지 및 파일*. 출력 패키지 또는 파일 형식 지정에 대한 자세한 내용은 [출력 생성](output-settings.md)을(를) 참조하세요.
+ 각 출력에서 사용할 *출력 캡션 형식*.

  입력 컨테이너, 입력 캡션 형석 및 출력 컨테이너를 기반으로 지원되는 출력 캡션에 대한 자세한 내용은 [지원되는 입력 캡션, 비디오 컨테이너 내](captions-support-tables-by-container-type.md)을(를) 참조하세요.
+ 각 출력에 포함시킬 *출력 캡션 형식*. 텔레텍스트 대 텔레텍스트로 전달하는 경우 입력의 모든 트랙을 출력에 사용할 수 있습니다. 그렇지 않은 경우 출력에 포함시킨 트랙은 입력에 사용 가능한 언어의 하위 집합입니다.

## 입력 캡션 선택기 생성
<a name="create-input-caption-selectors"></a>

캡션을 설정할 때 먼저 캡션 선택기를 생성합니다. 캡션 선택기는 입력에 있는 특정 캡션 애셋을 식별하고 이 애셋에 레이블을 연결합니다. 캡션 애셋은 입력 캡션 형식에 따라 단일 트랙 또는 입력 파일에 포함된 모든 트랙 세트입니다. 예를 들어, **캡션 선택기 1**을 추가하고 프랑스어 캡션을 선택기와 연결할 수 있습니다. [캡션에 포함하도록 출력을 설정](set-up-captions-in-outputs.md)하는 경우, 캡션 선택기를 지정하여 이 작업을 수행합니다.

**입력 캡션 선택기를 생성하려면**

1. **작업 생성** 페이지의 왼쪽 **작업** 창에서 입력을 선택합니다.
**참고**  
여러 입력이 포함된 작업에서 각 입력에는 동일한 캡션 선택기 수가 들어 있어야 합니다. 캡션이 없는 입력의 경우 빈 캡션 선택기를 생성합니다. 이러한 선택기인 경우 **소스**로 **Null 소스**를 선택합니다. 캡션이 있는 입력이 없는 경우 전체 캡션 선택기를 삭제합니다.

1. 페이지 하단 근처에 있는 **캡션 선택기** 섹션에서 **캡션 선택기 추가**를 선택합니다.

1. **소스**에서 입력 캡션 형식을 선택합니다.

1. 대부분의 형식에는 추가 필드가 나타납니다. 입력 캡션 형식과 관련된 주제의 설명에 따라 이러한 필드의 값을 지정합니다. 이 절차 다음에 나오는 목록에서 적절한 토픽을 선택합니다.

1. 필요에 따라 추가 캡션을 생성합니다. 필요한 캡션 선택기 수는 입력 캡션 형식에 따라 다릅니다. 이 절차 다음에 나오는 목록에서 적절한 토픽을 선택합니다.

# MXF VANC 데이터(보조) 형식의 QuickTime 캡션 트랙 또는 캡션
<a name="ancillary"></a>

입력 캡션이 다음 형식 중 하나인 경우 서비스는 이 캡션을 ‘보조’ 데이터로 처리합니다.
+ QuickTime 캡션 트랙(QTCC 형식)
+ MXF VANC 데이터

MediaConvert는 이러한 형식의 출력 캡션을 생성하지 않지만, 이 형식을 [지원되는 출력 형식](captions-support-tables-by-container-type.md)으로 변환할 수 있습니다.

**보조 캡션의 경우**
+ 출력에서 사용할 트랙당 하나의 캡션 선택기를 생성합니다.
+ 각 캡션 선택기의 **소스**에서 **보조**를 선택합니다.
+ 각 캡션 선택기의 **CC channel(CC 채널)**에서 선택기와 연결된 트랙의 채널 번호를 선택합니다.

  예를 들어, 입력 캡션에는 CC 채널 1의 영어와 CC 채널 2의 스페인어가 있습니다. 이러한 캡션을 사용하려면 캡션 선택기 1을 생성한 다음, **CC 채널** 드롭다운 목록에서 1을 선택합니다. 다음에는 캡션 선택기 2를 생성한 다음, **CC 채널** 드롭다운 목록에서 2를 선택합니다.

# 임베디드(CEA/EIA-608, CEA/EIA-708), 임베디드\$1SCTE-20 및 SCTE-20\$1임베디드
<a name="embedded"></a>

입력 캡션이 다음 형식 중 하나인 경우 서비스는 이 캡션을 ‘임베디드’로 처리합니다.
+ CEA-608
+ EIA-608
+ CEA-708
+ EIA-708

입력 캡션이 임베디드 캡션과 SCTE-20 캡션을 모두 사용하고 출력에서 두 형식을 모두 표시하려면 SCTE-20 캡션 트랙과 임베디드 캡션 트랙에 따로 입력 캡션 선택기를 설정합니다. SCTE-20 캡션 선택기는 임베디드 선택기와 동일한 방법으로 설정합니다.

**참고**  
MXF 입력의 경우, 캡션이 보조 트랙에 있을 가능성이 큽니다. 일부 타사 미디어 분석 도구에서는 이러한 캡션을 608/708 임베디드로 잘못 보고합니다. 보조 캡션 설정에 대한 자세한 내용은 [MXF VANC 데이터(보조) 형식의 QuickTime 캡션 트랙 또는 캡션](ancillary.md)을(를) 참조하세요.

## 임베디드 캡션의 캡션 선택기 수
<a name="embedded-how-many-caption-selectors"></a>
+ 모든 출력 캡션이 임베디드 형식인 경우 여러 트랙을 출력에 포함시키려고 하더라도 하나의 캡션 선택기만 생성합니다. 이 설정을 사용하면 MediaConvert는 자동으로 모든 트랙을 추출하여 출력에 포함시킵니다.
+ 모든 출력이 임베디드가 아닌 형식인 경우, 출력에 포함시킬 각 트랙에 대해 하나씩 캡션 선택기를 생성합니다.
+ 일부 출력에는 임베디드 형식의 캡션이 있고 일부 출력에는 다른 형식의 캡션이 있는 경우, 임베디드 캡션이 있는 출력에 대해 하나의 캡션 선택기를 생성합니다. 또한 임베디드가 아닌 다른 캡션이 있는 출력에 대해 출력에 포함시킬 각 트랙에 대해 하나씩 개별 선택기를 생성합니다.

## 임베디드 캡션의 캡션 선택기 필드
<a name="embedded-caption-selector-fields"></a>

**소스**: **임베디드**를 선택합니다.

**CC channel number(CC 채널 수)**: 이 필드는 추출할 트랙을 지정합니다. 다음과 같이 완료합니다.
+ 임베디드 대 임베디드 캡션을 수행하는 경우(즉, 입력 임베디드 캡션에 대해 하나의 캡션만 생성하는 경우), MediaConvert에서 이 필드가 무시되므로 **CC 채널 번호**의 기본값을 그대로 둡니다.
+ 임베디드 캡션을 다른 형식으로 변환하는 경우(즉, 각 트랙에 대해 하나씩 여러 캡션 선택기를 생성하는 경우) 원하는 트랙이 들어 있는 입력에서 캡션 채널 수를 지정합니다. 이렇게 하려면 드롭다운 목록에서 채널 번호를 선택합니다. 예를 들어 CC1을 선택하려면 **1**을 선택합니다.

**참고**  
MediaConvert는 각 채널에 있는 언어를 자동으로 감지하지 않습니다. 출력 캡션을 설정할 때 언어를 지정할 수 있으므로, 해당 MediaConvert는 다운스트림 사용을 위해 캡션 채널에 대한 언어 코드 메타데이터를 출력에 전달합니다.



# DVB-Sub 입력 캡션
<a name="dvb-sub-or-scte-27"></a>

MediaConvert는 TS 입력에서만 DVB-Sub를 지원합니다.

대부분의 경우 트랙당 하나의 캡션 선택기를 생성합니다. 각 선택기에서 PID 또는 언어 코드를 제공하여 원하는 트랙을 지정합니다.

**참고**  
**PID** 필드 및 **언어** 드롭다운 목록 양쪽에서 모두 캡션을 지정하지 마세요. 두 항목 중 하나만 지정하세요.

DVB-sub 대 DVB-sub를 수행하고 모든 캡션 트랙을 입력에서 출력으로 전달하려는 경우 모든 트랙에 대해 하나의 캡션을 생성합니다. 이 경우 **PID **필드를 비워 두고 **언어** 드롭다운 목록에서 언어를 선택하지 마세요.

# 텔레텍스트 입력 캡션
<a name="teletext"></a>

텔레텍스트 입력 캡션 선택기 설정 방법은 출력에서 캡션을 어떻게 사용할 계획인지에 따라 달라집니다. 다음 방법 중 하나로 텔레텍스트 캡션을 사용할 수 있습니다.
+ [텔레텍스트-텔레텍스트 패스스루](#input-teletext-to-output-teletext-passthrough)

  텔레텍스트 패스스루를 사용하면 MediaConvert는 입력 캡션을 변경하지 않고 입력에서 출력으로 전달합니다. 캡션 스타일 지정, 텔레텍스트 페이지 번호, 비 캡션 텔레텍스트 데이터는 출력에서 입력과 정확히 동일하게 나타납니다.

  텔레텍스트 패스스루는 출력에 캡션이 아닌 텔레텍스트 데이터를 포함시킬 수 있는 유일한 방법입니다.
+ [텔레텍스트-텔레텍스트, 페이지 재매핑](#input-teletext-to-output-teletext-with-page-remapping)

  출력의 텔레텍스트 페이지 번호를 입력의 페이지 번호와 다르게 하려면 콘텐츠를 다시 매핑할 수 있습니다. 이렇게 하면 출력 캡션 스타일이 평범해지고 캡션이 아닌 텔레텍스트 데이터가 손실됩니다.
+ [텔레텍스트-기타 캡션 형식](#input-teletext-to-other-format-output-captions)

  텔레텍스트 입력 캡션을 사용하여 일부 다른 형식의 출력 캡션을 생성할 수 있습니다. 텔레텍스트 입력에서 생성할 수 있는 캡션은 [캡션 참조 표](captions-support-tables.md)에서 확인하세요.

각 워크플로의 캡션 설정에 대한 정보는 다음 주제에서 확인하세요.

## 텔레텍스트-텔레텍스트 패스스루
<a name="input-teletext-to-output-teletext-passthrough"></a>

텔레텍스트-텔레텍스트 패스스루를 수행할 때는 전체 입력 캡션 세트에 대해 하나의 입력 캡션 선택기를 생성합니다. **페이지 번호**에는 값을 지정하지 마세요.

이 캡션 워크플로의 출력 설정에 대한 정보는 [텔레텍스트-텔레텍스트 패스스루](teletext-output-captions.md#teletext-to-teletext-passthrough)에서 확인하세요.

## 텔레텍스트-텔레텍스트, 페이지 재매핑
<a name="input-teletext-to-output-teletext-with-page-remapping"></a>

입력 캡션과 출력 캡션의 형식이 모두 텔레텍스트이고 출력 텔레텍스트 페이지 번호를 입력 페이지 번호와 다르게 하려면, 입력의 각 텔레텍스트 페이지에 대해 별도의 입력 캡션 선택기를 생성합니다. **페이지 번호**로 입력 텔레텍스트 페이지 번호를 지정합니다.

이 캡션 워크플로의 출력 설정에 대한 정보는 [텔레텍스트-텔레텍스트, 페이지 재매핑](teletext-output-captions.md#teletext-to-teletext-page-remapping)에서 확인하세요.

## 텔레텍스트-기타 캡션 형식
<a name="input-teletext-to-other-format-output-captions"></a>

입력 캡션이 텔레텍스트이고 출력 캡션이 다른 형식인 경우 각 입력 텔레텍스트 페이지에 입력 캡션 선택기를 하나씩 설정합니다. **페이지 번호**로 입력 텔레텍스트 페이지 번호를 지정합니다.

이 캡션 워크플로의 출력 설정에 대한 정보는 [출력의 캡션 설정](set-up-captions-in-outputs.md)의 출력 형식에 대한 섹션을 확인하세요.

# IMSC, SCC, SMPTE-TT, SRT, STL, TTML(사이드카) 입력 캡션
<a name="sidecar-input"></a>

IMSC, SCC, SRT, STL 및 TTML은 사이드카 캡션 형식입니다. 이러한 형식을 사용할 경우 입력 캡션을 별도의 파일로 제공합니다. 출력 캡션 설정에 따라 AWS Elemental MediaConvert 은(는) 모든 형식을 동일한 형식으로 출력에 전달하거나 다른 사이드카 형식으로 변환할 수 있습니다.

**사이트카 캡션**  
모든 경우 각 입력 캡션 파일에 하나의 캡션 선택기를 생성합니다.

**소스 파일**에서 Amazon S3 또는 HTTP(S) 서버에 저장된 캡션 입력 파일의 URI를 입력합니다. Amazon S3 입력의 경우 URI를 직접 지정하거나 **찾아보기**를 선택하여 Amazon S3 버킷 중에서 선택할 수 있습니다. HTTP(S) 입력의 경우, 입력 비디오 파일의 URL을 제공합니다. 자세한 내용은 [HTTP 입력 요구 사항](http-input-requirements.md)을(를) 참조하세요.

**IMSC 캡션**  
MediaConvert는 사이드카 파일 또는 IMF 소스의 일부로서 IMSC를 입력 캡션으로 지원합니다. 입력 IMSC 캡션이 IMF 패키지의 일부인 경우 [IMSC 입력 캡션(IMF 소스의 일부)](IMSC-in-MXF.md)을(를) 참조하세요. IMSC 지원에 대한 지침은 [IMSC 요구 사항](imsc-captions-support.md)을(를) 참조하세요.

**SMPT-TT 캡션**  
캡션 파일에 base64 인코딩(`smpte:image encoding="Base64"`)으로 캡션 이미지가 포함되어 있고 캡션 이미지(`smpte:backgroundImage`)에 대한 외부 참조를 사용하는 텍스트 전용 SMPTE-TT 입력 캡션을 사용할 수 있습니다.

캡션에서 이미지에 대한 외부 참조를 사용하는 경우 해당 이미지는 캡션 파일과 동일한 Amazon S3 버킷 및 폴더에 있어야 합니다. 예를 들어 이것이 SMPTE\$1TT 파일 `amzn-s3-demo-bucket/mediaconvert-input/captions/my-captions-spanish.ttml`의 Amazon S3 경로라고 가정해 보겠습니다. 그렇다면 캡션 파일이 참조하는 이미지 파일을 `s3://amzn-s3-demo-bucket/mediaconvert-input/captions/`에 저장해야 합니다.

**SRT 캡션**  
MediaConvert는 UTF-8 문자 인코딩으로 SRT 입력 캡션을 지원합니다.

**사이드카 캡션 및 비디오 동기화**  
캡션이 비디오와 정상적으로 동기화되었는지 확인하려면, **타임코드 소스**(**비디오 선택기** 섹션 내) 값이 캡션 파일의 타임코드와 일치하는지 확인합니다. 예를 들어, 캡션 파일의 타임코드가 0에서 시작하지만 비디오에 01:00:00:00에서 시작하는 임베디드 타임코드가 있는 경우 **타임코드 소스**의 기본값을 **임베디드**에서 **0에서 시작**으로 변경합니다. 작업의 다른 문제로 인해 이렇게 할 수 없는 경우 **시간 간격** 설정으로 캡션을 조정합니다([시간 간격의 사용 사례](time-delta-use-cases.md)에 설명).

**참고**  
MediaConvert는 캡션 형식이 타임코드 기반 또는 타임스탬프 기반인지 여부에 따라 캡션과 비디오의 정렬을 다르게 처리합니다. 자세한 내용은 [입력 타임코드 소스 및 캡션 정렬](about-input-timecode-source-and-captions-alignment.md)을(를) 참조하세요.

캡션 파일에서 시간을 수정하려면 **시간 간격**에 양수 또는 음수를 입력합니다. 기본적으로 시간 간격은 초 단위로 측정됩니다. 예를 들어, 캡션 파일의 모든 시간에 15초를 더하려면 **15**(을)를 입력합니다. 캡션 파일의 모든 시간에서 5초를 빼려면 **-5**(을)를 입력합니다. 밀리초 단위로 변경하려면 **시간 간격 단위**를 **밀리초**로 설정합니다.

**시간 간격**에 입력한 값으로 인해 비디오 앞 또는 뒤에 캡션이 표시되는 경우 해당 캡션은 출력에 표시되지 않습니다.

**참고**  
SCC에서 SRT로 변환할 때 MediaConvert는 먼저 **시간 간격** 설정값을 가장 가까운 입력 프레임으로 반올림합니다. MediaConvert는 출력 SRT 타이밍을 계산할 때 이 반올림된 값을 사용합니다.

**Topics**
+ [입력 타임코드 소스 및 캡션 정렬](about-input-timecode-source-and-captions-alignment.md)
+ [시간 간격의 사용 사례](time-delta-use-cases.md)
+ [듀얼 SCC 입력 파일을 임베디드 캡션으로 변환](converting-dual-scc-input-files-to-embedded-captions.md)
+ [TTML 스타일 형식 지정](ttml-style-formatting.md)

# 입력 타임코드 소스 및 캡션 정렬
<a name="about-input-timecode-source-and-captions-alignment"></a>

입력 **타임코드 소스**를 **시작 위치 0** 또는 **지정된 시작**으로 설정하여 입력 타임라인을 조정하면 MediaConvert는 지정 시 시작되는 타임코드가 임베디드된 것처럼 움직입니다. 하지만 MediaConvert는 사용자의 사이드카 캡션 파일에서 타임코드 또는 타임스탬프를 변경하지 않습니다. 따라서 캡션을 정렬하는 방식은 사용자의 캡션 형식에 따라 다릅니다.

**타임코드 기반 사이드카 형식(SCC, STL)**  
SCC 및 STL을 포함한 일부 캡션 형식은 타임코드별로 비디오에 캡션이 배치되는 위치를 정의합니다. 이러한 형식을 사용하면 MediaConvert는 입력 타임라인에 있는 각 프레임의 타임코드에 따라 캡션 파일에 지정된 프레임에 각 캡션을 배치합니다. 다른 시간에 시작하도록 캡션을 조정하려면 **시간 간격** 설정을 사용합니다. 자세한 내용은 [시간 간격의 사용 사례](time-delta-use-cases.md)을(를) 참조하세요.

MediaConvert에서 입력 **타임코드 소스** 설정에 대해 선택한 값을 기준으로 입력 타임라인을 설정합니다.

예를 들어 첫 번째 캡션이 00:05:23:00에 표시되도록 SCC 파일을 지정하고 **타임코드 소스**를 **지정된 시작**으로 설정하고 **시작 타임코드**를 00:04:00:00으로 설정하면, 첫 번째 캡션은 1분 23초에 비디오에 표시됩니다. **타임코드 소스**를 **지정된 시작** 및 **시작 타임코드**를 01:00:00:00으로 설정하면 입력 타임라인에 따라 비디오가 시작되기 전에 00:05:23:00이 발생하기 때문에 예상한 시간에 캡션이 표시되지 않습니다.

**타임스탬프 기반 사이드카 형식(SRT, SMI, TTML)**  
SRT, SMI, 및 TTML을 포함한 일부 캡션 형식을 사용하면 타임스탬프별로 비디오에 캡션이 배치되는 위치를 정의할 수 있습니다. 이 경우 MediaConvert는 거리, 지정 시간, 비디오 시작으로 캡션의 배치를 측정합니다. 이는 캡션 파일이 타임코드 또는 타임스탬프로 배치를 지정하는지 여부에 관계없이 수행됩니다.

따라서 캡션은 비디오 타임코드에 관계없이 캡션 파일에 지정된 시간에 표시됩니다. 예를 들어, 첫 번째 캡션이 00:05:23:00 또는 00:05:23,000에 표시되도록 SRT 파일을 지정하고 **타임코드 소스**를 **지정된 시작**로 설정하고 **시작 타임코드**를 00:04:00:00으로 설정하면, 첫 번째 캡션은 여전히 5분 23초에 비디오에 표시됩니다.

다른 시간에 시작하도록 캡션을 조정하려면 **시간 간격** 설정을 사용합니다. 자세한 내용은 [시간 간격의 사용 사례](time-delta-use-cases.md)을(를) 참조하세요.

**비디오 스트림에 내장된 캡션 형식(CEA/EIA-608, CEA/EIA-708)**  
일부 캡션 형식의 경우 비디오 프레임 또는 비디오 프레임 메타데이터에 직접 캡션이 내장되어 있습니다. 이 경우 MediaConvert는 타임코드 설정에 관계없이 임베디드된 프레임과 함께 캡션을 유지합니다.

# 시간 간격의 사용 사례
<a name="time-delta-use-cases"></a>

**시간 간격**를 사용하는 방법은 해결하려는 문제와 작업 중인 캡션 형식에 따라 다릅니다.

 기본적으로 시간 간격은 초 단위로 지정합니다. 밀리초 단위로 변경하려면 **시간 간격 단위(TimeDeltaUnits)**를 **밀리초(MILLISECONDS)**로 설정합니다.

## 비디오와 캡션 파일의 다른 타임코드 조정
<a name="adjusting-for-different-timecodes-between-video-and-captions-files"></a>

SCC 및 STL과 같은 타임코드 기반 캡션 형식의 경우, 캡션의 타임코드는 비디오에 임베디드된 시작 타임코드와 다른 시작 타임코드를 기준으로 할 수 있습니다. 차이를 조정하기 위해 **시간 간격**를 사용합니다.

**예시 문제:** 비디오 파일에 00:05:00:00에 시작되는 임베디드 타임코드가 있을 수 있습니다. 캡션이 필요한 첫 번째 대화 인스턴스는 비디오에서 1분 지난 타임코드 00:06:00:00일 수 있습니다. 비디오 타임코드가 00:00:00:00에 시작하고 첫 번째 캡션이 00:01:00:00에 시작한다는 가정 하에 캡션 파일이 쓰였을 수 있습니다. **시간 간격**을 사용하지 않는 경우 비디오가 시작되기 전에 이 캡션이 나오기 때문에 MediaConvert에서는 이 첫 번째 캡션을 포함하지 않습니다.

**해결 방법:** 캡션에 5분을 추가합니다. **300**(을)를 **시간 간격**로 입력합니다.

## 비디오 및 오디오를 동기화한 후 캡션 조정
<a name="adjusting-captions-after-sychronizing-video-and-audio"></a>

타임코드 기반(SCC 또는 STL) 캡션은 사용자의 비디오에 임베디드된 타임코드와 정렬될 수도 있지만 입력 **타임코드 소스** 설정을 사용하여 사용자의 비디오와 정렬해야 할 수도 있습니다. 이는 조정해야 하는 비디오와 캡션 간의 차이를 만듭니다. SRT, SMI 및 TTML과 같은 타임스탬프 기반 캡션 형식의 경우는 이러한 조정을 수행할 필요가 없습니다.

입력 **타임코드 소스**를 사용하는 경우 캡션 정렬에 대한 자세한 내용은 [입력 타임코드 소스 및 캡션 정렬](about-input-timecode-source-and-captions-alignment.md)을(를) 참조하세요.

**문제 예제:** 비디오 파일에 00:05:00:00에서 시작하는 타임코드가 임베디드되어 있고 캡션이 필요한 첫 번째 대화 인스턴스가 비디오 안으로 1분 들어가서 타임코드 00:06:00:00에 있을 수 있습니다. 캡션 파일은 첫 번째 캡션이 00:06:00:00에 시작하도록 맞게 동기화되도록 쓰여있습니다. 오디오 파일과 맞게 동기화되도록 입력에 임베디드된 캡션을 변경해야 할 수 있습니다. 출력 **Timecode source(타임코드 소스)**를 **Start at Zero(0에서 시작)**으로 설정합니다. **시간 간격**을 사용하지 않는 경우. MediaConvert에서 출력의 첫 번째 캡션을 비디오의 6분에 넣을 수 있습니다.

**해결 방법:** 캡션에서 5분을 뺍니다. **-300**(을)를 **시간 간격**로 입력합니다.

## 캡션 동기화의 작은 오류 수정
<a name="correcting-slight-errors-in-captions-sync"></a>

모든 종류의 사이드카 형식의 경우, 출력 캡션 파일에 작은 오류가 있을 수 있어 캡션이 지속적으로 조금 늦거나 빠를 수 있습니다.

**문제 예제:** 비디오에 0에서 시작하는 캡션이 임베디드되어 있습니다. 캡션이 필요한 첫 번째 대화 인스턴스는 00:06:15:00에 있지만, 캡션은 화면에 3초 늦은 00:06:18:00에 나타납니다.

**해결 방법:** 캡션 파일에서 3초를 뺍니다. **-3**(을)를 **시간 간격**로 입력합니다.

# 듀얼 SCC 입력 파일을 임베디드 캡션으로 변환
<a name="converting-dual-scc-input-files-to-embedded-captions"></a>

두 개의 SCC 파일을 캡션 입력으로 사용하고 출력 비디오 스트림에 임베디드된 두 개의 출력 캡션 채널로 캡션을 임베디드하려는 경우 이 절차에 따라 캡션을 설정합니다.

**듀얼 SCC를 임베디드 캡션으로 변환하려면**

1. 두 개의 입력 캡션 선택기를 설정합니다. [입력 캡션 선택기 생성](including-captions.md#create-input-caption-selectors)의 프로시저를 따르세요. 다음과 같이 값을 지정합니다.
   + 각 캡션 선택기의 **소스**에서 **SCC**를 선택합니다.
   + **Source file(소스 파일)**에서 각 선택기의 입력 SCC 파일 중 하나를 선택합니다.
   + 출력에 608과 708 캡션을 모두 임베디드시키려면 두 캡션 선택기에서 모두 **상향 변환**을 **608을 708로 강제 상향 변환**으로 선택합니다.

1. 출력에서 캡션을 설정합니다. [출력의 캡션 설정](set-up-captions-in-outputs.md)의 프로시저를 따르세요. 다음 특정한 선택을 따릅니다.
   + 캡션을 임베디드하려는 비디오와 동일한 출력에 캡션을 지정합니다.
   + **캡션 추가**를 두 번 선택하여 **캡션 1**과 **캡션 2** 탭을 **인코딩 설정** 섹션에서 생성합니다.
   + 각 캡션 탭의 **Cpations Source(캡션 소스)**에서 이 절차의 이전 단계에서 생성한 캡션 선택기 중 하나를 선택합니다.
   + **CC channel number(CC 채널 번호)**에서 필드를 공유하지 않은 각 캡션 탭의 번호를 선택합니다. 예를 들어, **캡션 1**에서는 **1**을 **CC 채널 번호**로 선택하고 **캡션 2**에서는 **3**을 **CC 채널 번호**로 선택합니다.

     채널의 이러한 쌍은 같은 필드를 공유하니 1과 2 또는 3과 4 조합을 선택하지 마세요.
   + 이 절차의 이전 단계에서 **Upconvert(상향 변환)**을 선택한 경우, **708 service number(708 서비스 번호)**의 서비스 번호를 지정할 수 있습니다. 출력 내에서 각 캡션 탭은 다른 서비스 번호를 지정해야 합니다.

     상향 변환을하고 **708 service number(708 서비스 번호)**의 값을 지정하지 않은 경우, 서비스에서는 **CC channel number(CC 채널 번호)**에 지정한 값을 708 서비스 번호로 사용합니다.

# TTML 스타일 형식 지정
<a name="ttml-style-formatting"></a>

AWS Elemental MediaConvert 는 작업이 실행될 때 입력 캡션의 스타일 형식을 읽습니다. 출력 스타일 형식에 문제가 있는 경우 입력 캡션의 형식을 확인하거나 **스타일 패스스루**를 활성화 상태로 설정할 것을 권장합니다. 다음 토픽에는 TTML 입력 캡션에서 글꼴, 상속 가능 및 상속 불가능 속성, 오른쪽에서 왼쪽으로 쓰는 언어를 사용하는 방법에 대한 지침이 있습니다.

**글꼴 지정** 

MediaConvert는 [TTML2 W3C 권장 사항](https://www.w3.org/TR/ttml2/#style-value-generic-family-name)에 나열된 다음과 같은 일반 글꼴 집합을 지원합니다.
+ 기본값
+ monospace
+ sansSerif
+ serif
+ monospaceSansSerif
+ monospaceSerif
+ proportionalSansSerif
+ proportionalSerif

최상의 결과를 얻으려면, TTML 입력 캡션에 일반 글꼴 집합을 지정하세요. 개별 글꼴 지정 시, MediaConvert는 글꼴을 위에 나열된 일반 글꼴 집합 중 하나에 매핑합니다.

**상속 가능 속성과 상속 불가능 속성** 

스타일 속성은 상속 가능한 것과 불가능한 것이 있습니다. [TTML 2 W3C 권장 사항](https://www.w3.org/TR/ttml2/#styling-attribute-vocabulary)에는 각 스타일 속성에 대해 *상속되는* 항목이 나열되어 있습니다.

적용할 모든 요소에 상속 불가능 스타일 속성을 포함시킵니다.

예를 들어, `tts:backgroundColor`은(는) 상속 불가능 스타일 속성입니다. 다음과 같이 하면 *헬로우*의 배경색은 빨간색, *월드*는 배경색이 지정되지 않습니다.

`<span tts:backgroundColor="red">hello<br/>world</span>` 

위의 형식을 수정하여 *헬로우 월드* 두 단어 모두 이 예제처럼 개별 범위를 적용하여 배경색을 빨간색으로 지정하고 각각 스타일 특성이 다르게 만들 수 있습니다.

`<span><span tts:backgroundColor="red">hello</span> <br/> <span tts:backgroundColor="red">world</span></span>` 

**오른쪽에서 왼쪽으로 쓰는 언어** 

MediaConvert는 TTML 내에서 왼쪽에서 오른쪽, 오른쪽에서 왼쪽 텍스트 방향을 모두 지원합니다.

텍스트 방향을 지정하지 않으면 MediaConvert는 왼쪽에서 오른쪽 방향을 적용합니다.

오른쪽에서 왼쪽으로 지정하려면 `tts:direction="rtl"` 속성을 포함시킵니다. 텍스트에 양방향 문자가 혼합되어 있는 경우 `tts:unicodeBidi="embed"`(을)를 [TTML2 W3C 권장 사항](https://www.w3.org/TR/ttml2/#style-attribute-direction) 설명된 대로 포함시킵니다. `tts:unicodeBidi`은(는) 상속 불가능 속성임에 유의하세요.

# IMSC 입력 캡션(IMF 소스의 일부)
<a name="IMSC-in-MXF"></a>

AWS Elemental MediaConvert 는 IMSC를 사이드카 파일 또는 IMF 소스의 일부로 입력 캡션 형식으로 지원합니다. 입력 IMSC 캡션이 사이드카 파일에 있는 경우 [IMSC, SCC, SMPTE-TT, SRT, STL, TTML(사이드카) 입력 캡션](sidecar-input.md)을(를) 참조하세요.

입력 IMSC 캡션이 IMF 소스의 일부인 경우 IMSC 캡션에 소스 파일을 지정하지 마세요. 이 정보는 작업 입력에 대해 지정하는 CPL 파일에 포함되어 있습니다. IMSC 지원에 대한 지침은 [IMSC 요구 사항](imsc-captions-support.md)을(를) 참조하세요.

**IMSC의 캡션 선택기 수**  
트랙당 하나의 캡션 선택기를 생성합니다.

**트랙 번호**  
트랙 번호를 제공하여 원하는 캡션을 지정합니다. 트랙 번호는 CPL 파일에서 트랙이 표시되는 순서와 일치합니다. 예를 들어 CPL 파일에서 프랑스어 캡션이 첫 번째로 나열되는 경우 프랑스어 캡션을 지정하려면 **Track number(트랙 번호)**를 **1**로 지정합니다.

**JSON 작업 사양에서**  
API나 SDK를 사용하는 경우에는 작업의 JSON 파일에서 이 설정을 찾을 수 있습니다. 이러한 설정은 다음 예제와 같이 `Inputs` 아래에 있습니다.

```
"Inputs": [

 
      {
        ...
        		
        "CaptionSelectors": {
          "Captions Selector 1": {
            "SourceSettings": {
              "SourceType": "IMSC",
              "TrackSourceSettings": {
                "TrackNumber": 1
              }
            }
          },

          "Captions Selector 2": {
            "SourceSettings": {
              "SourceType": "IMSC",
              "TrackSourceSettings": {
                "TrackNumber": 4
              }
            }
          },
          ...
```

# WebVTT 입력 캡션(HLS 소스의 일부)
<a name="WebVTT-in-HLS"></a>

AWS Elemental MediaConvert 는 WebVTT를 사이드카 파일 또는 HLS 소스의 일부로 입력 캡션 형식으로 지원합니다. 입력 WebVTT 캡션이 사이드카 파일에 있는 경우 [IMSC, SCC, SMPTE-TT, SRT, STL, TTML(사이드카) 입력 캡션](sidecar-input.md)(을)를 참조하세요.

입력 WebVTT 캡션이 HLS 소스의 일부인 경우 WebVTT 캡션의 소스 WebVTT 매니페스트 파일을 지정하지 마세요. 이 정보는 작업 입력에 대해 지정하는 CPL 파일에 포함되어 있습니다. **HLS 변환 그룹 사용**을 활성화하고 다음 설정을 사용해야 합니다.

**WebVTT의 캡션 선택기 수**  
WebVTT 소스당 하나의 캡션 선택기를 생성합니다.

**변환 그룹**  
그룹 ID를 제공하여 원하는 캡션을 지정합니다. 그룹 ID는 HLS 매니페스트의 EXT-X-MEDIA, GROUP-ID 태그에 해당합니다. 예를 들어, HLS 매니페스트 파일에 있는 특정 그룹 ‘subs’에 프랑스어 캡션이 나열되어 있는 경우 **변환 그룹 ID**를 **subs**로 설정하여 프랑스어 캡션 그룹 ID를 지정합니다.

**변환 이름**  
변환 이름을 제공하여 원하는 캡션을 지정합니다. 변환 이름은 HLS 매니페스트의 EXT-X-MEDIA, NAME 태그에 해당합니다. 예를 들어, HLS 매니페스트 파일에 ‘French’라는 변환 이름으로 프랑스어 캡션이 나열되어 있는 경우 **변환 이름**을 **French**로 설정하여 프랑스어 캡션 변환 이름을 지정합니다.

**변환 언어 코드**  
ISO 639-3 언어 코드를 제공하여 원하는 캡션 그룹을 지정합니다. 이 언어는 HLS 매니페스트의 EXT-X-MEDIA, LANGUAGE 태그에 해당합니다. 예를 들어, HLS 매니페스트 파일에 프랑스어 캡션이 “FRA”라는 언어 코드로 나열되어 있는 경우 **변환 언어 코드**를 **FRA**로 설정하여 프랑스어 캡션 변환 언어 코드를 지정합니다.

**JSON 작업 사양에서**  
API나 SDK를 사용하는 경우에는 작업의 JSON 파일에서 이 설정을 찾을 수 있습니다. 이러한 설정은 다음 예제와 같이 `Inputs` 아래에 있습니다.

```
"Inputs": [

 
      {
        ...
        		
"CaptionSelectors": {
  "Caption Selector 1": {
    "SourceSettings": {
      "SourceType": "WebVTT",
      "WebvttHlsSourceSettings": {
        "RenditionGroupId": "subs",
        "RenditionName": "French",
        "RenditionLanguageCode": "FRA"
      }
    }
  }
}
          ...
```

# 출력 생성
<a name="output-settings"></a>

단일 MediaConvert 작업은 독립 실행형 파일(예: .mp4 파일)이나 가변 비트레이트(ABR) 스트리밍용 파일 세트(예: Apple HLS 패키지), 또는 이 두 파일을 조합한 형식으로 출력을 생성할 수 있습니다. 출력 그룹을 생성하고 그 그룹 내에 출력을 생성하여 작업이 생성하는 파일의 수와 종류를 지정합니다.

MediaConvert 작업이 완료되면 Amazon CloudFront나 다른 콘텐츠 배포 네트워크(CDN)를 사용하여 스트리밍 패키지를 전송할 수 있습니다. CDN은 시청을 원하는 사람들에게 비디오를 전송합니다. 자세한 내용은 [CloudFront를 사용한 video on demand(VOD) 전달](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/on-demand-video.html)에서 확인하세요.

이 섹션의 토픽에서는 출력 그룹, 출력 및 MediaConvert가 생성하는 실제 출력 파일 간의 관계를 설명합니다.

**Topics**
+ [출력의 캡션 설정](set-up-captions-in-outputs.md)
+ [출력 그룹을 사용하여 스트리밍 패키지 유형 또는 독립 실행형 파일 지정](outputs-file-ABR.md)
+ [ABR 스트리밍 출력 그룹 선택](choosing-your-streaming-output-groups.md)
+ [비디오 품질을 위한 권장 인코딩 설정](video-quality.md)
+ [작업 설정에서 변수 사용](using-variables-in-your-job-settings.md)

# 출력의 캡션 설정
<a name="set-up-captions-in-outputs"></a>

작업의 캡션 위치는 출력 캡션 형식에 따라 다릅니다. 캡션은 비디오와 동일한 출력에 있거나, 비디오와 동일한 출력 그룹에 있는 별도의 출력이거나, 완전히 분리된 출력 그룹에 있을 수 있습니다. 다중 캡션 트랙을 설정하는 방법도 출력 캡션 형식에 따라 다릅니다.

지원되는 입력 및 출력 캡션의 전체 목록은 [캡션 참조 표](captions-support-tables.md)에서 확인하세요.

입력에 대해 캡션을 설정하는 방법에 대한 내용은 [입력 캡션 설정](including-captions.md) 단원을 참조하세요.

다음 절차에서는 다양한 출력에 대해 캡션을 설정하는 방법을 보여 줍니다.

**다양한 출력에 대해 캡션을 설정하려면**

1. [https://console.aws.amazon.com/mediaconvert](https://console.aws.amazon.com/mediaconvert)에서 MediaConvert 콘솔을 엽니다.

1. **작업 생성**을 선택합니다.

1. [자습서: 작업 설정 구성](setting-up-a-job.md) 및 [출력 생성](output-settings.md)의 설명에 따라 비디오와 오디오에 대한 입력, 출력 그룹 및 출력을 설정합니다.

1. [입력 캡션 선택기 생성](including-captions.md#create-input-caption-selectors)의 설명에 따라 입력 캡션 설정을 생성합니다.

1. 작업의 어느 위치에서 캡션을 지정할지를 결정합니다. 이 선택에 따라 출력 캡션 형식이 결정됩니다. 이 내용을 알아보려면 아래의 관련 토픽을 참조하세요.

1. **Create job(작업 생성)** 페이지의 왼쪽 창에 있는 출력 목록에서 적절한 출력을 선택합니다.

1. **Encoding settings(인코딩 설정)**에서 **Add caption(캡션 추가)**를 선택합니다. 그러면 **Encoding settings(인코딩 설정)** 아래에 캡션 설정 영역이 표시됩니다.

1. 사용 중인 출력 캡션 형식에서 출력의 각 트랙에 대해 별도의 캡션 설정 그룹이 필요한 경우 각 트랙에 대해 하나의 캡션 그룹이 있을 때까지 **Add captions(캡션 추가)**를 다시 선택합니다. 모든 트랙에 대해 하나의 캡션 설정 그룹이 필요한지 또는 각 트랙에 하나씩 필요한지 확인하려면 아래의 관련 토픽을 참조하세요.

1. **Encoding settings(인코딩 설정)**의 목록에서 **Captions 1(캡션 1)**을 선택합니다.

1. **Captions source(캡션 소스)**에서 캡션 선택기를 선택합니다. 이렇게 하면 입력을 설정할 때 선택기와 연결한 트랙이 선택되므로이 출력에 해당 캡션이 AWS Elemental MediaConvert 포함됩니다.

1. **Destination type(대상 유형)**에서 출력 캡션 형식을 선택합니다. 지원되는 형식을 선택하고 있는지 확인하려면 [지원되는 입력 캡션, 비디오 컨테이너 내](captions-support-tables-by-container-type.md)을(를) 참조하세요.

1. 아래 관련 주제의 설명에 따라 추가 필드에 값을 제공합니다.



**Topics**
+ [CEA/EIA-608 및 CEA/EIA-708(임베디드) 출력 캡션](embedded-output-captions.md)
+ [DVB-Sub 출력 캡션](dvb-sub-output-captions.md)
+ [IMSC, TTML 및 WebVTT(사이드카) 출력 옵션](ttml-and-webvtt-output-captions.md)
+ [SCC, SRT(사이드카) 출력 캡션](scc-srt-output-captions.md)
+ [텔레텍스트 출력 캡션](teletext-output-captions.md)
+ [번인 출력 캡션](burn-in-output-captions.md)
+ [접근성 캡션 설정](accessibility-captions.md)

# CEA/EIA-608 및 CEA/EIA-708(임베디드) 출력 캡션
<a name="embedded-output-captions"></a>

 이 섹션에서는에서 임베디드 출력 캡션을 구성하는 방법을 다룹니다 AWS Elemental MediaConvert. 주요 주제는 다음과 같습니다.
+ 캡션을 지정하는 위치
+ 다중 캡션 트랙을 지정하는 방법
+ MXF 출력의 임베디드 캡션 및 보조 캡션

## 캡션을 지정하는 위치
<a name="where-embedded-output-captions"></a>

비디오와 동일한 출력 그룹과 비디오와 동일한 출력에 캡션을 넣으세요.

## 다중 캡션 트랙을 지정하는 방법
<a name="multilang-embedded-output-captions"></a>
+ 입력 캡션 형식이 임베디드인 경우(즉, 임베디드 대 임베디드로 전달하는 경우) 하나의 캡션 설정 그룹만 생성해야 합니다. **Captions source(캡션 소스)**에서 선택하는 캡션 선택기에는 입력의 모든 트랙이 포함됩니다.
+ 입력 캡션이 두 개의 SCC 파일인 경우 출력 캡션을 출력 비디오 스트림에 임베디드된 두 개의 출력 캡션 채널로 생성할 수 있습니다. 자세한 내용은 [듀얼 SCC 입력 파일을 임베디드 캡션으로 변환](converting-dual-scc-input-files-to-embedded-captions.md)을(를) 참조하세요.
+ 입력 캡션이 임베디드 또는 SCC가 아닌 경우 출력당 하나의 캡션 트랙만 포함시킬 수 있습니다. 각 출력에 하나의 캡션 설정 그룹만 포함시킵니다. **Captions source(캡션 소스)**에서 포함시킬 트랙에 대해 설정된 선택기를 선택합니다.

## MXF 출력의 임베디드 캡션 및 보조 캡션
<a name="embedded-and-ancillary-captions-in-mxf-outputs"></a>

MXF 출력에 보조 캡션이 포함될 수 있는지 여부는 MXF 프로파일에 따라 다릅니다.
+ MXF XDCAM HD: 이 MXF 프로파일은 smpte 436 트랙의 보조 데이터를 지정합니다. 이러한 출력을 통해 MediaConvert에서는 임베디드 캡션을 비디오 스트림에 포함시킬 뿐 아니라 smpte 436 보조 트랙에도 복사합니다.
+ MXF D-10: 이 MXF 프로파일 사양은 보조 데이터를 허용하지 않습니다. 따라서 MXF D-10 출력에는 비디오 스트림에 임베디드되어 있는 캡션만 있습니다.

MediaConvert는 다음 인코딩 설정의 값을 기반으로 출력의 MXF 프로파일을 결정합니다.
+ 해결 방법
+ 프레임 속도
+ 비디오 코덱 프로파일
+ 인터레이스 모드

이러한 설정에 대해 어떤 값이 어떤 MXF 프로파일에 유효한지에 대한 자세한 내용은 관련 사양을 참조하세요. XDCAM HD의 경우 IEEE Xplore Digital Library의 [RDD 9:2009 - SMPTE Standard Doc - MXF Interoperability Specification of Sony MPEG Long GOP Products](https://ieeexplore.ieee.org/document/7290306)를 참조하세요. MXF D-10의 경우 [ST 356:2001 - SMPTE Standard - For Television — Type D-10 Stream Specifications — MPEG-2 4:2:2P @ ML for 525/60 and 625/50](https://ieeexplore.ieee.org/document/7290684)을 참조하세요.

# DVB-Sub 출력 캡션
<a name="dvb-sub-output-captions"></a>

 이 섹션에서는에서 DVB-Sub 출력 캡션을 구성하는 방법을 다룹니다 AWS Elemental MediaConvert. 주요 주제는 다음과 같습니다.
+ 캡션을 지정하는 위치
+ 다중 캡션 트랙을 지정하는 방법
+ 글꼴 스크립트를 지정하는 방법

## 캡션을 지정하는 위치
<a name="where-dvb-sub-output-captions"></a>

비디오와 동일한 출력 그룹과 비디오와 동일한 출력에 캡션을 넣으세요.

## 다중 캡션 트랙을 지정하는 방법
<a name="multilang-dvb-sub-output-captions"></a>
+ 입력 캡션이 출력 캡션과 동일한 형식(전달)인 경우 하나의 캡션 설정 그룹만 생성해야 합니다. **Captions source(캡션 소스)**에서 선택하는 캡션 선택기에는 입력의 모든 트랙이 포함됩니다.
+ 입력 캡션이 다른 형식인 경우 각 트랙에 대해 하나씩 캡션 설정 그룹을 생성합니다. 각 캡션 설정 그룹을 동일한 출력에 넣습니다. 이 그룹은 설정 그룹 목록에 캡션 1, 캡션 2 등으로 나타납니다. 각 설정 그룹에서, 포함시킬 트랙에 대해 설정된 **Captions source(캡션 소스)**에서 캡션 선택기를 선택합니다.

## 글꼴 스크립트를 지정하는 방법
<a name="how-to-specify-lang-script-dvb-sub"></a>

AWS Elemental MediaConvert 는 출력 캡션 설정에서 지정한 언어에 따라 캡션에 적합한 스크립트를 자동으로 선택합니다. 선택한 언어에 맞는 스크립트가 둘 이상인 경우, 원하는 스크립트를 지정하세요.

**서비스에서 올바른 글꼴의 스크립트를 사용하도록 하려면**

1. **인코딩 설정** 아래 **캡션** 섹션에서 **언어**를 캡션 텍스트 언어로 선택합니다.

1. 지정한 언어에 맞는 스크립트가 둘 이상인 경우, **Font script(글꼴 스크립트)**를 사용하여 스크립트를 지정하세요.

   예를 들어 **Language(언어)**로 **중국어**(ZH)를 선택했다면 **Font script(글꼴 스크립트)**를 사용하여 **Simplified Chinese(간체)** 또는 **Traditional Chinese(번체)**를 선택합니다. 이 경우 **Font script(글꼴 스크립트)** 값을 지정하지 않으면 서비스는 기본적으로 Simplified Chinese(간체)를 사용합니다.
**작은 정보**  
대개는 **Font script(글꼴 스크립트)**의 기본값인 **Automatic(자동)**을 그대로 사용할 수 있습니다. 그 경우, 이 서비스는 캡션 텍스트의 언어를 기준으로 스크립트를 선택합니다.​

# IMSC, TTML 및 WebVTT(사이드카) 출력 옵션
<a name="ttml-and-webvtt-output-captions"></a>

 이 섹션에서는에서 IMSC, TTML 및 WebVTT(사이드카) 출력 캡션을 구성하는 방법을 다룹니다 AWS Elemental MediaConvert. 주요 주제는 다음과 같습니다.
+ 캡션을 지정하는 위치
+ 다중 캡션 트랙을 지정하는 방법
+ 사이드카 캡션 컨테이너 옵션

출력 캡션이 IMSC, TTML 또는 WebVTT 형식인 경우 다음 정보에 따라 출력에서 해당 형식을 설정합니다. IMSC 지원에 대한 지침은 [IMSC 요구 사항](imsc-captions-support.md)을(를) 참조하세요.

## 캡션을 지정하는 위치
<a name="where-ttml-and-webvtt-output-captions"></a>

캡션을 비디오와 동일한 출력 그룹에 넣지만 비디오와 다른 출력을 입력하세요.

출력에 캡션을 추가하고 난 후에는 서비스가 출력에서 자동 생성한 설정에서 **Video(비디오)** 및 **Audio 1(오디오 1)** 그룹을 삭제합니다.

**설정의 비디오 및 오디오 1 그룹을 삭제하려면**

1. **작업 생성** 페이지의 왼쪽에 있는 **작업** 창의 **출력 그룹**에서 삭제하려는 설정 그룹이 포함된 출력을 선택합니다.

1. 설정의 **Video(비디오)** 그룹이 **Stream settings(스트림 설정)** 섹션에 자동으로 표시됩니다. **Remove video selector(비디오 선택기 삭제)** 버튼을 선택합니다.

1. 설정의 **Audio 1(오디오 1)** 그룹이 **Stream settings(스트림 설정)** 섹션에 자동으로 표시됩니다. **Remove(삭제)** 버튼을 선택합니다.

## 다중 캡션 트랙을 지정하는 방법
<a name="multilang-ttml-and-webvtt-output-captions"></a>

각 캡션 트랙을 해당 자체 출력에 넣습니다.

**참고**  
작업에서 처음 지정하는 캡션 트랙이 HLS 매니페스트에서 기본 트랙으로 신호가 전송됩니다.

## 사이드카 캡션 컨테이너 옵션
<a name="sidecar-captions-container-options"></a>

출력 그룹에 따라 IMSC 및 TTML 캡션 출력에 대한 캡션 컨테이너를 선택할 수 있습니다.

**DASH ISO** 출력 그룹의 경우 다음 중에서 선택할 수 있습니다.
+ 조각화된 MP4(`.fmp4`)
+ 원시(IMSC의 경우 `.xml`, TTML의 경우 `.ttml`)

기타 모든 출력 그룹의 경우 IMSC 및 TTML 파일은 원시 파일입니다.

**DASH ISO 출력 그룹에서 IMSC 및 TTML 캡션에 대한 캡션 컨테이너를 지정하려면**

1. **DASH ISO** 출력 그룹에 있는 [ABR 스트리밍 출력 그룹에 출력 생성](setting-up-a-job.md#create-outputs-in-abr-streaming-output-groups)에서 설명한 대로 설정합니다. 캡션을 별도의 출력에 넣습니다.

1. **작업 생성** 페이지의 왼쪽 **작업** 창에서 캡션 출력을 선택합니다.

1. 오른쪽의 **Output settings(출력 설정)** 섹션에서 **컨테이너 설정**을 선택한 다음, **DASH container settings(DASH 컨테이너 설정)**을 활성화합니다.

1. **Captions container(캡션 컨테이너)**의 경우, 기본값인 **Raw**를 그대로 두거나 **조각화된 MPEG-4**를 선택합니다.

# SCC, SRT(사이드카) 출력 캡션
<a name="scc-srt-output-captions"></a>

 이 섹션에서는 SCC, SRT 및 SMI(사이드카) 출력 캡션을 구성하는 방법을 다룹니다 AWS Elemental MediaConvert. 주요 주제는 다음과 같습니다.
+ 캡션을 지정하는 위치
+ 다중 캡션 트랙을 지정하는 방법

## 캡션을 지정하는 위치
<a name="where-scc-srt-output-captions"></a>

캡션을 비디오와 동일한 출력 그룹에 넣지만 비디오와 다른 출력을 입력하세요.

출력에 캡션을 추가하고 난 후에는 서비스가 출력에서 자동 생성한 설정에서 **Video(비디오)** 및 **Audio 1(오디오 1)** 그룹을 삭제합니다.

**설정의 비디오 및 오디오 1 그룹을 삭제하려면**

1. **작업 생성** 페이지의 왼쪽에 있는 **작업** 창의 **출력 그룹**에서 삭제하려는 설정 그룹이 포함된 출력을 선택합니다.

1. 설정의 **Video(비디오)** 그룹이 **Stream settings(스트림 설정)** 섹션에 자동으로 표시됩니다. **Remove video selector(비디오 선택기 삭제)** 버튼을 선택합니다.

1. 설정의 **Audio 1(오디오 1)** 그룹이 **Stream settings(스트림 설정)** 섹션에 자동으로 표시됩니다. **Remove(삭제)** 버튼을 선택합니다.

## 다중 캡션 트랙을 지정하는 방법
<a name="multilang-scc-srt-output-captions"></a>

 SRT, SCC, SMI 출력에는 캡션 선택기당 출력이 하나씩 있어야 합니다. 각 설정 그룹에서, 포함시킬 트랙에 대해 설정된 **캡션 소스**에서 캡션 선택기를 선택합니다. 이 그룹은 설정 그룹 목록에 **캡션 선택기 1**, **캡션 선택기 2** 등으로 나타납니다.

# 텔레텍스트 출력 캡션
<a name="teletext-output-captions"></a>

 이 섹션에서는에서 텔레텍스트 출력 캡션을 구성하는 방법을 다룹니다 AWS Elemental MediaConvert. 주요 주제는 다음과 같습니다.
+ 텔레텍스트-텔레텍스트 패스스루
+ 텔레텍스트-텔레텍스트, 페이지 재매핑
+ 기타 캡션 형식의 텔레텍스트

출력 텔레텍스트 캡션 설정 방법은 캡션을 다른 텔레텍스트 페이지로 옮길 지, 아니면 입력에서 출력으로 캡션을 정확히 전달할지에 따라 달라집니다.

## 텔레텍스트-텔레텍스트 패스스루
<a name="teletext-to-teletext-passthrough"></a>

입력 캡션 형식이 텔레텍스트이고 출력 캡션을 입력과 동일한 스타일로 동일한 페이지에 배치하려는 경우 입력 캡션을 출력으로 전달하면 됩니다. 그러려면 다음과 같이 캡션을 설정해야 합니다.
+ 입력 캡션에 하나의 캡션 선택기가 설정되어 있는지 확인하세요. 자세한 내용은 [텔레텍스트 입력 캡션](teletext.md)을(를) 참조하세요.
+ 비디오와 동일한 출력 그룹과 동일한 출력으로 캡션 탭 하나를 만듭니다. 이 캡션 탭 하나에 보유한 출력 텔레텍스트 페이지 수에 상관없이 모든 출력 캡션이 표시됩니다.
+ 출력 캡션 탭에서 **캡션 소스**의 입력 캡션 선택기를 선택합니다.
+ 출력 캡션 탭에서 다른 설정 값을 지정하지 마세요.

JSON 작업 사양에서 직접 작업하는 경우 캡션 탭 하나는 `CaptionDescriptions` 하위 항목 하나에 해당합니다.

## 텔레텍스트-텔레텍스트, 페이지 재매핑
<a name="teletext-to-teletext-page-remapping"></a>

입력 캡션 형식이 텔레텍스트이고 출력에서 캡션이 있는 텔레텍스트 페이지를 변경하려면, 입력 및 출력에서 페이지를 지정합니다. 그러려면 다음과 같이 캡션을 설정해야 합니다.
+ 각 텔레텍스트 페이지에 대해 하나의 캡션 선택기로 입력 캡션을 설정하고 각 입력 캡션 선택기의 설정에서 페이지 번호를 지정합니다. 자세한 내용은 [텔레텍스트 입력 캡션](teletext.md)을(를) 참조하세요.
+ 비디오와 동일한 출력 그룹과 동일한 출력에서 각 출력 텔레텍스트 페이지에 대한 캡션 탭 하나를 만듭니다.
+ 각 출력 캡션 탭에서 **캡션 소스**의 입력 캡션 선택기 중 하나를 선택합니다.
+ 각 출력 캡션 탭에서 **페이지 번호**로 출력의 해당 캡션에 사용할 텔레텍스트 페이지 번호를 지정합니다. 아니면, **언어**, **설명**, **페이지 유형** 값을 입력합니다.

## 기타 캡션 형식의 텔레텍스트
<a name="teletext-from-other-captions-formats"></a>

입력 캡션이 텔레텍스트 형식이 아닌 경우 출력 캡션의 텔레텍스트 페이지를 지정해야 합니다. MediaConvert는 다음과 같은 캡션 워크플로를 지원합니다.
+ 단일 출력 텔레텍스트 페이지에 대한 단일 입력 캡션 트랙.
+ 다중 출력 텔레텍스트 페이지에 대한 단일 입력 캡션 트랙. 개별 출력 페이지가 다른 페이지 내용 복제.
+ 다중 출력 텔레텍스트 페이지에 대한 다중 입력 캡션 트랙. 캡션 선택기로 개별 출력 텔레텍스트 페이지에 포함할 캡션을 지정합니다.

다음과 같이 캡션을 설정합니다.
+ 입력 캡션에 텔레텍스트 페이지에 매핑하려는 개별 캡션 트랙에 대한 단일 캡션 선택기가 설정되어 있는지 확인하세요. 자세한 내용은 [입력 캡션 선택기 생성](including-captions.md#create-input-caption-selectors)을(를) 참조하세요.
+ 비디오와 동일한 출력 그룹과 동일한 출력에서 각 출력 텔레텍스트 페이지에 대한 캡션 탭 하나를 만듭니다.
+ 각 출력 캡션 탭에서 **캡션 소스**의 입력 캡션 선택기 중 하나를 선택합니다.
+ 각 출력 캡션 탭에서 **페이지 번호**로 출력의 해당 캡션에 사용할 텔레텍스트 페이지 번호를 지정합니다. 옵션으로 **언어**, **설명** 값을 제공합니다.

# 번인 출력 캡션
<a name="burn-in-output-captions"></a>

 이 섹션에서는에서 번인 출력 캡션을 구성하는 방법을 다룹니다 AWS Elemental MediaConvert. 주요 주제는 다음과 같습니다.
+ 캡션을 지정하는 위치
+ 다중 캡션 트랙을 지정하는 방법
+ 스타일 패스스루 사용 방법
+ 비영어 글꼴 및 지원되지 않는 문자

*번인*은 캡션 형식이라기보다는 캡션을 제공하는 방법입니다. 번인(Burn-in)은 비디오 콘텐츠의 픽셀을 캡션으로 대체하여 비디오 프레임에 직접 캡션을 작성합니다. 출력에 번인 캡션을 사용하려는 경우 다음 정보에 따라 캡션을 설정합니다.

## 캡션을 지정하는 위치
<a name="where-burn-in-output-captions"></a>

비디오와 동일한 출력 그룹과 비디오와 동일한 출력에 캡션을 넣으세요.

## 다중 캡션 트랙을 지정하는 방법
<a name="multilang-burn-in-output-captions"></a>

각 출력에서 한 트랙의 캡션만 번인(burn-in)할 수 있습니다.

## 스타일 패스스루 사용법
<a name="how-to-use-style-passthrough"></a>

출력 비디오에 표시되는 번인 캡션 텍스트의 스타일을 지정하는 방법을 선택할 수 있습니다. 스타일 패스스루, 기본 설정, 수동 재정의를 비롯한 몇 가지 옵션이 있습니다.

스타일 패스스루를 활성화하면 MediaConvert는 입력 캡션에서 사용 가능한 스타일과 위치 정보를 적용합니다. 누락된 스타일 정보가 있을 경우 MediaConvert는 기본 설정을 적용함에 유의하세요.

MediaConvert는 다음과 같은 입력 캡션 형식에 대한 스타일 패스스루를 지원합니다.
+ 보조
+ 임베디드
+ SCTE-20
+ SCC
+ TTML
+ STL (EBU STL)
+ SMPT-TT(텍스트 기반)
+ 텔레텍스트
+ IMSC
+ WebVTT

스타일 패스스루를 비활성화하면 MediaConvert는 입력의 스타일 정보를 무시하고 기본 설정(검은색 윤곽선이 있는 흰색 텍스트, 하단 가운데 위치 지정, 자동 크기 조정)을 적용합니다.

 스타일 패스스루 활성화 여부에 관계없이 개별 스타일 옵션의 수동 재정의를 선택할 수 있습니다.

**참고**  
TTML 및 유사 TTML(IMSC, SMPTE-TT) 입력에는 특별한 스타일 형식 요구 사항이 있습니다. 자세한 내용은 [TTML 스타일 형식 지정](ttml-style-formatting.md)을(를) 참조하세요.

## 글꼴 스크립트를 지정하는 방법
<a name="how-to-specify-the-language-script-burnin"></a>

AWS Elemental MediaConvert 는 출력 캡션 설정에서 지정한 언어에 따라 캡션에 적합한 스크립트를 자동으로 선택합니다. 선택한 언어에 맞는 스크립트가 둘 이상인 경우, 원하는 스크립트를 지정하세요.

**서비스에서 올바른 글꼴의 스크립트를 사용하도록 하려면**

1. **인코딩 설정** 아래 **캡션** 섹션에서 **언어**를 캡션 텍스트 언어로 선택합니다.

1. 지정한 언어에 맞는 스크립트가 둘 이상인 경우, **Font script(글꼴 스크립트)**를 사용하여 스크립트를 지정하세요.

   예를 들어 **Language(언어)**로 **중국어**(ZH)를 선택했다면 **Font script(글꼴 스크립트)**를 사용하여 **Simplified Chinese(간체)** 또는 **Traditional Chinese(번체)**를 선택합니다. 이 경우 **Font script(글꼴 스크립트)** 값을 지정하지 않으면 서비스는 기본적으로 Simplified Chinese(간체)를 사용합니다.
**작은 정보**  
대개는 **Font script(글꼴 스크립트)**의 기본값인 **Automatic(자동)**을 그대로 사용할 수 있습니다. 그 경우, 이 서비스는 캡션 텍스트의 언어를 기준으로 스크립트를 선택합니다.​

## 비 영어 글꼴 및 지원되지 않는 문자
<a name="non-english-unsupported"></a>

비 영어 글꼴 스크립트를 입력 글꼴로 사용하는 경우 출력 번인 캡션에 지원되지 않는 유니코드 문자 `□`이(가) 포함될 수 있습니다. 해결하려면 **스타일 패스스루**를 **활성화**합니다.

# 접근성 캡션 설정
<a name="accessibility-captions"></a>

HLS 또는 CMAF HLS 출력을 생성하고 ISMC 또는 WebVTT 캡션 트랙을 포함하는 경우 캡션의 접근성 속성을 출력 매니페스트에 추가할 수 있습니다. MediaConvert는 [Apple 디바이스용 HLS 작성 사양](https://developer.apple.com/documentation/http_live_streaming/hls_authoring_specification_for_apple_devices)의 섹션 4.5와 4.6에 따라 이러한 속성을 추가합니다.

**접근성 자막**(`accessibility`)을 **활성화**(`ENABLED`)하면 MediaConvert는 다음의 속성을 매니페스트에 있는 캡션 트랙에 추가합니다(`EXT-X-MEDIA` 아래 `CHARACTERISTICS="public.accessibility.describes-spoken-dialog,public.accessibility.describes-music-and-sound"` 및 `AUTOSELECT="YES"`).

접근성 제공 용도의 캡션 트랙이 아닌 경우 기본값인 **비활성화**(`DISABLED`)를 유지합니다. MediaConvert는 이전 단락의 속성을 추가하지 않게 됩니다.

# 출력 그룹을 사용하여 스트리밍 패키지 유형 또는 독립 실행형 파일 지정
<a name="outputs-file-ABR"></a>

AWS Elemental MediaConvert 출력 함수는 출력 함수가 속한 출력 그룹 유형에 따라 다릅니다.

파일  
 **File(파일)** 출력 그룹에서 설정하는 개별 출력은 독립 실행형 출력 파일이 됩니다.  
예를 들어, 비디오, 오디오, 캡션이 모두 포함된 출력 하나를 설정할 수 있습니다. TTML과 같은 사이드카 캡션에 대해 별도로 출력을 설정할 수도 있습니다.

스트리밍 출력 패키지  
다음 출력 그룹에서 설정하는 출력은 단일 가변 비트레이트(ABR) 스트리밍 패키지 CMAF, Apple HLS, DASH ISO, Microsoft Smooth Streaming의 별도 부분입니다.

ABR 출력 그룹에 있는 개별 출력은 일반적으로 미디어의 한 요소입니다. 즉 각 출력은 가변 비트레이트(ABR) 스택에 있는 변환 하나입니다. 예를 들어, 비디오의 세 가지 해상도에 대한 출력, 두 개의 오디오 언어 트랙에 대한 출력, 두 개의 캡션 언어에 대한 출력이 있을 수 있습니다.

다음 그림에서 ABR 출력 그룹의 출력과 MediaConvert가 생성하는 파일 간의 관계를 알 수 있습니다. 각 주황색 상자는 출력 그룹 내의 출력 하나에 해당합니다. 이 예제에는 세 가지 비디오 해상도, 두 가지 언어로 된 오디오, 두 가지 언어로 된 캡션이 있습니다. 패키지에는 세그먼트화된 오디오, 비디오 및 캡션 파일과 플레이어에게 어떤 파일을 다운로드하고 다운로드한 파일을 언제 재생할지 알려주는 매니페스트 파일이 들어 있습니다.

![\[ABR 스택의 각 변환에는 출력 그룹에 고유의 출력이 있습니다.\]](http://docs.aws.amazon.com/ko_kr/mediaconvert/latest/ug/images/ABRsegSeparately.png)


단일 작업은 0에서 다수의 독립 실행형 파일과 0개에서 다수에 이르는 스트리밍 패키지를 생성할 수 있습니다. 두 개 이상의 독립 실행형 파일을 생성하려면 단일 파일 출력 그룹을 작업에 추가하고 여러 개의 출력을 해당 출력 그룹에 추가합니다. 두 개 이상의 스트리밍 패키지를 생성하려면 **CMAF**, **AppleHLS**, **DASH ISO** 또는 **Microsoft Smooth Streaming** 출력 그룹을 작업에 여러 개 추가합니다.

다음 도해는 독립 실행형 .mp4 파일 두 개, Apple HLS 패키지 두 개, CMAF 패키지 하나를 생성하는 Apple HLSMediaConvert 작업을 나타낸 것입니다. CMAF 출력이 두 개인 파일 출력 그룹 하나는 독립 실행형 파일 두 개가 됩니다. 출력이 7개인 Apple HLS 출력 그룹 하나는 변환이 7개인 볼 수 있는 패키지 하나가 됩니다.

![\[두 개의 독립 실행형 .mp4 파일, 두 개의 Apple HLS 패키지, 하나의 CMAF 패키지를 생성하는 MediaConvert 작업.\]](http://docs.aws.amazon.com/ko_kr/mediaconvert/latest/ug/images/jobSetupToOutput.png)


작업 내의 출력 그룹 및 출력 설정에 대한 자세한 내용은 [자습서: 작업 설정 구성](setting-up-a-job.md)을(를) 참조하세요.

# 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 이상을 사용하여 애셋을 재생할 수 있습니다.

# 비디오 품질을 위한 권장 인코딩 설정
<a name="video-quality"></a>

작업을 생성할 때 선택하는 AWS Elemental MediaConvert인코딩 설정은 비디오 품질, 파일 크기 및 플레이어 호환성에 영향을 미칩니다.

MediaConvert가 균형 잡힌 출력 파일 크기로 비디오 품질에 가장 적합한 인코딩 설정을 자동으로 선택하도록 작업을 구성할 수 있습니다. 또는 출력 또는 전송 요구 사항에 맞게 인코딩 설정을 수동으로 지정할 수 있습니다.

이 섹션에서는 기본 개념을 소개하고, 일반적인 설정을 설명하며, 비디오 품질에 최적화된 설정을 선택하기 위한 안내를 제공합니다.

**Topics**
+ [GOP 구조 및 프레임 유형에 대한 참조](#gop-structure)
+ [GOP 크기 권장 설정](#gop-size-settings)
+ [참조 프레임 간 B-프레임 권장 설정](#reference-frames)
+ [닫힌 GOP 케이던스 권장 설정](#closed-gop-cadence)
+ [동적 하위 GOP 권장 설정](#dynamic-sub-gop)
+ [GOP 참조 B-프레임 권장 설정](#gop-reference-b-frames)
+ [최소 I-간격 권장 설정](#min-i-interval)
+ [적응 양자화 권장 설정](#adaptive-quantization)

## GOP 구조 및 프레임 유형에 대한 참조
<a name="gop-structure"></a>

작업을 생성할 때 출력을 위해 선택하는 사진 그룹(GOP) 설정은 비디오 품질과 플레이어 호환성에 영향을 줍니다. 이 섹션에서는 기본 GOP 개념을 소개하고, 일반적인 GOP 설정을 설명하며, 비디오 품질에 최적화된 설정을 선택하기 위한 안내를 제공합니다.

GOP는 압축된 비디오 프레임 유형의 특정 배열입니다. 프레임 유형에는 다음이 포함됩니다.

 **I-Frames**   
인트라 코딩된 프레임. 디코더가 프레임을 디코딩하는 데 사용하는 모든 정보가 포함됩니다. 일반적으로 I-프레임은 비디오 스트림 내에서 가장 많은 비트 수를 사용합니다.

 **IDR-Frames**   
IDR(Instantaneous Decoder Refresh) 프레임. I-프레임과 마찬가지로, 디코더가 프레임을 디코딩하는 데 사용하는 모든 정보가 포함됩니다. 단, 프레임은 IDR 프레임 앞에 오는 프레임을 참조할 수 없습니다.

 **P-Frames**   
예측 프레임. 현재 프레임과 그 이전의 하나 이상의 프레임 간의 차이가 포함됩니다. P-프레임은 I-프레임보다 압축률이 훨씬 뛰어나며, 비디오 스트림 내에서 사용하는 비트 수도 적습니다.

 **B-Frames**  
양방향 예측 프레임. 현재 프레임과 이전 또는 이후의 하나 이상의 프레임 간의 차이가 포함됩니다. B-프레임은 압축률이 가장 높고, 비디오 스트림 내에서 가장 적은 비트 수를 사용합니다.

일반적인 GOP는 IDR 프레임으로 시작하여 B-프레임과 P-프레임의 반복 패턴으로 진행합니다. 예: `IDRBBPBBPBBPBB`

다음 토픽에서는 개별 GOP 설정에 대한 추가 정보를 제공하고 비디오 품질에 최적화된 설정을 권장합니다.

## GOP 크기 권장 설정
<a name="gop-size-settings"></a>

GOP 크기는 GOP의 프레임 수이며, IDR 프레임 간의 간격을 정의합니다. 예를 들어, GOP가 IDR 프레임으로 시작하고 B-프레임과 P-프레임 조합이 29개인 경우 GOP 크기는 30프레임입니다.

일반적인 GOP 크기는 1\$12초이며, 비디오 프레임 속도에 상응합니다. 예를 들어, 출력 프레임 속도가 초당 30프레임인 경우 일반적인 GOP 크기는 30 또는 60프레임입니다.

출력 비디오 코덱을 `AVC (H.264)` 또는 `HEVC (H.265)`(으)로 설정하는 경우 **GOP 모드 제어**(을)를 `Auto`(으)로 설정하세요. 이렇게 하면 MediaConvert는 최적의 GOP 크기를 선택할 수 있습니다.

**참고**  
HLS, DASH, CMAF, MSS 등의 스트리밍 비디오 형식에서는 조각 또는 세그먼트 길이가 GOP 크기의 배수여야 합니다. 자세한 내용은 [스트리밍 출력을 위한 조각 길이 설정](setting-the-fragment-length.md)을(를) 참조하세요. 이러한 비디오 형식에 대해 GOP 모드 제어를 자동으로 설정하면, MediaConvert는 조각 또는 세그먼트 길이를 기준으로 호환되고 최적화된 GOP 크기를 자동으로 선택합니다.

## 참조 프레임 간 B-프레임 권장 설정
<a name="reference-frames"></a>

MediaConvert가 참조 프레임 사이에 사용할 수 있는 B-프레임의 최대 수를 정의합니다.

**GOP 참조 B-프레임**이 `Disabled`로 설정된 경우 일반적인 값은 1 또는 2이고, **GOP 참조 B-프레임**이 `Enabled`로 설정된 경우에는 3\$15입니다.

출력 비디오 코덱을 `AVC (H.264)` 또는 `HEVC (H.265)`(으)로 설정하는 경우 **참조 프레임 사이의 B 프레임**를 공백으로 유지하세요. 이렇게 하면 MediaConvert는 참조 프레임 사이에서 최적의 B-프레임 수를 선택할 수 있습니다.

## 닫힌 GOP 케이던스 권장 설정
<a name="closed-gop-cadence"></a>

**닫힌 GOP 케이던스**는 P-프레임 또는 B-프레임이 참조할 수 있는 GOP 수를 정의합니다. GOP는 *열기* 또는 *종결됨*일 수 있습니다. 열린 GOP에는 다른 GOP의 프레임을 참조하는 프레임이 있을 수 있지만, 닫힌 GOP에는 해당 GOP 자체 내에서만 참조하는 프레임이 있습니다.

출력 비디오 코덱을 `AVC (H.264)` 또는 `HEVC (H.265)`로 설정하는 경우 MediaConvert가 최적의 닫힌 GOP 케이던스를 선택할 수 있도록 **닫힌 GOP 케이던스**를 공백으로 유지하세요.

## 동적 하위 GOP 권장 설정
<a name="dynamic-sub-gop"></a>

동적 하위 GOP는 움직임이 많은 콘텐츠의 주관적인 비디오 품질을 개선할 수 있습니다. 이를 위해 B-프레임 수를 다양하게 설정할 수 있습니다.

출력 비디오 코덱을 `AVC (H.264)` 또는 `HEVC (H.265)`(으)로 설정하는 경우 **동적 서브 GOP**를 `Adaptive`(으)로 설정하세요. 이렇게 하면 MediaConvert는 최적의 하위 GOP를 결정할 수 있습니다.

## GOP 참조 B-프레임 권장 설정
<a name="gop-reference-b-frames"></a>

출력 비디오 코덱을 `AVC (H.264)` 또는 `HEVC (H.265)`(으)로 설정하는 경우 다른 프레임 유형에서 B-프레임을 참조할 수 있도록 **GOP 참조 B-프레임**(을)를 `Enabled`(으)로 설정하세요. 이렇게 하면 비트레이트와 관련하여 출력의 비디오 품질이 향상됩니다.

## 최소 I-간격 권장 설정
<a name="min-i-interval"></a>

최소 I-간격은 IDR-프레임 사이에 최소 프레임 수를 적용합니다. 여기에는 GOP 시작 시 또는 장면 변경 감지를 통해 생성된 프레임이 포함됩니다. 최소 I-간격을 사용하여 2개의 IDR-프레임이 서로 가까운 곳에서 생성될 때 GOP 크기를 변경하여 비디오 압축을 개선합니다.

출력 비디오 코덱을 `AVC (H.264)` 또는 `HEVC (H.265)`(으)로 설정하는 경우 **최소 I-간격**을 공란으로 유지하세요. 이렇게 하면 MediaConvert는 최적의 최소 I-간격을 선택할 수 있습니다.

## 적응 양자화 권장 설정
<a name="adaptive-quantization"></a>

적응 양자화는 깜박임, 공간 및 시간 양자화를 포함하여 MediaConvert가 사용하는 다양한 양자화 모드에 적용되는 강도를 선택합니다. MediaConvert는 적응 양자화를 사용하여 비디오의 복잡성에 따라 비트를 할당합니다.

출력 비디오 코덱을 `AVC (H.264)`, `HEVC (H.265)` 또는 `XAVC`로 설정하는 경우 MediaConvert가 최적의 적응 양자화를 선택할 수 있도록 **적응 양자화**를 `Auto`로 설정합니다.

# 작업 설정에서 변수 사용
<a name="using-variables-in-your-job-settings"></a>

작업 설정에서 *format identifiers(형식 식별자)*라고도 하는 변수를 사용할 수 있습니다. 형식 식별자는 입력 파일 또는 작업의 특성에 따라 출력에서 다르게 해결되는 작업 설정에 넣을 수 있는 값입니다. 이들은 출력 사전 설정, 작업 템플릿, 복제 및 재사용하려는 작업에 특히 유용합니다. 변수는 대/소문자를 구분합니다.

예를 들어, **대상** 설정에 날짜 형식 식별자 `$d$`(을)를 사용할 수 있습니다. 작업이 시작되는 날짜와 시간으로 출력을 정리하게 하려면 **대상**에 **s3://amzn-s3-demo-bucket1/\$1d\$1/**을(를) 입력하세요. 2020년 6월 4일에 시작하는 작업에 대한 서비스는 `s3://amzn-s3-demo-bucket1/20200604/`에 출력을 생성합니다.

사용 가능한 형식 식별자 목록 및 사용 방법에 대한 예제는 [설정 변수 목록 및 예제](#list-of-settings-variables-with-examples)을(를) 참조하세요.

스트리밍 출력에서 다르게 작동하는 형식 식별자에 대한 자세한 내용은 [스트리밍 출력과 함께 설정 변수 사용](#using-settings-variables-with-streaming-outputs)을(를) 참조하세요.

**Topics**
+ [설정 변수 목록 및 예제](#list-of-settings-variables-with-examples)
+ [스트리밍 출력과 함께 설정 변수 사용](#using-settings-variables-with-streaming-outputs)
+ [최소 자릿수 지정](#specifying-a-minimum-number-of-digits)

## 설정 변수 목록 및 예제
<a name="list-of-settings-variables-with-examples"></a>

다음 표에는 AWS Elemental MediaConvert 작업에 사용할 수 있는 각 형식 식별자에 대한 정보가 나와 있습니다. 스트리밍 출력에서 다르게 작동하는 형식 식별자에 대한 자세한 내용은 [스트리밍 출력과 함께 설정 변수 사용](#using-settings-variables-with-streaming-outputs)을(를) 참조하세요.


| 형식 식별자 | 작업 설정 값 | 호환 가능한 작업 설정 | 설명 및 예제 | 
| --- |--- |--- |--- |
| Date and time |  `$dt$`  |  Destination 이름 수정자 세그먼트 수정자  |  작업 시작 날짜와 시간(UTC) 형식: YYYYMMDDTHHMMSS 예제: 2020년 6월 4일 오후 3시 05분 28초에 시작하는 작업의 경우, **\$1dt\$1**은(는) `20200604T150528`이(가) 됩니다.  | 
| Date |  `$d$`  |  Destination 이름 수정자 세그먼트 수정자  |  작업 시작 날짜(UTC)  형식: YYYYMMDD 예제: 2020년 6월 4일에 시작하는 작업의 경우, **\$1d\$1**은(는) `20200604`이(가) 됩니다.  | 
| Time |  `$t$`  |  Destination 이름 수정자 세그먼트 수정자  |  작업 시작 시간(UTC)  형식: HHMMSS 예제: 오후 3시 05분 28초에 시작하는 작업의 경우, **\$1t\$1**은(는) `150528`이(가) 됩니다.  | 
| Video bitrate |  `$rv$`  |  이름 수정자 세그먼트 수정자  |  출력의 비디오 비트레이트(킬로비트)입니다. QVBR 출력의 경우, 서비스에서 최대 비디오 비트레이트(킬로비트)를 사용합니다. 예제: **Encoding settings(인코딩 설정)**, **Video(비디오)**, **비트레이트(bits/s)**를 **50000000**(으)로 설정하면, **\$1rv\$1**은(는) `50000`이(가) 됩니다.  | 
| Audio bitrate |  `$ra$`  |  이름 수정자 세그먼트 수정자  |  출력의 모든 오디오 비트레이트(킬로비트)의 합계입니다. 예제: 단일 오디오 탭이 있는 출력이 있고 **Encoding settings(인코딩 설정)**, **Audio 1(오디오 1)**, **비트레이트(kbit/s)**가 **256000**인 경우, **\$1ra\$1**는 `256000`이(가) 됩니다.  | 
| Container bitrate |  `$rc$`  |  이름 수정자 세그먼트 수정자  |  출력에 대한 오디오 및 비디오 결합 비트레이트(킬로비트). 예제: **Video(비디오)** 설정 탭과 **Audio 1(오디오 1)** 설정 탭이 있는 출력이 있습니다. **Encoding settings(인코딩 설정)**, **Video(비디오)**, **비트레이트(bits/s)**를 **5000000**으로 설정하고 **Encoding settings(인코딩 설정)**, **Audio(오디오)**, **비트레이트(bits/s)**를 **96000**(96킬로비트)으로 설정한 경우, **\$1rc\$1**는 `5096`이 됩니다.  | 
| Video frame width |  `$w$`  |  이름 수정자 세그먼트 수정자  |  프레임 너비 또는 수평 해상도(픽셀 단위)입니다. 예제: **Encoding settings(인코딩 설정)**, **Video(비디오)**, **해상도(w x h)**를 **1280**x**720**으로 설정하면 **\$1w\$1**은(는) `1280`이(가) 됩니다.  | 
| Video frame height |  `$h$`  |  이름 수정자 세그먼트 수정자  |  프레임 높이 또는 세로 해상도(픽셀 단위)입니다. 예제: **Encoding settings(인코딩 설정)**, **Video(비디오)**, **해상도(w x h)**를 **1280**x**720**으로 설정하면 **\$1h\$1**은(는) `720`이(가) 됩니다.  | 
| Framerate |  `$f$`  |  이름 수정자 세그먼트 수정자  |  프레임 속도(초당 프레임 수)는 정수만 남기고 자릅니다. 예제: 프레임 속도가 **59.940**인 경우 **\$1f\$1**은(는) `59`이(가) 됩니다.  | 
| Input file name |  `$fn$`  |  Destination 이름 수정자 세그먼트 수정자  |  파일 확장명이 없는 입력 파일의 이름 다중 입력이 있는 작업의 경우 작업에서 지정된 첫 번째 파일입니다. 예제: 작업의 **Input 1(입력 1)**이 **s3://amzn-s3-demo-bucket/my-video.mov**인 경우, **\$1fn\$1**은(는) `my-video`이(가) 됩니다.  | 
| Output container file extension |  `$ex$`  |  이름 수정자 세그먼트 수정자  |  출력 그룹에 따라 다릅니다. **File group(파일 그룹)** 출력의 경우, 출력 컨테이너 파일의 확장자입니다. 다른 출력 그룹의 경우에는 매니페스트의 확장자입니다. 파일 그룹 예제: **MPEG2-TS**를 **Output settings(출력 설정)**, **Container(컨테이너)**에 대해 선택하는 경우, **\$1ex\$1**은(는) `m2ts`이(가) 됩니다. HLS 그룹의 예제: 출력 그룹이 HLS이면 **\$1ex\$1**은(는) `m3u8`이(가) 됩니다.  | 
| \$1 |  `$$`  |  이름 수정자 세그먼트 수정자  |  이스케이프된 `$`. 예제:  다음 값을 제공한다고 가정해 보세요.   입력 파일 이름: **file1.mp4**   대상: **s3://amzn-s3-demo-bucket/**   이름 수정자: **my-video\$1\$1hi-res-**   출력 파일 이름과 경로는 `s3://amzn-s3-demo-bucket/my-video$hi-res-file1.mp4`가 됩니다.  | 

## 스트리밍 출력과 함께 설정 변수 사용
<a name="using-settings-variables-with-streaming-outputs"></a>

*format identifiers(형식 식별자)*라고도 하는 작업 설정의 변수는 Apple HLS 및 DASH ISO 출력 그룹의 출력에 대해 다르게 작동합니다. 차이점은 다음과 같습니다.

**Apple HLS 출력의 경우**  
**세그먼트 수정자** 설정에서 날짜 및 시간 형식 식별자(`$dt$`, `$t$`, `$d$`)를 사용하면, 이러한 형식 식별자는 작업 시작 시간이 아닌 각 세그먼트의 완료 시간이 됩니다.

**참고**  
가속화된 트랜스코딩을 사용하는 작업의 경우 세그먼트가 동시에 완료될 수 있습니다. 즉, 날짜 및 시간 형식 식별자가 항상 고유한 값이 되지는 않습니다.

**DASH ISO 출력의 경우**  
**Name modifier(이름 수정자)** 설정에서 두 개의 추가 형식 식별자를 사용할 수 있습니다. 이는 출력 파일 이름 외에 DASH 매니페스트에 영향을 줍니다. 식별자는 다음과 같습니다.

\$1Number\$1  
출력 파일 이름에서 `$Number$`은(는) 1에서 시작해서 증가하는 일련의 숫자가 됩니다. 이는 세그먼트 파일 이름의 기본 9자리 세그먼트 번호를 대체합니다. 예제:   
+ **video\$1\$1Number\$1**을(를) **Name modifier(이름 수정자)**로 지정하면 서비스는 `video_1.mp4`, `video_2.mp4` 등으로 명명된 세그먼트 파일을 작성합니다.
+ **video\$1**만 **Name modifier(이름 수정자)**(으)로 지정하면 서비스는 `video_000000001.mp4`, `video_000000002.mp4` 등으로 명명된 세그먼트 파일을 작성합니다.
DASH 매니페스트에는 다음과 같이 `SegmentTemplate` 및 AWS Elemental MediaConvert `duration``startNumber`가 포함됩니다. `<SegmentTemplate timescale="90000" media="main_video_$Number$.mp4" initialization="main_video_$Number$init.mp4" duration="3375000"/>`   
출력에서 `$Number$` 형식 식별자를 사용하는 경우, 출력 그룹의 다른 모든 출력에서도 해당 형식 식별자를 사용해야 합니다.

\$1Bandwidth\$1   
출력 파일 이름에서 `$Bandwidth$`은(는) 출력의 **Video(비디오)**, **Bitrate(비트레이트)** 값 및 **Audio(오디오)**, **Bitrate(비트레이트)** 값을 더한 값이 됩니다. 이 형식 식별자를 포함하는지 여부에 관계없이 서비스는 세그먼트 파일 이름에 9자리 세그먼트 번호 부여를 사용합니다.  
예를 들어 다음 값을 지정한다고 가정해 보겠습니다.  
+ **Video(비디오)**, **비트레이트(bits/s)**: **50000000** 
+  **Audio(오디오)**, **비트레이트(kbits/s)**: **96.0**(96,000 bits/s)
+ **이름 수정자**: **video\$1\$1Bandwidth\$1**
\$1Bandwidth\$1의 값은 50,096,000이 됩니다. 이 서비스는 `video_50096000_000000001.mp4`, `video_50096000_000000002.mp4` 등으로 명명된 세그먼트 파일을 생성합니다.  
매니페스트에서 다음과 같이 `SegmentTemplate` 요소 `startNumber` 내에 `duration` 및를 AWS Elemental MediaConvert 포함합니다`<SegmentTemplate timescale="90000" media="main_video_$Bandwidth$.mp4" initialization="main_video_$Bandwidth$init.mp4" duration="3375000"/>`.

\$1Time\$1  
출력 파일 이름에서 `$Time$`은(는) 세그먼트의 지속 시간(밀리초)이 됩니다. 이 형식 식별자를 포함하면 서비스는 세그먼트 파일 이름에 9자리 세그먼트 번호 부여를 사용하지 않습니다.  
예를 들어, **video180\$1\$1\$1Time\$1**을(를) **Name modifier(이름 수정자)**로 지정하면 서비스는 `video180__345600.mp4`, `video180__331680.mp4` 등으로 명명된 세그먼트 파일을 작성합니다. 이 예제에서 세그먼트 지속 시간은 345,600ms와 331,680ms입니다.  
매니페스트에서는 다음과 같이 `SegmentTemplate` 요소 `SegmentTimeline` 내부를 AWS Elemental MediaConvert 포함합니다.  

```
<Representation id="5" width="320" height="180" bandwidth="200000" codecs="avc1.4d400c">
        <SegmentTemplate media="video180_$Time$.mp4" initialization="videovideo180_init.mp4">
          <SegmentTimeline>
            <S t="0" d="345600" r="2"/>
            <S t="1036800" d="316800"/>
          </SegmentTimeline>
        </SegmentTemplate>
      </Representation>
```
출력에서 `$Time$` 형식 식별자를 사용하는 경우, 출력 그룹의 다른 모든 출력에서도 해당 형식 식별자를 사용해야 합니다.

\$1RepresentationID\$1  
출력 파일 이름에서는 작업 설정에서 출력의 숫자 순서로 `$RepresentationID$` 해석합니다.  
매니페스트에서는 `SegmentTemplate` 요소의이 식별자를 AWS Elemental MediaConvert 사용하여 각 표현에 대한 올바른 경로를 참조합니다.  
이 형식 식별자는 표현 ID로 DASH 출력을 구성해야 할 때 특히 유용합니다.

## 최소 자릿수 지정
<a name="specifying-a-minimum-number-of-digits"></a>

숫자를 반환하는 형식 식별자의 경우, 형식 식별자가 해석할 최소 자릿수를 지정할 수 있습니다. 이렇게 하면 서비스는 더 적은 자릿수를 반환하는 모든 값 앞에 패딩으로 0을 추가합니다.

다음 구문을 사용하여 자릿수를 지정합니다. **%0[number of digits]** 형식 식별자의 마지막 `$` 바로 앞에 이 값을 넣으세요.

예를 들어, 비디오 프레임 높이가 720이고 파일 이름에 `0720`와(과) 같이 최소 4자리를 지정한다고 가정합니다. 이를 수행하려면 다음 형식 식별자를 사용하세요. **\$1h%04\$1** 

**참고**  
지정한 자릿수로 표현하기에는 너무 큰 값은 더 많은 자릿수가 됩니다.