

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

# 파이프라인 잠금 구현
<a name="pipeline-lock"></a>

파이프라인 잠금을 사용하여 출력을 동기화하도록 MediaLive를 구성할 수 있습니다. 파이프라인 잠금은 표준 채널(파이프라인 2개)과 연결된 채널을 사용하는 단일 파이프라인 채널에서 작동합니다. 파이프라인 잠금은 출력이 서로 프레임 정확도를 유지하도록 합니다. 파이프라인 잠금은 기본적으로 활성화되어 있습니다.

파이프라인 잠금이 활성화된 경우. MediaLive는 최선을 다해 파이프라인을 잠급니다. 파이프라인 잠금이 불가능한 경우 처리가 계속됩니다. 파이프라인을 잠글 수 없는 것은 장애 조건으로 간주되지 않습니다.

파이프 잠금의 기본 모드는 파이프라인 잠금입니다. 해당하는 출력 유형에서는 파이프라인 잠금을 비활성화할 수 없습니다. 하지만 동작이 워크플로에 적합하도록 동작을 구성해야 합니다.

**참고**  
*출력 잠금*이라는 용어가 익숙하실 수 있으나 MediaLive에서는 *파이프라인 잠금*이라는 용어를 사용합니다. 어떤 용어를 사용하든 프레임 단위로 일치하는 출력이라는 동일한 결과를 냅니다.

**파이프라인 잠금 모드**

두 가지 출력 잠금 모드가 있습니다.
+ 파이프라인 잠금(기본값): 두 파이프라인을 서로 잠급니다.
+ 에폭 잠금: Unix 에폭을 참조로 사용하여 파이프라인을 잠급니다.

**파이프라인 잠금 방법**

파이프라인 잠금 모드를 사용하는 경우 MediaLive가 파이프라인을 동기화하는 데 사용하는 방법을 선택할 수 있습니다.
+ 소스 타임코드(기본값): MediaLive는 입력 소스의 임베디드 타임코드를 사용하여 파이프라인을 동기화합니다. 이 방법은 안정적인 타임코드에 가장 적합합니다.
+ 비디오 정렬: MediaLive는 인코더 간의 시각적 서명 비교를 사용하여 파이프라인을 동기화합니다. 이 방법은 임베디드 타임코드가 필요하지 않으며 입력 소스에 타임코드가 없거나 신뢰할 수 없는 타임코드가 있는 경우에 유용합니다. 자세한 내용은 [비디오 정렬 파이프라인 잠금 요구 사항](pipeline-locking-verify-input.md#pipeline-locking-video-alignment-inputs) 단원을 참조하십시오.

**적용 가능한 출력**

**소스 타임코드** 파이프라인 잠금은 다음 유형의 출력에만 적용됩니다.
+ HLS(라이브 모드)
+ MediaPackage
+ CMAF Ingest
+ Microsoft Smooth
+ 세그먼트화된 UDP 출력입니다. 세그먼트화된 출력에 대해 UDP 출력 그룹을 구성했을 수 있습니다. 확인하려면 UDP 출력 그룹에서 **출력을** 선택한 다음 **네트워크 설정을** 선택하고 **컨테이너 설정을** 선택합니다. *세분화*라는 용어로 시작하는 세 개의 필드를 찾습니다.

**비디오 정렬** 파이프라인 잠금은 다음 유형의 출력에만 적용됩니다.
+ HLS(라이브 모드)
+ CMAF Ingest

채널에는 다른 유형의 출력이 포함될 수 있지만 MediaLive는 출력을 잠그려고 하지 않습니다. 즉, 이러한 다른 출력 그룹에서는 두 파이프라인의 콘텐츠가 서로 프레임 단위로 일치할 것을 보장할 수 없습니다.

**Topics**
+ [입력 및 출력 요구 사항](pipeline-locking-verify-input.md)
+ [잠금 설정](pipeline-locking-set-up.md)
+ [문제 해결](pipeline-locking-tshoot.md)

# 입력 및 출력 요구 사항
<a name="pipeline-locking-verify-input"></a>

MediaLive가 파이프라인을 잠그려면 채널에 다음 조건이 적용되어야 합니다. 파이프라인 잠금이 불가능한 경우 처리가 계속됩니다. 필요한 조건이 다시 적용되면 MediaLive가 다시 잠그기 시작합니다.

## HLS 입력에 대한 지원 없음
<a name="pipeline-locking-verify-no-hls"></a>

채널에는 HLS 입력을 포함할 수 없습니다.

채널에 HLS 입력이 포함된 경우 MediaLive는 채널에서 파이프라인 잠금 시도를 중지합니다. 채널이 다른 입력으로 전환된 후에도 파이프라인 잠금은 재개되지 않습니다.

## 입력에는 임베디드 타임코드(소스 타임코드 메서드)가 포함되어야 합니다.
<a name="pipeline-locking-embedded-tcode"></a>

소스 타임코드 파이프라인 잠금 방법(기본값)을 사용하는 경우 입력에 임베디드 타임코드가 포함되어야 합니다. 다음 규칙이 적용됩니다.
+ 소스 타임코드 메서드를 사용하는 경우 입력에 임베디드 타임코드가 있어야 합니다. 이 요구 사항은 파이프라인 잠금 모드와 에포크 잠금 모드 모두에 적용됩니다.
+ 에폭 잠금 모드의 경우 임베디드 타임코드는 에폭 시간으로부터 2분 이내여야 합니다. 타임코드가 2분 이상 꺼져 있는 경우 MediaLive는 소스가 파이프라인 잠금 요구 사항을 충족하지 않는다고 간주합니다.

MediaLive는 현재 소스에서 임베디드 타임코드를 지속적으로 검사합니다. 타임코드를 감지하지 못하면 파이프라인 잠금 시도가 일시적으로 중지됩니다.

## 비디오 정렬 파이프라인 잠금 요구 사항
<a name="pipeline-locking-video-alignment-inputs"></a>

비디오로 정렬된 파이프라인 잠금(**파이프라인 잠금 방법을** **VIDEO\$1ALIGNMENT**로 설정)을 사용하는 경우 임베디드 타임코드가 필요하지 않습니다.

**입력 요구 사항**

특정 입력 유형은 비디오 정렬과 호환되지 않습니다.
+ 파일 입력(MP4\$1FILE, TS\$1FILE)
+ HLS 입력(HLS 콘텐츠가 포함된 URL\$1PULL)
+ RTMP\$1PULL 입력

호환되지 않는 입력 유형이 활성화되면 비디오 정렬 파이프라인 잠금이 "개방 루프" 모드(잠금 해제됨)에서 실행되지만 계속 처리됩니다. 일부 입력이 호환되지 않을 수 있는 입력 전환 워크플로를 지원하는 검증 오류가 발생하지 않습니다.

다른 모든 입력 유형의 경우 비디오 정렬 파이프라인 잠금은 시각적 서명 비교를 사용하여 파이프라인을 동기화합니다. 동기화에 성공하려면 두 파이프라인 모두 동일한 비디오 콘텐츠를 수신해야 합니다.

## 프레임 속도 요구 사항
<a name="pipeline-locking-requirements-frame-rate"></a>

입력 프레임 속도(또는 프레임 속도)와 원하는 출력 프레임 속도 간의 변환은 *간단*해야 합니다. 따라서 다음 명령문 중 하나에 해당해야 합니다.
+ 출력 프레임 속도는 입력 프레임 속도의 정수 배수여야 합니다. 예를 들어 입력 프레임 속도는 45FPS가 되고 출력 프레임 속도는 90FPS가 될 수 있습니다.
+ 입력 프레임 속도는 출력 프레임 속도의 정수 배수여야 합니다. 예를 들어 입력 프레임 속도는 60FPS가 되고 출력 프레임 속도는 30FPS가 될 수 있습니다.

MediaLive는 새 입력으로 전환할 때 소스 입력 프레임 속도를 식별하고 간단한 변환이 적용되는지 여부를 결정합니다. 그렇지 않으면 MediaLive는 채널이 다음 입력으로 전환될 때까지 파이프라인 잠금 시도를 중지합니다. 소스 입력 프레임 속도가 (간단한 변환이 적용되도록) 미드 소스에서 변경되더라도 MediaLive는 다시 잠금을 시도하지 않습니다.

이러한 규칙을 사용하면 프레임 속도가 정수가 될 수 있습니다. 예를 들어 입력 프레임 속도는 29.97FPS이고 출력 프레임 속도는 59.94FPS가 될 수 있습니다.

다음은 *복잡한* 프레임 속도의 예입니다. 이러한 조합 중 하나가 채널에 적용되는 경우 입력을 사용할 수 *없습니다*.
+ 지원되지 않음: 입력 FPS는 59.4, 출력 FPS는 60입니다.
+ 지원되지 않음: 입력 FPS는 45, 출력 FPS는 60입니다.
+ 지원되지 않음: 입력 FPS는 29.97FPS, 출력 FPS는 23.978입니다.

## Epoch 잠금 및 SCTE 35
<a name="pipeline-locking-requirements-scte35"></a>

HLS 또는 MediaPackage 출력 그룹에서 에폭 잠금을 사용하는 데에는 제약 조건이 있습니다.

**HLS 출력 그룹**

에폭 잠금을 사용하는 채널의 HLS 출력 그룹에서 SCTE 35 패스스루 또는 매니페스트 장식을 활성화하는 것은 불가능합니다. 활성화할 경우 채널을 저장할 때 검증 오류가 발생합니다. 이 충돌을 해결하는 방법을 결정해야 하며 그 방법은 다음과 같습니다.
+ 전체 채널에서 에폭 잠금 활성화: 전체 채널에서 일반 파이프라인 잠금으로 [모드를 설정](pipeline-locking-set-up.md#pipeline-locking-mode)하고 HLS 출력 그룹에서 SCTE 35 패스스루를 유지할 수 있습니다.
+ HLS 출력 그룹에서 SCTE 35 패스스루 비활성화: 에폭을 잠그고 HLS 출력 그룹에서 SCTE 35 패스스루 및 매니페스트 장식을 비활성화할 수 있습니다. 다른 출력 그룹에서도 SCTE 35 패스스루를 활성화할 수 있습니다.

**MediaPackage 출력 그룹**

MediaPackage 출력 그룹의 경우 입력에 SCTE 35 메시지가 포함된 경우 제약 조건이 적용됩니다.
+ 채널에서 에폭 잠금이 활성화되지 않은 경우 MediaLive는 입력에서 SCTE 35 메시지를 자동으로 전달하고 매니페스트 장식을 자동으로 활성화합니다.
+ 에폭 잠금이 활성화되면 MediaLive는 MediaPackage 출력 그룹에서 SCTE 35 패스스루 및 매니페스트 장식을 자동으로 비활성화합니다.

유지할 기능을 결정해야 합니다. SCTE 35 메시지를 유지할 수 있습니다(이 경우 전체 채널에서 에폭 잠금을 비활성화해야 함). 또는 에폭 잠금을 활성화하는 대신 SCTE 35 메시지의 패스스루를 비활성화할 수 있습니다. 위에서 설명한 것과 유사한 제약 조건이 적용되므로 출력을 HLS 출력 그룹으로 설정하여 발생하는 이점은 없습니다.

# 잠금 설정
<a name="pipeline-locking-set-up"></a>

파이프라인 잠금은 표준 채널에서 기본적으로 활성화됩니다. 비활성화할 수 있습니다. 활성화 상태를 유지하기로 결정한 경우 특정 채널에서 사용할 모드를 구성해야 합니다. 또한 MediaLive가 파이프라인을 성공적으로 잠글 수 있도록 출력 그룹을 구성해야 합니다.

**참고**  
본 섹션의 모든 절차는 사용자가 [채널 처음부터 새로 생성](creating-channel-scratch.md) 섹션에 설명된 채널을 생성하는 일반적인 단계에 익숙하다는 전제하에 제공됩니다.

## 출력 잠금 구성 및 모드 설정
<a name="pipeline-locking-mode"></a>

다음과 같이 채널을 구성할 수 있습니다.
+ 잠금 비활성화됨
+ 파이프라인 잠금 모드에서 잠금 활성화: 두 파이프라인을 서로 잠급니다.
+ Epoch 잠금 모드에서 잠금 활성화: Unix Epoch를 참조로 사용하여 파이프라인을 잠급니다.

**파이프라인 잠금 모드 및 메서드 구성**

1. 생성하거나 편집하려는 채널의 탐색 창에서 **일반 설정을** 선택합니다. 그런 다음 **전역 구성**을 선택합니다.

1. **전역 구성 활성화**를 선택합니다.

1. **출력 잠금 모드에서** **비활성화를** 선택합니다. 또는 **PIPELINE\$1LOCKING** 또는 **EPOCH\$1LOCKING** 모드를 선택합니다. 옵션에 대한 세부 정보를 보려면 필드 옆에 있는 **정보** 링크를 선택합니다.

1. 파이프라인 잠금 방법(**PIPELINE\$1LOCKING** 모드에서만 사용 가능)을 구성하려면 **추가 설정을** 확장합니다.

1. **출력 잠금 설정**에서 **파이프라인 잠금 방법** 필드를 찾아 동기화 방법을 선택합니다.
   + **SOURCE\$1TIMECODE**(기본값): 입력 소스의 임베디드 타임코드를 사용합니다. 안정적인 임베디드 타임코드가 있는 입력이 필요합니다. [입력에는 임베디드 타임코드(소스 타임코드 메서드)가 포함되어야 합니다.](pipeline-locking-verify-input.md#pipeline-locking-embedded-tcode)을(를) 참조하세요.
   + **VIDEO\$1ALIGNMENT**: 인코더 간의 시각적 서명 비교를 사용합니다. 임베디드 타임코드가 필요하지 않습니다. 입력 호환성[비디오 정렬 파이프라인 잠금 요구 사항](pipeline-locking-verify-input.md#pipeline-locking-video-alignment-inputs)은 섹션을 참조하세요.

1. (선택 사항) CMAF Ingest 및 MediaPackage V2 출력 그룹의 경우 사용자 지정 에포크를 구성할 수 있습니다. **추가 설정을** 확장한 다음 **출력 잠금 설정**에서 **사용자 지정 에포크** 필드를 찾아 사용자 지정 에포크 시간을 입력합니다.

## HLS, MediaPackage 또는 Microsoft Smooth 출력 그룹 설정
<a name="pipeline-locking-outputgroups"></a>

HLS 출력 그룹 또는 Microsoft Smooth 출력 그룹에서는 각 비디오 인코딩에 대한 프레임 속도를 설정해야 합니다.

**파이프라인 잠금 설정**

1. 생성하려는 채널의 탐색 창에서 HLS 또는 Microsoft Smooth 출력 그룹을 선택합니다. 필요한 경우 각 출력에서 출력 및 비디오 인코딩을 생성합니다.

1. 비디오 인코딩이 포함된 각 출력에서 비디오 인코딩을 선택합니다. **코덱 설정** 필드에서 코덱을 선택합니다. 추가 필드가 나타납니다.

1. **프레임 속도** 섹션을 선택하고 다음 필드를 설정합니다.
   + **프레임 속도 제어**: **지정**을 선택하는 것이 좋습니다. **Initialize\$1from\$1source** 옵션은 파이프라인 잠금과 호환되지 않습니다.
   + **Framerate 분자** 및 **Framerate 분모**: 출력에 원하는 해상도를 설정합니다. 입력 프레임 속도에서 출력 프레임 속도로의 변환이 [요구 사항](pipeline-locking-verify-input.md)을 충족하는지 확인합니다.

1. 반복하여 모든 출력에서 비디오 인코딩의 프레임 속도를 설정합니다.

## UDP 출력 그룹 설정
<a name="pipeline-locking-udp"></a>

UDP 출력 그룹에서는 분할 마커에 대한 정보를 확인하고 각 비디오 인코딩의 프레임 속도에 대한 분할 마커를 설정해야 합니다.

**파이프라인 잠금 설정**

1. 출력에서 분할을 구성하는 방법에 대한 정보가 필요합니다. 이 정보는 콘솔의 **채널 생성** 페이지의 필드에 포함되어 있습니다. 필드를 표시하려면 탐색 창에서 **아카이브 그룹**을 선택합니다. 그런 다음 출력을 선택하고 **네트워크 설정**을 선택합니다. 다음 각 필드 옆에 있는 **정보** 링크를 선택합니다.
   + **분할 마커**
   + **분할 시간**
   + **EBP 예측 밀리초**
   + **조각 시간**
   + **분할 스타일**
   + **EBP 배치**
   + **EBP 오디오 간격**

1. 이러한 필드에 대한 권장 값을 얻으려면 다운스트림 시스템의 담당자에게 문의하세요.

1. 생성하려는 채널의 탐색 창에서 아카이브 출력 그룹을 선택합니다. 필요한 경우 출력을 생성합니다. 그런 다음 **출력 설정**에서 **네트워크 설정**을 선택합니다. 추가 필드가 나타납니다.

1. **컨테이너 설정을** 선택하고 1단계에 나열된 분할 필드의 값을 설정합니다. 선택한 분할 마커에는 일부 필드가 적용되지 않을 수 있습니다.

1. 필요한 경우 출력에서 비디오 인코딩을 생성한 다음 비디오 인코딩을 선택합니다. **코덱 설정** 필드에서 코덱을 선택합니다. 추가 필드가 나타납니다.

1. **프레임 속도** 섹션을 선택하고 다음 필드를 설정합니다.
   + **프레임 속도 제어**: **지정**을 선택하는 것이 좋습니다. **Initialize\$1from\$1source** 옵션은 파이프라인 잠금과 호환되지 않습니다.
   + **Framerate 분자** 및 **Framerate 분모**: 출력에 원하는 프레임 속도를 설정합니다. 입력 프레임 속도에서 출력 프레임 속도로의 변환이 [요구 사항](pipeline-locking-verify-input.md)을 충족하는지 확인합니다.

# 문제 해결
<a name="pipeline-locking-tshoot"></a>

파이프라인 잠금은 MediaLive가 파이프라인 잠금을 수행하는 출력 그룹에서 파이프라인이 서로 프레임이 정확한지 확인합니다.

사용자 또는 다운스트림 시스템의 운영자가 파이프라인이 동기화되지 않은 것을 발견하면 다음 문제 해결을 수행할 수 있습니다.

## 일반 문제 해결
<a name="pipeline-locking-tshoot-general"></a>

이러한 문제 해결 단계는 모든 파이프라인 잠금 방법에 적용됩니다.
+ MediaLive가 채널의 입력 유형에 대해 [파이프라인 잠금을 지원](pipeline-locking-verify-input.md)하는지 확인합니다.
+ 영향을 받는 출력이 파이프라인 잠금에 적합한지 확인합니다. 파이프라인 잠금은 [특정 유형의 출력에만](pipeline-lock.md) 적용됩니다.
+ **프레임 속도 제어**가 **Initialize\$1from\$1source**가 *아니도록* 프레임 속도 제어를 변경했는지 확인합니다.
+ **ComplexFRCPresent** CloudWatch 지표를 확인합니다. 값이 1이면 Medialive가 복잡한 프레임 속도 변환을 수행하고 파이프라인을 잠그려고 하지 않음을 나타냅니다. 파이프라인 잠금은 [간단한 프레임 속도 변환](pipeline-locking-verify-input.md#pipeline-locking-requirements-frame-rate)만 지원합니다.
+ 소스 내의 프레임 속도가 변경되면 MediaLive가 해당 비디오 섹션에 대해 간단한 프레임 속도 변환이 없기 때문에 해당 기간 동안 파이프라인 잠금을 수행하지 못할 수 있습니다.

## 타임코드 기반 잠금 문제 해결
<a name="pipeline-locking-tshoot-source-timecode"></a>

Epoch 잠금 또는 소스 타임코드 메서드(기본값)를 사용한 파이프라인 잠금을 사용하는 경우 일반적인 문제 해결 단계 외에도 다음을 확인하세요.
+ 입력 소스에 내장된 타임코드가 있는지 확인합니다.
+ 에폭 잠금 모드를 선택한 경우 임베디드 타임코드가 에폭 시간으로부터 2분 이내에 있는지 확인합니다.
+ 입력 소스에 임베디드 타임코드가 없는 섹션이 있는 경우 MediaLive는 프레임 단위 파이프라인 잠금 수행을 중지합니다. MediaLive는 대략적인 파이프라인 잠금을 자동으로 수행합니다. 임베디드 타임코드가 다시 나타날 때마다 MediaLive는 프레임 단위 파이프라인 잠금을 재개합니다.
+ UDP 출력 그룹에서 분할 마커를 설정했는지 확인합니다. 지원되는 다른 출력 그룹의 경우 출력이 항상 분할되므로 걱정할 필요가 없습니다.
+ 다운스트림 시스템에서 예상하는 분할 마커 유형을 설정해야 합니다.

## 비디오 정렬 파이프라인 잠금 문제 해결
<a name="pipeline-locking-tshoot-video-alignment"></a>

비디오로 정렬된 파이프라인 잠금(**파이프라인 잠금 방법을** **VIDEO\$1ALIGNMENT**로 설정)을 사용하고 동기화 문제가 발생하는 경우 일반적인 문제 해결 단계 외에도 다음을 확인하세요.
+ 현재 입력 유형이 호환되는지 확인합니다. HLS, RTMP\$1PULL 및 파일 입력을 사용하면 비디오 정렬 파이프라인 잠금이 오픈 루프 모드(잠금 해제됨)에서 실행됩니다. [비디오 정렬 파이프라인 잠금 요구 사항](pipeline-locking-verify-input.md#pipeline-locking-video-alignment-inputs)을(를) 참조하세요.
+ **InputVideoAligned** CloudWatch 지표를 확인합니다. 값이 1이면 파이프라인 잠금이 파이프라인 간에 입력 비디오 콘텐츠를 성공적으로 정렬했음을 나타냅니다. 값이 0인 경우: 
  + 두 파이프라인이 동일한 비디오 콘텐츠를 수신하는지 확인합니다. 비디오 정렬 파이프라인 잠금은 인코더 간의 시각적 서명을 비교하며 콘텐츠가 다를 경우 잠글 수 없습니다.
+ **PipelinesLocked** CloudWatch 지표를 확인합니다. 비디오 정렬 파이프라인 잠금은 동일한 지표를 통해 잠금 상태를 보고합니다. 값이 1이면 동기화가 성공했음을 나타냅니다.
+ 동기화가 간헐적인 경우 두 파이프라인에 대한 네트워크 연결이 안정적인지 확인합니다. 시각적 서명 비교를 위해서는 두 인코더 모두에 일관된 비디오 전송이 필요합니다.