

# IVS 지연 시간이 짧은 스트리밍 시작하기
<a name="getting-started"></a>

이 문서에서는 Amazon Interactive Video Service(IVS)의 첫 번째 라이브 스트림을 설정하는 단계를 안내합니다.

**Topics**
+ [1단계: AWS 계정 생성](getting-started-create-account.md)
+ [2단계: 루트 및 관리 사용자 설정](getting-started-setup-users.md)
+ [3단계: IAM 권한 설정](getting-started-iam-permissions.md)
+ [4단계: 선택적 레코딩을 사용하여 채널 생성](getting-started-create-channel.md)
+ [5단계: 스트리밍 소프트웨어 설정](getting-started-set-up-streaming.md)
+ [6단계: 라이브 스트림 보기](getting-started-view-stream.md)
+ [7단계: 서비스 할당량 한도 확인(선택 사항)](getting-started-check-service-quota.md)
+ [8단계: 원치 않는 콘텐츠 및 뷰어 방지(권장)](getting-started-prevent-undesired-content.md)

# 1단계: AWS 계정 생성
<a name="getting-started-create-account"></a>

Amazon IVS를 사용하려면 AWS 계정이 있어야 합니다. 계정이 아직 없는 경우에 로그인하려고 하면 계정을 만들도록 요청하는 메시지가 표시됩니다. AWS 계정을 만들려면:

1. [https://portal.aws.amazon.com/billing/signup](https://portal.aws.amazon.com/billing/signup)을 엽니다.

1. 온라인 지시 사항을 따릅니다.

   등록 절차 중 전화나 문자 메시지를 받고 확인 코드를 입력하는 과정이 있습니다. 또한, 기본 서비스 티어는 무료이지만 결제 정보를 제공해야 합니다. AWS 서비스에 등록하더라도 사용하지 않은 서비스에 대해서는 비용이 청구되지 않습니다.

1. 계정을 생성한 후에 **로그인 URL** 및 **사용자 이름**을 포함하는 이메일과 암호가 포함된 또 다른 이메일(AWS 계정 관리자가 보낸 이메일)을 받습니다. 처음 로그인하는 동안에 암호를 변경해야 합니다.

기존 AWS 계정을 사용하려면 해당 계정이 Amazon IVS가 지원되는 AWS 리전을 사용하는지 확인하세요.

1. [Amazon IVS 콘솔](https://console.aws.amazon.com/ivs)로 이동합니다. 일반적인 IVS 콘솔 페이지(‘글로벌 솔루션, 리전별 콘텐츠’ 표시) 가 표시되면 정상입니다. [2단계: 루트 및 관리 사용자 설정](getting-started-setup-users.md)으로 건너뜁니다. AWS ‘지원되지 않는 리전’ 페이지로 리디렉션되는 경우 새 리전을 선택해야 합니다.

1. 적절한 탭(IVS의 경우 **라이브 스트리밍**, IVS Chat의 경우 **스트림 채팅**)을 선택한 다음 나열된 리전 중 하나를 선택합니다. *선택한 리전을 기록해 두세요. 나중에 필요할 것입니다*.

언제든지 [https://aws.amazon.com/](https://aws.amazon.com/)으로 이동하고 **My Account**(내 계정)를 선택하여 AWS 계정 활동을 보고 계정을 관리할 수 있습니다.

# 2단계: 루트 및 관리 사용자 설정
<a name="getting-started-setup-users"></a>

AWS 계정에 가입하면 AWS 계정 루트 사용자가 생성됩니다. 루트 사용자에게는 계정의 모든 AWS 서비스 및 리소스에 액세스할 수 있는 권한이 있습니다. 보안 모범 사례는 [관리 사용자에게 관리 액세스 권한을 할당](https://docs.aws.amazon.com/singlesignon/latest/userguide/useraccess.html)하고 루트 사용자는 [루트 사용자 액세스 권한이 필요한 작업](https://docs.aws.amazon.com/IAM/latest/UserGuide/root-user-tasks.html)을 수행할때만 사용하는 것입니다

## AWS 계정 루트 사용자 보안 유지
<a name="setup-users-secure-root-user"></a>

1. IAM Identity Center 관리 사용자로 로그인하려면 IAM Identity Center 사용자를 생성할 때 이메일 주소로 전송된 로그인 URL을 사용합니다. IAM Identity Center 사용자를 사용하여 로그인하는 데 도움이 필요하면 [AWS Sign-in 사용 설명서](https://docs.aws.amazon.com/signin/latest/userguide/iam-id-center-sign-in-tutorial.html)의 *AWS 액세스 포털에 로그인*을 참조하세요.

   루트 사용자를 사용하여 로그인하는 데 도움이 필요하면 *AWS Sign-in 사용 설명서*의 [루트 사용자로 로그인](https://docs.aws.amazon.com/signin/latest/userguide/console-sign-in-tutorials.html#introduction-to-root-user-sign-in-tutorial)을 참조하세요.

1. 루트 사용자의 다중 인증(MFA)을 활성화합니다.

   지침은 *IAM 사용 설명서*의 [AWS 계정 루트 사용자용 가상 MFA 디바이스 활성화(콘솔)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_enable_virtual.html#enable-virt-mfa-for-root)를 참조하세요.

## 관리 사용자 생성
<a name="setup-users-create-admin-user"></a>

일상적인 작업에 루트 사용자를 사용하지 않도록 관리 사용자를 생성합니다.
+ 일상적인 관리 작업의 경우, AWS IAM Identity Center(AWS Single Sign-On의 후속 버전)에서 관리 사용자에게 관리 액세스 권한을 할당하세요. 자세한 내용은 [AWS IAM Identity Center(AWS Single Sign-On의 후속 버전) 사용 설명서*에서 *](https://docs.aws.amazon.com/singlesignon/latest/userguide/getting-started.html)시작하기 를 참조하세요.
+ IAM Identity Center 관리 사용자로 로그인하려면 IAM Identity Center 사용자를 생성할 때 이메일 주소로 전송된 로그인 URL을 사용합니다. IAM Identity Center 사용자를 사용하여 로그인하는 데 도움이 필요하면 [AWS Sign-in 사용 설명서](https://docs.aws.amazon.com/signin/latest/userguide/iam-id-center-sign-in-tutorial.html)의 *AWS 액세스 포털에 로그인*을 참조하세요.

# 3단계: IAM 권한 설정
<a name="getting-started-iam-permissions"></a>

다음으로 사용자에게 기본 권한 집합(예: Amazon IVS 채널 생성, 스트리밍 정보 가져오기, S3에 자동 레코딩)을 제공하는 AWS Identity and Access Management(IAM) 정책을 생성하고 해당 정책을 사용자에게 할당해야 합니다. [새 사용자](#iam-permissions-new-user)를 생성할 때 권한을 할당하거나 [기존 사용자](#iam-permissions-existing-user)에 권한을 추가할 수 있습니다. 두 절차 모두 아래에 나와 있습니다.

IAM 사용자 및 정책에 대한 자세한 내용, 사용자에게 정책을 연결하는 방법, Amazon IVS로 수행할 수 있는 작업 등 자세한 내용은 다음을 참조하세요.
+ *IAM 사용 설명서*의 [IAM 사용자 생성](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_create.html#Using_CreateUser_console)
+ IAM 및 ‘IVS에 대한 관리형 정책’에 대한 [Amazon IVS 보안](security.md)의 정보입니다.
+ S3에 레코딩 기능의 경우:[서비스 연결 역할 사용](security-service-linked-roles.md) 및 *Amazon IVS 사용 설명서*의 [Amazon S3에 자동 레코딩](record-to-s3.md)

Amazon IVS에 대한 기존 AWS 관리형 정책을 사용하거나 사용자, 그룹 또는 역할 집합에 부여할 권한을 사용자 지정하는 새 정책을 생성할 수 있습니다. 아래에 두 가지 접근 방식이 모두 설명되어 있습니다.

## IVS 권한에 대한 기존 정책 사용
<a name="iam-permissions-existing-policy"></a>

대부분의 경우 Amazon IVS에 대한 AWS 관리형 정책을 사용하는 것이 좋습니다. **IVS 보안의 [IVS에 대한 관리형 정책](security-iam-awsmanpol.md) 섹션에 자세히 설명되어 있습니다.
+ `IVSReadOnlyAccess` AWS 관리형 정책을 사용하여 애플리케이션 개발자에게 모든 IVS Get 및 List API 정책에 대한 액세스 권한을 부여합니다(저지연 스트리밍과 실시간 스트리밍에 모두 해당).
+ `IVSFullAccess` AWS 관리형 정책을 사용하여 애플리케이션 개발자에게 모든 IVS API 작업에 대한 액세스 권한을 부여합니다(저지연 스트리밍과 실시간 스트리밍에 모두 해당).

## 선택 사항: Amazon IVS 권한에 대한 사용자 지정 정책 생성
<a name="iam-permissions-new-policy"></a>

다음 단계를 수행합니다.

1. AWS Management Console에 로그인하여 [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)에서 IAM 콘솔을 엽니다.

1. 탐색 창에서 **정책**을 선택한 다음 **정책 생성**을 선택합니다. **권한 지정** 창이 열립니다.

1. **권한 지정** 창에서 **JSON** 탭을 선택하고 다음 IVS 정책을 복사하여 **권한 편집기** 텍스트 영역에 붙여넣습니다. (이 정책에 모든 Amazon IVS 작업이 포함되어 있는 것은 아닙니다. 필요에 따라 작업 액세스 권한을 추가/삭제(허용/거부)할 수 있습니다. IVS 작업에 대한 자세한 내용은 [IVS Low-Latency Streaming API Reference](https://docs.aws.amazon.com//ivs/latest/LowLatencyAPIReference/Welcome.html)를 참조하세요.)

------
#### [ JSON ]

****  

   ```
   {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
         {
            "Effect": "Allow",
            "Action": [
               "ivs:CreateChannel",
               "ivs:CreateRecordingConfiguration",
               "ivs:GetChannel",
               "ivs:GetRecordingConfiguration",
               "ivs:GetStream",
               "ivs:GetStreamKey",
               "ivs:GetStreamSession",
               "ivs:ListChannels",
               "ivs:ListRecordingConfigurations",
               "ivs:ListStreamKeys",
               "ivs:ListStreams",
               "ivs:ListStreamSessions"
             ],
             "Resource": "*"
         },
         {
            "Effect": "Allow",
            "Action": [
               "cloudwatch:DescribeAlarms",
               "cloudwatch:GetMetricData",
               "s3:CreateBucket",
               "s3:GetBucketLocation",
               "s3:ListAllMyBuckets",
               "servicequotas:ListAWSDefaultServiceQuotas",
               "servicequotas:ListRequestedServiceQuotaChangeHistoryByQuota",
               "servicequotas:ListServiceQuotas",
               "servicequotas:ListServices",
               "servicequotas:ListTagsForResource"
            ],
            "Resource": "*"
         },
         {
            "Effect": "Allow",
            "Action": [
               "iam:AttachRolePolicy",
               "iam:CreateServiceLinkedRole",
               "iam:PutRolePolicy"
            ],
            "Resource": 
   "arn:aws:iam::*:role/aws-service-role/ivs.amazonaws.com/AWSServiceRoleForIVSRecordToS3*"
         }
      ]
   }
   ```

------

1. 여전히 **권한 지정** 창에서 **다음**(창 아래쪽으로 스크롤하여 확인)을 선택합니다. **검토 및 생성** 창이 열립니다.

1. **검토 및 생성** 창에서 **정책 이름**을 입력하고 선택적으로 **설명**을 추가합니다. 사용자를 생성할 때(아래) 필요한 정책 이름을 기록해 둡니다. **정책 생성**(창 하단)을 선택합니다.

1. IAM 콘솔 창으로 돌아가면 새 정책이 생성되었음을 확인하는 배너가 표시됩니다.

## 새 사용자 생성 및 권한 추가
<a name="iam-permissions-new-user"></a>

### IAM 사용자 액세스 키
<a name="iam-permissions-new-user-access-keys"></a>

IAM 액세스 키는 액세스 키 ID와 비밀 액세스 키로 구성됩니다. 이 키들은 AWS에 보내는 프로그래밍 방식의 요청에 서명하는 데 사용됩니다. 액세스 키가 없는 경우 AWS Management Console에서 액세스 키를 생성할 수 있습니다. 루트 사용자 액세스 키는 사용하지 않는 것이 좋습니다.

*비밀 액세스 키는 액세스 키를 생성할 때만 보고 다운로드할 수 있습니다. 나중에 복구할 수 없습니다.* 언제든지 새 액세스 키를 생성할 수 있지만 필요한 IAM 작업을 수행할 수 있는 권한이 있어야 합니다.

항상 액세스 키를 안전하게 보관하세요. 절대로 (Amazon에서 문의가 온 것처럼 보여도) 제3자와 공유하지 마세요. 자세한 내용은 * IAM 사용 설명서*의 [IAM 사용자의 액세스 키 관리](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html)를 참조하세요.

### 절차
<a name="iam-permissions-new-user-procedure"></a>

다음 단계를 따릅니다.

1. 탐색 창에서 **사용자**를 선택한 다음, **사용자 생성**을 선택합니다. **사용자 세부 정보 지정** 창이 열립니다.

1. **사용자 세부 정보 지정** 창에서,

   1. **사용자 세부 정보**에서 생성하려고 하는 신규 **사용자 이름**을 입력합니다.

   1. **AWS Management Console에 대한 사용자 액세스 제공**을 선택합니다.

   1. 메시지가 표시되면 **IAM 사용자를 생성하고 싶음**을 선택합니다.

   1. **콘솔 암호**에서 **자동 생성된 암호(권장)**을 선택합니다.

   1. **다음 로그인 시 사용자가 새 암호를 생성해야 함**을 선택합니다.

   1. **다음**을 선택합니다. **권한 설정** 창이 열립니다.

1. **권한 설정**에서 **정책 직접 연결**을 선택합니다. **권한 정책** 창이 열립니다.

1. 검색 상자에 IVS 정책 이름을 입력합니다(AWS 관리형 정책 또는 이전에 생성한 사용자 지정 정책). 검색되면 확인란을 선택하여 정책을 선택합니다.

1. **다음**(창 하단)을 선택합니다. **검토 및 생성** 창이 열립니다.

1. **검토 및 생성** 창에서 모든 사용자 세부 정보가 올바른지 확인한 다음 **사용자 생성**(창 하단)을 선택합니다.

1. **콘솔 로그인 세부 정보**가 포함되어 있는 **암호 검색** 창이 열립니다. *해당 정보를 안전하게 저장하여 향후에 참조하세요*. 완료되면 **사용자 목록으로 돌아가기**를 선택하세요.

## 기존 사용자에 권한 추가
<a name="iam-permissions-existing-user"></a>

다음 단계를 수행합니다.

1. AWS Management Console에 로그인하여 [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)에서 IAM 콘솔을 엽니다.

1. 탐색 창에서 **사용자**를 선택한 다음 업데이트할 기존 사용자 이름을 선택합니다. (이름을 클릭하여 선택합니다. 선택 상자는 선택하지 마세요.)

1. **요약** 페이지의 **권한** 탭에서 **권한 추가**를 선택합니다. **권한 추가** 창이 열립니다.

1. **기존 정책 직접 연결**을 선택합니다. **권한 정책** 창이 열립니다.

1. 검색 상자에 IVS 정책 이름을 입력합니다(AWS 관리형 정책 또는 이전에 생성한 사용자 지정 정책). 정책을 찾으면 확인란을 선택하여 정책을 선택합니다.

1. **다음**(창 하단)을 선택합니다. **검토** 창이 열립니다.

1. **검토** 창에서 **권한 추가**(창 하단)를 선택합니다.

1. **요약** 페이지에서 IVS 정책이 추가되었는지 확인합니다.

# 4단계: 선택적 레코딩을 사용하여 채널 생성
<a name="getting-started-create-channel"></a>

Amazon IVS 채널은 라이브 스트림과 관련된 구성 정보를 저장합니다. 먼저, 채널을 생성한 다음 채널의 스트림 키를 사용하여 채널을 비디오를 기여하고 라이브 스트림을 시작합니다.

채널 생성 시 다음 항목이 할당됩니다:
+ *수집 서버*는 수집 프로토콜(RTMPS 또는 RTMP)과 함께 스트림을 수신하는 특정 Amazon IVS 구성 요소를 식별합니다.
+ Amazon IVS는 채널을 생성할 때 스트림 키를 할당하고 이를 사용하여 스트리밍을 승인합니다. *스트림 키*는 누구나 채널로 ***스트리밍할 수 있도록 허용하므로 공개하지 말고 암호와 같이 취급하세요***.
+ *재생 URL*은 특정 채널의 재생을 시작할 엔드포인트를 식별합니다. 이 엔드포인트는 전역적으로 사용할 수 있습니다. 시청자에게 비디오를 스트리밍하기 위해 Amazon IVS 글로벌 콘텐츠 전송 네트워크에서 최적의 위치를 자동으로 선택합니다. (Amazon IVS는 재생을 위한 사용자 지정 도메인을 지원하지 않습니다. *자체 도메인에서 재생 URL을 프록시하지 마십시오. 이 작업은 작동하지 않으며 문제가 될 수 있습니다.*)

 Amazon IVS 콘솔 또는 AWS CLI를 통해 레코딩 유무에 관계없이 채널을 생성할 수 있습니다. 채널 생성 및 레코딩은 아래에서 설명합니다.

# Amazon S3에 자동 레코딩
<a name="create-channel-auto-r2s3"></a>

채널에 레코딩을 사용하도록 설정하는 옵션이 있습니다. S3에 자동 레코딩 기능을 사용하도록 설정하면 채널의 모든 스트림이 레코딩되고 사용자가 소유한 Amazon S3 스토리지 버킷에 저장됩니다. 이후 레코딩을 온디맨드 재생에 사용할 수 있습니다.

*이것을 설정하는 것은 고급 옵션입니다.* 기본적으로 채널을 생성할 때 레코딩은 비활성화됩니다.

레코딩할 채널을 설정하려면 *레코딩 구성*을 생성해야 합니다. 이는 채널의 레코딩된 스트림이 저장되는 Amazon S3 위치를 지정하는 리소스입니다. 콘솔 또는 CLI를 사용하여 레코딩 구성을 생성하고 관리할 수 있습니다. 두 절차 모두 아래에 나와 있습니다. 레코딩 구성을 생성한 후 아래에 설명된 대로 채널을 생성할 때나 나중에 기존 채널을 업데이트하여 채널에 연결합니다. API에서 [CreateChannel](https://docs.aws.amazon.com//ivs/latest/LowLatencyAPIReference/API_CreateChannel.html) 및 [UpdateChannel](https://docs.aws.amazon.com//ivs/latest/LowLatencyAPIReference/API_UpdateChannel.html)을 참조하세요. 여러 채널을 동일한 레코딩 구성에 연결할 수 있습니다. 어느 채널과도 더 이상 연결되지 않은 레코딩 구성은 삭제할 수 있습니다.

다음의 제약 조건에 유의하세요.
+ S3 버킷을 소유해야 합니다. 즉, 레코딩할 채널을 설정하는 계정은 레코딩이 저장되는 S3 버킷을 소유해야 합니다.
+ 채널, 레코딩 구성 및 S3 위치는 같은 AWS 리전에 있어야 합니다. 다른 리전에서 채널을 만들고 레코딩하려면, 해당 리전에서도 레코딩 구성 및 S3 버킷을 설정해야 합니다.

S3 버킷에 레코딩하려면 AWS 보안 인증 정보로 승인을 받아야 합니다. IVS에 필요한 액세스 권한을 부여하기 위해 레코딩 구성을 생성할 때 AWS IAM [서비스 연결 역할](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html)(SLR)이 자동으로 생성됩니다. 해당 SLR은 IVS에 특정 버킷에 대한 쓰기 권한만 부여하도록 제한됩니다.

스트리밍 위치와 AWS 간 또는 AWS 클라우드 내에서 네트워크 문제로 인해 스트림을 레코딩하는 동안 일부 데이터가 유실될 수 있습니다. 이러한 경우 Amazon IVS는 레코딩보다 라이브 스트림의 우선순위를 높게 지정합니다. 이중화를 위해 스트리밍 도구를 통해 로컬에서 레코딩하세요.

레코딩된 파일의 사후 처리 또는 VOD 재생을 설정하는 방법 등을 비롯한 자세한 내용은 [IVS의 Amazon S3에 자동 레코딩 \$1 저지연 스트리밍](record-to-s3.md) 단원을 참조하세요.

## 레코딩을 비활성화하는 방법
<a name="getting-started-disable-recording"></a>

기존 채널에서 Amazon S3 레코딩을 비활성화하려면 다음을 수행합니다.
+ 콘솔-관련 채널에 대한 세부 정보 페이지의 **레코딩 및 저장** 스트림 섹션에서 **비활성화됨**을 선택한 다음 **채널 저장**을 선택합니다. 그러면 레코딩 구성과 채널의 연결이 제거되고 해당 채널의 스트림은 더 이상 레코딩되지 않습니다.
+ CLI-`update-channel` 명령을 실행하여 레코딩 구성 ARN을 빈 문자열로 전달합니다.

  ```
  aws ivs update-channel --arn "arn:aws:ivs:us-west-2:123456789012:channel/abcdABCDefgh" --recording-configuration-arn ""
  ```

  그러면 `recordingConfigurationArn`에 대한 빈 문자열을 포함하는 채널 객체를 반환하고 레코딩이 비활성화되었음을 나타냅니다.

# IVS 채널 생성을 위한 콘솔 지침
<a name="create-channel-console"></a>

이 단계는 초기 채널 설정, Amazon S3에 자동 레코딩 설정(선택 사항) 및 최종 채널 생성의 세 단계로 구분됩니다.

## 초기 채널 설정
<a name="create-channel-console-setup"></a>

1. [Amazon IVS 콘솔](https://console.aws.amazon.com/ivs)을 엽니다.

   ([AWS Management Console](https://console.aws.amazon.com/)을 통해 Amazon IVS 콘솔에 액세스할 수도 있습니다.)

1. 탐색 모음에서 [**리전 선택(Select a Region)**] 드롭다운을 클릭하여 리전을 선택합니다. 이 리전에서 새 채널이 생성됩니다.

1. [**시작하기(Get started)**] 상자(오른쪽 위)에서 [**채널 생성(Create Channel)**]을 선택합니다.

1. [**채널 구성(Channel configuration)**]에서 [**기본 구성(Default configuration)**]을 승인합니다. 선택적으로 [**채널 이름(Channel name)**]을 지정합니다. 채널 이름은 고유하지 않지만 이를 통해 채널 ARN(Amazon 리소스 이름) 이외의 채널을 구분할 수 있습니다.

   참고: **사용자 지정 구성(Custom configuration)**을 사용하여 채널 유형이나 RTMP(RTMPS 대신) 수집과 같이 기본값이 아닌 특정 값을 지정할 수 있습니다. 사용자 지정 사양은 여기에서 설명하지 않습니다.  
![\[IVS 콘솔을 사용하여 채널 생성: 채널 생성 창에서 채널 구성을 지정합니다.\]](http://docs.aws.amazon.com/ko_kr/ivs/latest/LowLatencyUserGuide/images/Accept_Default_Configuration.png)

1. Amazon S3에 자동 레코딩하려면 아래 [Amazon S3에 자동 레코딩 설정(선택 사항)](#getting-started-create-channel-console-record-s3) 섹션을 계속 진행합니다. 그렇지 않으면 해당 단계를 건너뛰고 직접 [최종 채널 생성](#getting-started-create-channel-console-final-creation) 섹션으로 진행합니다.

## Amazon S3에 자동 레코딩 설정(선택 사항)
<a name="getting-started-create-channel-console-record-s3"></a>

새 채널을 생성하는 동안 다음 단계에 따라 레코딩을 활성화합니다.

1. **채널 생성(Create channel)** 페이지의 **스트림 기록 및 저장(Record and store streams)**에서 **자동 레코딩 활성화(Enable automatic recording)**를 선택합니다. 추가 필드가 표시되면 기존 **레코딩 구성**을 선택하거나 새로운 레코딩 구성을 생성하세요.  
![\[IVS 콘솔을 사용하여 채널 생성: Amazon S3에 자동 레코딩을 선택합니다.\]](http://docs.aws.amazon.com/ko_kr/ivs/latest/LowLatencyUserGuide/images/Select_Auto_Record.png)

1. **레코딩 구성 생성**을 선택합니다. Amazon S3 버킷을 생성하고 새 레코딩 구성에 연결하는 옵션을 포함하는 새 창이 열립니다.  
![\[IVS 콘솔을 사용하여 채널 생성: 레코딩 구성의 스토리지 옵션을 지정합니다.\]](http://docs.aws.amazon.com/ko_kr/ivs/latest/LowLatencyUserGuide/images/Click_Create_Recording_Config.png)

1. 입력란을 작성합니다.

   1. 필요에 따라 **레코딩 구성 이름**(Recording configuration name)을 입력합니다.

   1. **레코딩 구성(Recording configuration)**에서 **기본 구성(Default configuration)**을 수락합니다. 참고: **사용자 지정 구성(Custom configuration)**은 기록된 변환 또는 조각화된 스트림 병합과 같은 기본값이 아닌 특정 값을 지정하는 데 사용할 수 있습니다. 사용자 지정 사양은 여기에서 설명하지 않습니다

   1. **버킷 이름**을 입력합니다.

1. **재연결 구성 생성**을 선택하여 고유한 ARN으로 새 레코딩 구성 리소스를 생성합니다. 일반적으로 레코딩 구성을 생성하는 데 몇 초 정도지만, 최대 20초가 걸릴 수 있습니다. 레코딩 구성이 생성되면 [**채널 생성(Create channel)**] 창으로 돌아갑니다. 여기에서 **스트림 기록 및 저장** 영역에는 **상태**가 **활성**인 새 **레코딩 구성**과 생성한 S3 버킷(**스토리지**)이 표시됩니다.  
![\[IVS 콘솔을 사용하여 채널 생성: 새로운 레코딩 구성이 생성되었습니다.\]](http://docs.aws.amazon.com/ko_kr/ivs/latest/LowLatencyUserGuide/images/Create_Recording_Config.png)

## 최종 채널 생성
<a name="getting-started-create-channel-console-final-creation"></a>

1. **채널 생성** 창 하단에서 **채널 생성**을 선택하여 고유한 ARN이 있는 새 채널을 생성합니다. 채널 세부 정보를 보려면 **Details**를 확장합니다. (참고: 레코딩을 활성화하지 않은 경우 **S3에 자동 레코딩**이 **비활성화됨**으로 설정되고, 화면에 **레코딩 구성** 섹션이 없습니다.)  
![\[IVS 콘솔을 사용하여 채널 생성: 채널 세부 정보 창에서 채널 스트림, 재생 및 레코딩 구성, 스트림 세션을 봅니다.\]](http://docs.aws.amazon.com/ko_kr/ivs/latest/LowLatencyUserGuide/images/Final_Channel_Creation.png)

1. **중요**:
   + [**스트림 구성(Stream configuration)**] 영역에서 [**수집 서버(Ingest server)**] 및 [**스트림 키(Stream key)**]를 기록합니다. 다음 단계에서 이러한 기능을 사용하여 스트리밍을 설정합니다.
   + [**재생 구성(Playback configuration)**] 영역에서 [**재생 URL(Playback URL)**]을 기록합니다. 나중에 스트림을 재생하는 데 사용합니다.

**참고**: SRT 값(엔드포인트 및 암호)을 보려면 **스트림 구성** 영역에서 **기타 수집 옵션**을 확장합니다.

# IVS 채널 생성을 위한 CLI 지침
<a name="create-channel-cli"></a>

AWS CLI를 사용하여 채널을 생성하는 방법은 고급 옵션이며, 먼저 시스템에 CLI를 다운로드하고 구성해야 합니다. 자세한 내용은 [AWS 명령줄 인터페이스 사용 설명서](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html)를 참조하세요.

레코딩을 활성화하거나 활성화하지 않고 채널을 생성하는지 여부에 따라 아래 두 절차 중 하나를 수행합니다.

## 레코딩 없이 채널 생성
<a name="getting-started-create-channel-cli-no-recording"></a>

1. `create-channel` 명령을 실행하고 선택적 이름을 전달합니다.

   ```
   aws ivs create-channel --name test-channel
   ```

1. 그러면 새 채널이 반환됩니다.

   ```
   {
      "channel": {
         "arn": "arn:aws:ivs:us-west-2:123456789012:channel/abcdABCDefgh",
         "authorized": false,
         "ingestEndpoint": "a1b2c3d4e5f6.global-contribute.live-video.net",
         "insecureIngest": false,
         "latencyMode": "LOW",
         "name": "channel-live",
         "playbackRestrictionPolicyArn": "arn:aws:ivs:us-west-2:123456789012:playback-restriction-policy/abcdABCDefgh",
         "playbackUrl": "https://a1b2c3d4e5f6.us-west-2.playback.live-video.net/api/video/v1/us-west-2.123456789012.channel.abcdEFGH.m3u8",
         "recordingConfigurationArn": "none",
         "srt": {
            "endpoint": "a1b2c3d4e5f6.srt.live-video.net",
            "passphrase: "ZU5A3yrjGAkghUNDr0c5NXBhsPrjlmtcKMNBluh7oImwJQ3ijeyClvMKxlpPcGAMziICJ",
         },
         "tags": {},
         "type": "STANDARD"
      },
      "streamKey": {
         "arn": "arn:aws:ivs:us-west-2:123456789012:stream-key/g1H2I3j4k5L6",
         "channelArn": "arn:aws:ivs:us-west-2:123456789012:channel/abcdABCDefgh",
         "tags": {},
         "value": "sk_us-west-2_abcdABCDefgh_567890abcdef"
      }
   }
   ```

1. **중요**: `ingestEndpoint`, `streamKey value` 및 `playbackUrl`을 기록합니다. 이를 사용하여 스트리밍 및 재생을 설정합니다.

## 레코딩을 사용하여 채널 생성
<a name="getting-started-create-channel-cli-recording"></a>

**사전 조건:** 이 절차를 시작하기 전에 Amazon S3 버킷을 생성하고 ARN을 기록합니다. [Amazon S3 시작하기](https://docs.aws.amazon.com//AmazonS3/latest/userguide/GetStartedWithS3.html)를 참조하세요. S3 버킷은 레코딩 구성을 생성할 같은 리전에 있어야 합니다. 아래 1단계의 알려진 문제를 참조하세요.

그런 다음, 다음 단계에 따라 채널을 생성합니다.

1. `create-recording-configuration` 명령을 실행하고 기존 Amazon S3 버킷의 ARN을 전달합니다.

   ```
   aws ivs create-recording-configuration --name configuration-1 --destination-configuration s3={bucketName=test-bucket}
   ```

   선택적으로 `thumbnail-configuration` 파라미터를 전달하여 썸네일 레코딩 모드와 썸네일 간격을 수동으로 설정합니다.

   ```
   aws ivs create-recording-configuration --name configuration-1 --destination-configuration s3={bucketName=s3_bucket_name} --thumbnail-configuration recordingMode="INTERVAL",targetIntervalSeconds=60
   ```

   `recording-reconnect-window-seconds` 파라미터를 전달하여 조각화된 스트림 병합 기능을 활성화합니다.

   ```
   aws ivs create-recording-configuration --name configuration-1 --destination-configuration s3={bucketName=test-bucket} --recording-reconnect-window-seconds 60
   ```

   **알려진 문제:** us-east-1 리전에서 AWS CLI를 사용하여 레코딩 구성을 생성하는 경우 S3 버킷이 다른 리전에 있어도 성공을 반환합니다. 이 경우 레코딩 구성의 `state`는 `ACTIVE`가 아닌, `CREATE_FAILED`입니다. (그외 리전에서는 버킷이 다른 리전에 있는 경우 CLI가 올바르게 장애를 반환합니다.)

   **해결 방법:** S3 버킷이 레코딩 구성과 동일한 리전에 있는지 확인합니다. S3 버킷과 같은 다른 리전에서 레코딩 구성을 생성하는 경우 해당 레코딩 구성을 삭제하고 올바른 리전의 S3 버킷으로 새 레코딩 구성을 생성합니다.

1. 그러면 고유한 ARN의 새 레코딩 구성이 반환됩니다. 레코딩 구성의 상태는 `CREATING`이고, 생성 중임을 나타냅니다.

   ```
   {
      "recordingConfiguration": {
         "arn": "arn:aws:ivs:us-west-2:123456789012:recording-configuration/mhndauNaO1te",
         "name": "configuration-1",
         "destinationConfiguration": {
            "s3": {
               "bucketName": "s3_bucket_name"
            }
         },
         "recordingReconnectWindowSeconds": 60,
         "state": "CREATING",
         "tags": {},
         "thumbnailConfiguration": {
            "recordingMode": "INTERVAL",
            "targetIntervalSeconds": 60
         }
      }
   }
   ```

1. 일반적으로 레코딩 구성을 생성하는 데 몇 초 정도지만, 최대 20초가 걸릴 수 있습니다. 레코딩 구성이 생성되었는지 확인하려면 `get-recording-configuration` 명령을 실행합니다.

   ```
   aws ivs get-recording-configuration --arn "arn:aws:ivs:us-west-2:123456789012:recording-configuration/mhndauNaO1te"
   ```

1. 그러면 레코딩 구성이 생성되었음을 나타내는 응답을 반환합니다(`state`는 `ACTIVE`임).

   ```
   {
      "recordingConfiguration": {
         "arn": "arn:aws:ivs:us-west-2:123456789012:recording-configuration/mhndauNaO1te",
         "name": "configuration-1",
         "destinationConfiguration": {
            "s3": {
               "bucketName": "s3_bucket_name"
            }
         },
         "recordingReconnectWindowSeconds": 60,
         "state": "ACTIVE",
         "tags": {},
         "thumbnailConfiguration": {
            "recordingMode": "INTERVAL",
            "targetIntervalSeconds": 60
         }
      }
   }
   ```

1. 채널을 생성하고 해당 채널에서 레코딩을 활성화하려면 `create-channel` 명령을 실행하고 레코딩 구성 ARN을 전달합니다.

   ```
   aws ivs create-channel --name channel-live --recording-configuration-arn  "arn:aws:ivs:us-west-2:123456789012:recording-configuration/mhndauNaO1te"
   ```

   또는 기존 채널에서 레코딩을 활성화하려면 `update-channel` 명령을 실행하고 레코딩 구성 ARN을 전달합니다.

   ```
   aws ivs update-channel --arn "arn:aws:ivs:us-west-2:123456789012:channel/abcdABCDefgh" --recording-configuration-arn "arn:aws:ivs:us-west-2:123456789012:recording-configuration/mhndauNaO1te"
   ```

1. 그러면 `recordingConfigurationArn`에 대해 ‘없음’ 이외 값의 채널 오브젝트를 반환하고 레코딩이 활성화되었음을 나타냅니다. (아래 응답은 `create-channel`에서 반환됩니다. `update-channel` 응답은 `streamKey` 객체를 포함하지 않습니다.)

   ```
   {
      "channel": {
         "arn": "arn:aws:ivs:us-west-2:123456789012:channel/abcdABCDefgh",
         "authorized": false,
         "ingestEndpoint": "a1b2c3d4e5f6.global-contribute.live-video.net",
         "insecureIngest": false,
         "latencyMode": "LOW",
         "name": "channel-live",
         "playbackUrl": "https://a1b2c3d4e5f6.us-west-2.playback.live-video.net/api/video/v1/us-west-2.123456789012.channel.abcdEFGH.m3u8",
         "recordingConfigurationArn": "arn:aws:ivs:us-west-2:123456789012:recording-configuration/mhndauNaO1te",
         "srt": {
            "endpoint": "a1b2c3d4e5f6.srt.live-video.net",
            "passphrase: "ZU5A3yrjGAkghUNDr0c5NXBhsPrjlmtcKMNBluh7oImwJQ3ijeyClvMKxlpPcGAMziICJ",
         },
         "tags": {},
         "type": "STANDARD"
      },
      "streamKey": {
         "arn": "arn:aws:ivs:us-west-2:123456789012:stream-key/g1H2I3j4k5L6",
         "channelArn": "arn:aws:ivs:us-west-2:123456789012:channel/abcdABCDefgh",
         "tags": {},
         "value": "sk_us-west-2_abcdABCDefgh_567890abcdef"
      }
   }
   ```

1. **중요**: `ingestEndpoint`, `streamKey value` 및 `playbackUrl`을 기록합니다. 이를 사용하여 스트리밍 및 재생을 설정합니다.

# 5단계: 스트리밍 소프트웨어 설정
<a name="getting-started-set-up-streaming"></a>

다음을 사용하여 Amazon IVS로 스트리밍(지연 시간이 짧음)할 수 있습니다.
+ RTMPS를 지원하는 기본 [IVS Broadcast SDK](#broadcast-sdk). 특히 프로덕션 시나리오의 경우 이 방법을 사용하는 것이 좋습니다.
+ [Amazon IVS 콘솔](#ivs-console). 스트리밍을 테스트하는 데 적합합니다.
+ 기타 스트리밍 소프트웨어 및 하드웨어 인코더 - RTMP, RTMPS 또는 SRT 프로토콜을 지원하는 모든 스트리밍 인코더를 사용할 수 있습니다. 다음은 RTMPS 및 SRT와 함께 Open Broadcast Software(OBS) 및 FFmpeg를 사용하는 몇 가지 예입니다. RTMPS는 암호화된 TLS 스트림을 사용하여 높은 보안을 구현합니다.

키 인코더 설정은 키프레임 간격(2초)과 해상도/비트 전송률/프레임 속도(상호 연관됨)입니다. 인코더 설정에 대한 자세한 내용은 다음을 참조하세요.
+ *Amazon IVS 사용 설명서*의 [스트리밍 구성](streaming-config.md) 
+ 블로그 게시물: [Amazon Interactive Video Service에서 스트리밍 설정](https://aws.amazon.com/blogs/media/setting-up-for-streaming-with-amazon-ivs/)

**참고**: 
+ Amazon IVS 스트림의 최대 지속 시간은 48시간입니다. 이후 스트림이 종료되고 스트리밍 세션 연결이 끊어집니다. 자동 또는 수동으로 다시 연결에 성공하면 새 스트림이 시작됩니다.
+ 예를 들면 일시적인 네트워크 문제로 인해 인코더가 데이터 전송을 중지하면 Amazon IVS는 30초 동안 기다립니다. 이 시간 동안 브로드캐스터 데이터가 수신되지 않으면 Amazon IVS의 연결이 해제됩니다.

## Amazon IVS Broadcast SDK를 사용한 스트리밍
<a name="broadcast-sdk"></a>

iOS 또는 Android 애플리케이션에서 브로드캐스트하려면 Amazon IVS Broadcast SDK를 사용할 수 있습니다. Broadcast SDK는 Amazon IVS 아키텍처를 활용하며 Amazon IVS와 함께 지속적으로 개선되고 새로운 기능이 추가됩니다. 네이티브 모바일 브로드캐스트 SDK로서 애플리케이션과 사용자가 애플리케이션에 액세스하는 디바이스의 성능에 미치는 영향을 최소화하도록 설계되었습니다.


| 다음 위치에서 방송하려면: | 다음을 사용할 수 있음: | 참고 | 
| --- | --- | --- | 
| Android 또는 iOS 애플리케이션 | Amazon IVS Android 또는 iOS Broadcast SDK | 네이티브 모바일 Broadcast SDK로서 애플리케이션과 사용자가 애플리케이션에 액세스하는 디바이스의 성능에 미치는 영향을 최소화하도록 설계되었습니다. | 
| 웹 환경 | Amazon IVS Web Broadcast SDK | Web Broadcast SDK인 Amazon IVS Web Broadcast SDK는 WebRTC를 사용하여 웹 환경에서 브로드캐스트할 수 있게 해 줍니다. 교차 브라우저 및 교차 플랫폼 지원 기능을 제공합니다. | 

자세한 내용은 [IVS Broadcast SDK \$1 저지연 스트리밍](broadcast.md)을 참조하세요.

## Amazon IVS 콘솔을 사용한 스트리밍
<a name="ivs-console"></a>

1. [Amazon IVS 콘솔](https://console.aws.amazon.com/ivs)을 엽니다.

   ([AWS Management Console](https://console.aws.amazon.com/)을 통해 Amazon IVS 콘솔에 액세스할 수도 있습니다.)

1. 탐색 창에서 **채널**을 선택합니다. (탐색 창이 축소되어 있는 경우 햄버거 아이콘을 선택하여 펼치세요.)

1. 브로드캐스트하려는 채널을 선택하여 해당 세부 정보 페이지로 이동합니다.

1. **브로드캐스트** 탭을 선택합니다. (탭은 **일반 구성** 섹션 아래에 있습니다.)

1. IVS 콘솔에 카메라 및 마이크에 대한 액세스 권한을 부여하라는 메시지가 표시됩니다. 해당 권한을 **허용**합니다.

1. **브로드캐스트** 탭 하단의 드롭다운 상자를 사용하여 마이크 및 카메라용 입력 디바이스를 선택합니다.

1. 스트리밍을 시작하려면 **브로드캐스트 시작**을 선택합니다.

1. 실시간 스트리밍을 보려면 **재생** 탭으로 이동합니다.

   **참고**: 스트리밍을 시작한 후 재생 탭에서 볼 수 있을 때까지 짧은 지연(보통 30초 미만)이 발생할 수 있습니다.

이 기능을 사용하여 여러 채널에 동시에 브로드캐스트할 수 있습니다.

**참고**: 콘솔에서 스트리밍하는 데는 리소스를 사용하며 라이브 비디오 입력 비용이 발생합니다. 자세한 내용은 IVS 요금 페이지에서 [라이브 비디오 입력 비용](https://aws.amazon.com/ivs/pricing/#Low-Latency_Streaming)을 참조하세요.

## RTMPS를 사용하여 OBS Studio로 스트리밍
<a name="obs-rtmps"></a>

([OBS Studio](https://obsproject.com/))는 레코딩 및 라이브 스트리밍을 위한 무료 오픈 소스 소프트웨어 제품군입니다. OBS는 실시간 소스 및 디바이스 캡처, 화면 구성, 인코딩, 레코딩 및 스트리밍을 제공합니다.

다음 단계에 따라 OBS Studio v30.2 이상을 빠르게 가동 및 실행합니다.

1. 소프트웨어를 다운로드하여 설치합니다. [https://obsproject.com/download](https://obsproject.com/download).

1. OBS Studio **자동 구성 마법사(Auto-Configuration Wizard)**를 실행합니다. 이 마법사는 OBS Studio를 처음 로드할 때 표시됩니다. 단계를 수행하고 기본값을 승인합니다.

1. **스트림 정보**의 **서비스** 드롭다운에서 **Amazon IVS**를 선택하고 **스트림 키**를 입력합니다.

   Amazon IVS 콘솔로 채널을 생성한 경우 OBS에 입력한 **스트림 키**는 콘솔의 **스트림 키**입니다(`sk_us-west-2_abcd1234efgh5678ijkl`).

   AWS CLI로 채널을 생성한 경우 OBS에 입력한 **스트림 키**는 CLI 응답 `sk_us-west-2_abcd1234efgh5678ijkl`의 **streamKey 값**입니다.

   IVS 채널이 멀티트랙 비디오 입력에 대해 구성된 경우 **멀티트랙 비디오 활성화**를 선택합니다. 필요에 따라 자동으로 구성된 스트림 설정을 제한하는 데 사용되는 **최대 비디오 트랙** 및 **최대 스트리밍 대역폭** 설정을 구성합니다.

1. **비디오 출력 해상도(Video Output Resolution)**와 **비트레이트(Bitrate)**는 *Amazon IVS 스트리밍 구성*의 [채널 유형](streaming-config.md#streaming-config-settings-channel-types)을 참조하세요. OBS 마법사에서 선택한 값 중 하나가 Amazon IVS에서 허용하는 값을 초과하는 경우 Amazon IVS 연결이 실패하지 않도록 수동으로 값을 조정해야 합니다. 마법사가 완료된 후 다음을 수행합니다.

   1. 비디오 해상도를 조정하려면 **설정(Settings) > 비디오(Video) > 출력(조정) 해상도(Output (Scaled) Resolution)**를 사용합니다.

   1. 비디오 비트레이트를 조정하려면 **설정(Settings) > 출력(Output) > 스트리밍(Streaming) > 비디오 비트레이트(Video Bitrate)**를 사용합니다.

      **참고:** 이전에 **멀티트랙 비디오 활성화**를 선택한 경우 라이브 스트림에는 영향을 주지 않습니다.

1. 스트림 안정성 개선과 뷰어 재생에서 버퍼링 방지를 위해 2초 **키프레임 간격(Keyframe Interval)**이 권장됩니다. 마법사가 완료되면 **설정 > 출력 > 출력 모드**로 이동하여 **고급**을 선택하고 **스트리밍** 탭에서 **키프레임 간격**이 2인지 확인합니다.

   **참고:** 이전에 **멀티트랙 비디오 활성화**를 선택한 경우 키프레임 간격이 자동으로 구성됩니다.

1. OBS Studio 기본 창에서 [**스트리밍 시작**]을 선택합니다.

OBS Studio를 사용한 스트리밍에 대한 자세한 내용은 [OBS Studio](https://obsproject.com/wiki/OBS-Studio-Quickstart)를 참조하세요.

나중에 OBS 설정을 수동으로 수정할 수 있습니다.

1. **설정 > 스트림**을 선택합니다.

1. 드롭다운에서 **Amazon IVS**를 선택합니다.

1. **스트림 키**에 붙여넣습니다.

언제든지 마법사를 다시 실행할 수 있습니다. [**도구(Tools) > 자동 구성 마법사(Auto-Configuration Wizard)**]를 선택합니다.

선택적으로 [**설정(Settings) > 일반(General)**]에서 로컬 레코딩을 활성화하여 나중에 사용할 수 있도록 라이브 스트림을 저장합니다. 앞서 언급한 대로, 브로드캐스트와 AWS 간 또는 AWS 클라우드 내에서 네트워크 문제로 인해 스트림을 레코딩하는 동안 일부 데이터가 유실될 수 있습니다. 이러한 경우 Amazon IVS는 레코딩보다 라이브 스트림의 우선순위를 높게 지정합니다. 중복성을 위해 스트리밍 도구로 중복성을 제공합니다.

OBS Studio 업데이트를 정기적으로 확인하고 최신 버전으로 업데이트하는 것이 좋습니다. (예를 들어 '서버에 연결하지 못함' 오류가 발생하는 경우 RTMPS를 지원하지 않는 OBS Studio의 이전 버전을 사용하고 있을 수 있습니다.)

## SRT를 사용하여 OBS Studio로 스트리밍
<a name="obs-srt"></a>

다음 단계에 따라 Secure Reliable Transport 프로토콜을 빠르게 시작하고 실행하세요.

1. 소프트웨어를 다운로드하여 설치합니다. [https://obsproject.com/download](https://obsproject.com/download).

1. OBS Studio **자동 구성 마법사(Auto-Configuration Wizard)**를 실행합니다. 이 마법사는 OBS Studio를 처음 로드할 때 표시됩니다. 단계를 수행하고 기본값을 승인합니다.

1. **스트림 정보(Stream Information)**의 **서비스(Service)** 드롭다운에서 **사용자 지정...(Custom...)**을 선택하고 **서버(수집 서버)(Server (Ingest server))**와 **스트림 키(Stream Key)**를 입력합니다.

   AWS CLI를 사용하여 채널을 생성한 경우:
   + OBS에 입력하는 **서버**는 다음 5개의 조합입니다.
     + 수집 프로토콜: `srt://`
     + CLI 응답에서 `srt` 구조의 **엔드포인트**: 

       `a1b2c3d4e5f6.srt.live-video.net`
     + 포트: `9000`
     + CLI 응답의 **streamKey 값**인 streamid:

       `sk_us-west-2_abcd1234efgh5678ijkl`
     + 콘텐츠를 암호화하는 데 사용되는 암호입니다. **안전하지 않은 수집**이 활성화되지 않은 경우에만 이 옵션을 사용합니다.

       `ZU5A3yrjGAkghUNDr0c5NXBhsPrjlmtcKMNBluh7oImwJQ3ijeyClvMKxlpPcGAMziICJ`

     전체 항목은 다음과 같습니다.

     `srt://a1b2c3d4e5f6.srt.live-video.net:9000?streamid=sk_us-west-2_abcd1234efgh5678ijkl&passphrase=ZU5A3yrjGAkghUNDr0c5NXBhsPrjlmtcKMNBluh7oImwJQ3ijeyClvMKxlpPcGAMziICJ`
   + OBS에 입력한 **스트림 키**는 SRT 프로토콜에 대해 빈 상태로 유지됩니다.

1. **비디오 출력 해상도(Video Output Resolution)**와 **비트레이트(Bitrate)**는 *Amazon IVS 스트리밍 구성*의 [채널 유형](streaming-config.md#streaming-config-settings-channel-types)을 참조하세요. OBS 마법사에서 선택한 값 중 하나가 Amazon IVS에서 허용하는 값을 초과하는 경우 Amazon IVS 연결이 실패하지 않도록 수동으로 값을 조정해야 합니다. 마법사가 완료된 후 다음을 수행합니다.

   1. 비디오 해상도를 조정하려면 **설정(Settings) > 비디오(Video) > 출력(조정) 해상도(Output (Scaled) Resolution)**를 사용합니다.

   1. 비디오 비트레이트를 조정하려면 **설정(Settings) > 출력(Output) > 스트리밍(Streaming) > 비디오 비트레이트(Video Bitrate)**를 사용합니다.

1. 스트림 안정성 개선과 뷰어 재생에서 버퍼링 방지를 위해 2초 **키프레임 간격(Keyframe Interval)**이 권장됩니다. 마법사가 완료되면 **설정 > 출력 > 출력 모드**로 이동하여 **고급**을 선택하고 **스트리밍** 탭에서 **키프레임 간격**이 2인지 확인합니다.

1. OBS Studio 기본 창에서 [**스트리밍 시작**]을 선택합니다.

나중에 OBS 설정을 수동으로 수정할 수 있습니다.

1. **설정 > 스트림**을 선택합니다.

1. 드롭다운에서 **사용자 지정**을 선택합니다.

1. [**서버(Server)**] 및 또는 [**스트림 키(Stream Key)**]를 붙여넣습니다.

언제든지 마법사를 다시 실행할 수 있습니다. [**도구(Tools) > 자동 구성 마법사(Auto-Configuration Wizard)**]를 선택합니다.

선택적으로 [**설정(Settings) > 일반(General)**]에서 로컬 레코딩을 활성화하여 나중에 사용할 수 있도록 라이브 스트림을 저장합니다. 앞서 언급한 대로, 브로드캐스트와 AWS 간 또는 AWS 클라우드 내에서 네트워크 문제로 인해 스트림을 레코딩하는 동안 일부 데이터가 유실될 수 있습니다. 이러한 경우 Amazon IVS는 레코딩보다 라이브 스트림의 우선순위를 높게 지정합니다. 중복성을 위해 스트리밍 도구로 중복성을 제공합니다.

OBS Studio 업데이트를 정기적으로 확인하고 최신 버전으로 업데이트하는 것이 좋습니다. (예를 들어 '서버에 연결하지 못함' 오류가 발생하는 경우 RTMPS를 지원하지 않는 OBS Studio의 이전 버전을 사용하고 있을 수 있습니다.)

## RTMPS를 사용하여 FFmpeg에서 레코딩된 비디오 스트리밍
<a name="ffmpeg-rtmps"></a>

다음 단계를 따릅니다.

1. FFmpeg를 다운로드하여 설치합니다. [https://www.ffmpeg.org/download.html](https://www.ffmpeg.org/download.html).

1. `$VIDEO_FILEPATH`를 스트리밍할 MP4 비디오의 위치로 설정합니다.

   ```
   VIDEO_FILEPATH=/home/test/my_video.mp4
   ```

1. `STREAM_KEY`를 StreamKey **값**으로 설정합니다.

   ```
   STREAM_KEY=sk_us-west-2_abcd1234efgh5678ijkl
   ```

1. `INGEST_ENDPOINT`를 **ingestEndpoint**로 설정합니다(AWS CLI에서).

   ```
   INGEST_ENDPOINT=a1b2c3d4e5f6.global-contribute.live-video.net
   ```

1. 다음 터미널 명령을 사용하여 스트리밍을 시작합니다(모두 한 줄임).

   ```
   ffmpeg -re -stream_loop -1 -i $VIDEO_FILEPATH -r 30 -c:v libx264 -pix_fmt yuv420p -profile:v main -preset veryfast -x264opts "nal-hrd=cbr:no-scenecut" -minrate 3000 -maxrate 3000 -g 60 -c:a aac -b:a 160k -ac 2 -ar 44100 -f flv rtmps://$INGEST_ENDPOINT:443/app/$STREAM_KEY
   ```

   *위의 명령은 예제입니다. 프로덕션 스트리밍의 경우, 필요에 따라 파라미터를 조정하세요.*

## SRT를 사용하여 FFmpeg에서 레코딩된 비디오 스트리밍
<a name="ffmpeg-srt"></a>

1. FFmpeg를 다운로드하여 설치합니다. [https://www.ffmpeg.org/download.html](https://www.ffmpeg.org/download.html). 이전/컴파일된 버전의 FFmpeg를 사용하는 경우 `--enable-libsrt` 플래그를 사용하여 새 버전을 빌드합니다.

1. FFmpeg에서 SRT를 사용할 수 있는지 확인합니다. 다음 명령을 실행하고 `libsrt`가 출력에 있는지 확인합니다. `libsrt`가 없으면 SRT를 지원하는 FFmpeg의 새 버전을 다시 빌드하거나 가져옵니다.

   ```
   ffmpeg -version | grep enable-libsrt
   ```

1. `$VIDEO_FILEPATH`를 스트리밍할 MP4 비디오의 위치로 설정합니다.

   ```
   VIDEO_FILEPATH=/home/test/my_video.mp4
   ```

1. `STREAM_KEY`를 StreamKey **값**으로 설정합니다.

   ```
   STREAM_KEY=sk_us-west-2_abcd1234efgh5678ijkl
   ```

1. `INGEST_ENDPOINT`를 **엔드포인트**로 설정(`srt` 객체 아래의 AWS CLI에서)합니다.

   ```
   INGEST_ENDPOINT=a1b2c3d4e5f6.srt.live-video.net
   ```

1. `PASSPHRASE`를 **암호**로 설정(`srt` 객체 아래의 AWS CLI에서)합니다. 채널에 대해 안전하지 않은 수집이 활성화되지 않은 경우에만 암호를 사용합니다.

   ```
   PASSPHRASE=ZU5A3yrjGAkghUNDr0c5NXBhsPrjlmtcKMNBluh7oImwJQ3ijeyClvMKxlpPcGAMziICJ
   ```

1. 다음 터미널 명령을 사용하여 스트리밍을 시작합니다(모두 한 줄임).

   ```
   ffmpeg -re -i $VIDEO_FILEPATH -c copy -f mpegts "srt://$INGEST_ENDPOINT:9000?streamid=$STREAM_KEY&passphrase=$PASSPHRASE”
   ```

# 6단계: 라이브 스트림 보기
<a name="getting-started-view-stream"></a>

다음을 사용하여 라이브 스트림을 볼 수 있습니다.
+ 기본 [IVS Player SDK](#view-stream-player-sdks).
+ [Amazon IVS 콘솔](#view-stream-console).

## Amazon IVS Player SDK로 보기
<a name="view-stream-player-sdks"></a>

1. IVS Player를 설정합니다. [IVS Player SDK 개요](player.md)로 시작한 다음 적절한 플랫폼별 플레이어 가이드를 읽습니다.

1. [Amazon IVS 콘솔](https://console.aws.amazon.com/ivs)에서 채널을 만들 때 생성된 **재생 URL**을 가져옵니다. (*Getting Started* 안내서의 앞부분에서 [Final Channel Creation](create-channel-console.md#getting-started-create-channel-console-final-creation)을 참조하세요.)

1. 재생 URL로 `player.load()`를 직접 호출합니다.

## Amazon IVS 콘솔을 사용하여 보기
<a name="view-stream-console"></a>

1. [Amazon IVS 콘솔](https://console.aws.amazon.com/ivs)을 엽니다.

   ([AWS Management Console](https://console.aws.amazon.com/)을 통해 Amazon IVS 콘솔에 액세스할 수도 있습니다.) 

1. 탐색 창에서 **라이브 채널**을 선택합니다. (탐색 창이 축소된 경우 먼저 햄버거 아이콘을 선택하여 엽니다.)

1. 스트림을 보려는 채널을 선택하여 해당 채널의 세부 정보 페이지로 이동합니다.

   라이브 스트림이 페이지의 [**라이브 스트림**] 섹션에서 재생됩니다.

**참고**: 콘솔에서 재생하는 데는 리소스가 사용되며 라이브 비디오 출력 비용이 발생합니다. 자세한 내용은 IVS 요금 페이지에서 [라이브 비디오 출력 비용](https://aws.amazon.com/ivs/pricing/#Live_Video_Output_Costs)을 참조하세요.

**참고:** 스트리밍을 시작한 후 콘솔에서 스트림을 볼 수 있기까지 짧은 지연 시간(일반적으로 최대 30초 미만)이 존재합니다.

# 7단계: 서비스 할당량 한도 확인(선택 사항)
<a name="getting-started-check-service-quota"></a>

모든 계정에는 동시 시청자 수 및 동시 브로드캐스트 수에 제한이 있습니다. *특히 대규모 스트리밍 이벤트를 계획하고 있는 경우 한도가 적절한지 확인하고 필요한 경우 한도를 늘려달라고 요청하세요*. 자세한 내용은 [IVS Service Quotas](service-quotas.md)를 참조하세요.

# 8단계: 원치 않는 콘텐츠 및 뷰어 방지(권장)
<a name="getting-started-prevent-undesired-content"></a>

악의적인 사용자는 원치 않는 콘텐츠(예: 프로 스포츠)를 플랫폼에서 다시 스트리밍하거나, 권한 없이 플랫폼의 스트림을 다른 웹사이트에 임베드하려고 시도할 수 있습니다. 이러한 종류의 스트리밍은 비즈니스에 가치를 추가하지 않으면서 애플리케이션에서 제공하는 라이브 스트리밍 비디오의 양과 관련 비용을 크게 증가시킬 수 있습니다. Amazon IVS는 활성 스트림을 중지하는 제어 기능을 제공할 뿐만 아니라 이러한 종류의 동작을 처음부터 감지하고 방지하는 데 도움이 되는 리소스를 제공합니다([Undesired Content and Viewers in IVS](undesired-content.md) 참조).

특정 오리진 및/또는 국가로 재생을 제한하려면 재생 제한 정책을 사용합니다. 참고로, 이러한 정책은 퍼블릭 채널에서만 사용할 수 있습니다. [IVS의 원치 않는 콘텐츠 및 뷰어](undesired-content.md)에서는 프라이빗 채널을 사용하여 원치 않는 콘텐츠를 제어하는 방법도 설명합니다.

재생 제한 정책(예: 지리 차단)은 재생 권한 부여와 동시에 사용할 수 없습니다. 채널에 대해 재생 권한이 활성화된 경우 구성된 재생 제한 정책은 무시됩니다. 프라이빗 채널에 지리적 제한을 적용하려면 재생 토큰을 발급하기 전에 토큰 생성 로직 내에서 사용자의 위치를 확인합니다.