

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

# Amazon Kinesis Video WebRTC 스토리지
<a name="API_Operations_Amazon_Kinesis_Video_WebRTC_Storage"></a>

Amazon Kinesis Video WebRTC Storage에서 지원하는 작업은 다음과 같습니다.
+  [JoinStorageSession](API_webrtc_JoinStorageSession.md) 
+  [JoinStorageSessionAsViewer](API_webrtc_JoinStorageSessionAsViewer.md) 

# JoinStorageSession
<a name="API_webrtc_JoinStorageSession"></a>

**참고**  
이 API를 사용하기 전에 `GetSignalingChannelEndpoint` API를 호출하여 WEBRTC 엔드포인트를 요청해야 합니다. 그런 다음 `JoinStorageSession` API 요청에서 엔드포인트와 리전을 지정합니다.

진행 중인 단방향 비디오 및/또는 다방향 오디오 WebRTC 세션에 입력 채널의 비디오 생성 디바이스로 참여합니다. 채널에 대한 기존 세션이 없는 경우 새 스트리밍 세션을 생성하고 신호 채널의 Amazon 리소스 이름(ARN)을 제공합니다.

현재 `SINGLE_MASTER` 유형의 경우 비디오 생성 디바이스는 오디오 및 비디오 미디어를 모두 스트림으로 수집할 수 있습니다. 비디오 생성 디바이스만 세션에 참여하고 미디어를 레코딩할 수 있습니다.

**중요**  
현재 WebRTC 수집에는 오디오 트랙과 비디오 트랙이 모두 필요합니다.  
현재 요구 사항:  
비디오 트랙: H.264
오디오 트랙: Opus
비디오:  
최대 해상도는 SQFHD(1920x1920)입니다.
KVS WebRTC 수집은 현재 특정 H264 프로파일 세트를 지원합니다.  
제약 기준
기준
기본
높음
제한-높음
프로그레시브-높음

Kinesis 비디오 스트림의 결과 수집 비디오에는 H.264 비디오 및 AAC 오디오 파라미터가 있습니다.

마스터 참가자가 WebRTC를 통해 연결을 협상하면 수집된 미디어 세션이 Kinesis 비디오 스트림에 저장됩니다. 그러면 여러 뷰어가 재생 APIs.

수집된 WebRTC 미디어에서 `HLS` 또는 `DASH` 재생, [GetImages](https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/gs-getImages.html)를 통한 이미지 생성 등과 같은 기존 Kinesis Video Streams 기능을 사용할 수도 있습니다.

**참고**  
S3 이미지 전송 및 알림은 현재 지원되지 않습니다.

**참고**  
하나의 비디오 생성 디바이스 클라이언트만 채널의 세션과 연결할 수 있다고 가정합니다. 둘 이상의 클라이언트가 특정 채널의 세션에 비디오 생성 디바이스로 조인하는 경우 가장 최근의 클라이언트 요청이 우선합니다.

 **추가 정보** 
+  **Idempotent** -이 API는 멱등성이 없습니다.
+  **재시도 동작** - 새 API 호출로 계산됩니다.
+  **동시 호출** - 동시 호출이 허용됩니다. 제안은 각 호출당 한 번씩 전송됩니다.

## Request Syntax
<a name="API_webrtc_JoinStorageSession_RequestSyntax"></a>

```
POST /joinStorageSession HTTP/1.1
Content-type: application/json

{
   "channelArn": "string"
}
```

## URI 요청 파라미터
<a name="API_webrtc_JoinStorageSession_RequestParameters"></a>

요청은 URI 파라미터를 사용하지 않습니다.

## 요청 본문
<a name="API_webrtc_JoinStorageSession_RequestBody"></a>

요청은 JSON 형식으로 다음 데이터를 받습니다.

 ** [channelArn](#API_webrtc_JoinStorageSession_RequestSyntax) **   <a name="KinesisVideo-webrtc_JoinStorageSession-request-channelArn"></a>
 신호 채널의 Amazon 리소스 이름(ARN)입니다.  
이 입력 파라미터의 대소문자를 기록해 둡니다.
유형: String  
패턴: `arn:(aws[a-zA-Z-]*):kinesisvideo:[a-z0-9-]+:[0-9]+:[a-z]+/[a-zA-Z0-9_.-]+/[0-9]+`   
필수 여부: 예

## 응답 구문
<a name="API_webrtc_JoinStorageSession_ResponseSyntax"></a>

```
HTTP/1.1 200
```

## Response Elements
<a name="API_webrtc_JoinStorageSession_ResponseElements"></a>

작업이 성공하면 서비스가 비어 있는 HTTP 본문과 함께 HTTP 200 응답을 다시 전송합니다.

## 오류
<a name="API_webrtc_JoinStorageSession_Errors"></a>

모든 작업에 공통되는 오류에 대한 내용은 [일반적인 오류 유형](CommonErrors.md) 섹션을 참조하세요.

 ** AccessDeniedException **   
이 작업을 수행하는 데 필요한 권한이 없습니다.  
HTTP 상태 코드: 403

 ** ClientLimitExceededException **   
 허용된 클라이언트 호출 한도를 초과했기 때문에 Kinesis Video Streams에서 요청을 제한했습니다. 나중에 호출해 보십시오.  
HTTP 상태 코드: 400

 ** InvalidArgumentException **   
이 입력 파라미터의 값이 잘못되었습니다.  
HTTP 상태 코드: 400

 ** ResourceNotFoundException **   
지정된 리소스를 찾을 수 없습니다.  
HTTP 상태 코드: 404

## 참고
<a name="API_webrtc_JoinStorageSession_SeeAlso"></a>

언어별 AWS SDKs
+  [AWS 명령줄 인터페이스 V2](https://docs.aws.amazon.com/goto/cli2/kinesis-video-webrtc-storage-2018-05-10/JoinStorageSession) 
+  [AWS .NET V4용 SDK](https://docs.aws.amazon.com/goto/DotNetSDKV4/kinesis-video-webrtc-storage-2018-05-10/JoinStorageSession) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/kinesis-video-webrtc-storage-2018-05-10/JoinStorageSession) 
+  [AWS Go v2용 SDK](https://docs.aws.amazon.com/goto/SdkForGoV2/kinesis-video-webrtc-storage-2018-05-10/JoinStorageSession) 
+  [AWS Java V2용 SDK](https://docs.aws.amazon.com/goto/SdkForJavaV2/kinesis-video-webrtc-storage-2018-05-10/JoinStorageSession) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/kinesis-video-webrtc-storage-2018-05-10/JoinStorageSession) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/kinesis-video-webrtc-storage-2018-05-10/JoinStorageSession) 
+  [AWS PHP V3용 SDK](https://docs.aws.amazon.com/goto/SdkForPHPV3/kinesis-video-webrtc-storage-2018-05-10/JoinStorageSession) 
+  [AWS Python용 SDK](https://docs.aws.amazon.com/goto/boto3/kinesis-video-webrtc-storage-2018-05-10/JoinStorageSession) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/kinesis-video-webrtc-storage-2018-05-10/JoinStorageSession) 

# JoinStorageSessionAsViewer
<a name="API_webrtc_JoinStorageSessionAsViewer"></a>

**참고**  
이 API를 사용하기 전에 `GetSignalingChannelEndpoint` API를 호출하여 WEBRTC 엔드포인트를 요청해야 합니다. 그런 다음 `JoinStorageSessionAsViewer` API 요청에서 엔드포인트와 리전을 지정합니다.

 `JoinStorageSessionAsViewer`를 사용하면 최종 사용자가 진행 중인 클라우드 레코딩 WebRTC 스트리밍 세션에 참여할 수 있습니다. 이 API는 최종 사용자와 레코딩 에이전트 간에 SDP 제안 및 ICE 후보를 전송하여 WebRTC 연결을 시작하여 최종 사용자가 레코딩 에이전트를 통해 마스터로부터 실시간 비디오를 수신하고 레코딩 에이전트를 통해 양방향 오디오 통신에 참여할 수 있도록 합니다. 연결되면 최종 사용자의 오디오가 제공된 경우 마스터 참가자를 포함하여 연결된 다른 모든 피어에 전달되고 Kinesis Video 스트림에 저장되는 WebRTC 스트림에 통합됩니다.

**중요**  
현재 최종 사용자는 비디오 트랙을 전송할 수 없습니다. 최종 사용자는 선택적 오디오 트랙을 보내거나 트랙을 전혀 보내지 않을 수 있습니다.  
현재 최종 사용자 참가자 전송 요구 사항:  
비디오 트랙: 지원되지 않음
오디오 트랙(선택 사항): Opus

마스터 참가자가 현재 비디오 생성 디바이스에 연결되어 있는 경우 Kinesis 비디오 스트림의 결과 수집 비디오에는 H.264 비디오 및 AAC 오디오 파라미터가 있습니다.

**참고**  
최종 참가자는 마스터 참가자가 아닌 스토리지 세션에 직접 연결합니다. 스토리지 세션은 미디어를 혼합, 복제 및 적절한 대상으로 라우팅하는 작업을 담당합니다.

**참고**  
마스터 참가자가 없는 경우 최종 사용자는 서로 들을 수 없습니다.

최종 사용자가 WebRTC를 통해 연결을 협상하면 마스터 참가자가 스토리지 세션에 연결되어 있는 한 수집된 오디오 세션이 Kinesis 비디오 스트림에 저장됩니다.

수집된 WebRTC 미디어에서 `HLS` 또는 `DASH` 재생, [GetImages](https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/gs-getImages.html)를 통한 이미지 생성 등과 같은 기존 Kinesis Video Streams 기능을 사용할 수도 있습니다.

**참고**  
S3 이미지 전송 및 알림은 현재 지원되지 않습니다.

**참고**  
하나의 비디오 생성 디바이스 클라이언트만 채널의 세션과 연결할 수 있다고 가정합니다. 둘 이상의 클라이언트가 특정 채널의 세션에 비디오 생성 디바이스로 조인하는 경우 가장 최근의 클라이언트 요청이 우선합니다.

 **Limits** 

현재 제한이 적용됩니다.
+  **최대 뷰어 수:** 3
+  **최종 사용자 참가자가 마스터 참가자 없이 스토리지 세션에 연결된 상태로 유지되는 최대 시간:** 3분

**중요**  
최종 사용자가 스토리지 세션에서 연결을 끊는 경우(피어 연결을 끊는 경우) 할당량(최종 사용자 제한)은 1분 동안 소비된 상태로 유지됩니다. 이 1분 동안 최종 사용자는 동일한 클라이언트 ID로이 API를 호출하여 추가 최종 사용자 할당량을 소비하지 않고 세션에 다시 참여할 수 있습니다. 1분 후 최종 사용자 할당량이 릴리스되고 다른 최종 사용자가 참여할 수 있습니다.

 **추가 정보** 
+  **Idempotent** -이 API는 멱등성이 없습니다.
+  **재시도 동작** - 새 API 호출로 계산됩니다.
+  **동시 호출** - 동시 호출이 허용됩니다. 제안은 각 호출당 한 번씩 전송됩니다.

## Request Syntax
<a name="API_webrtc_JoinStorageSessionAsViewer_RequestSyntax"></a>

```
POST /joinStorageSessionAsViewer HTTP/1.1
Content-type: application/json

{
   "channelArn": "string",
   "clientId": "string"
}
```

## URI 요청 파라미터
<a name="API_webrtc_JoinStorageSessionAsViewer_RequestParameters"></a>

요청은 URI 파라미터를 사용하지 않습니다.

## 요청 본문
<a name="API_webrtc_JoinStorageSessionAsViewer_RequestBody"></a>

요청은 JSON 형식으로 다음 데이터를 받습니다.

 ** [channelArn](#API_webrtc_JoinStorageSessionAsViewer_RequestSyntax) **   <a name="KinesisVideo-webrtc_JoinStorageSessionAsViewer-request-channelArn"></a>
신호 채널의 Amazon 리소스 이름(ARN)입니다.  
이 입력 파라미터의 대소문자를 기록해 둡니다.
유형: String  
패턴: `arn:(aws[a-zA-Z-]*):kinesisvideo:[a-z0-9-]+:[0-9]+:[a-z]+/[a-zA-Z0-9_.-]+/[0-9]+`   
필수 여부: 예

 ** [clientId](#API_webrtc_JoinStorageSessionAsViewer_RequestSyntax) **   <a name="KinesisVideo-webrtc_JoinStorageSessionAsViewer-request-clientId"></a>
 발신자 클라이언트의 고유 식별자입니다.  
유형: 문자열  
길이 제약 조건: 최소 길이는 1입니다. 최대 길이는 256입니다.  
패턴: `[a-zA-Z0-9_.-]+`   
필수 여부: 예

## 응답 구문
<a name="API_webrtc_JoinStorageSessionAsViewer_ResponseSyntax"></a>

```
HTTP/1.1 200
```

## Response Elements
<a name="API_webrtc_JoinStorageSessionAsViewer_ResponseElements"></a>

작업이 성공하면 서비스가 비어 있는 HTTP 본문과 함께 HTTP 200 응답을 다시 전송합니다.

## 오류
<a name="API_webrtc_JoinStorageSessionAsViewer_Errors"></a>

모든 작업에 공통되는 오류에 대한 내용은 [일반적인 오류 유형](CommonErrors.md) 섹션을 참조하세요.

 ** AccessDeniedException **   
이 작업을 수행하는 데 필요한 권한이 없습니다.  
HTTP 상태 코드: 403

 ** ClientLimitExceededException **   
 허용된 클라이언트 호출 한도를 초과했기 때문에 Kinesis Video Streams에서 요청을 제한했습니다. 나중에 호출해 보십시오.  
HTTP 상태 코드: 400

 ** InvalidArgumentException **   
이 입력 파라미터의 값이 잘못되었습니다.  
HTTP 상태 코드: 400

 ** ResourceNotFoundException **   
지정된 리소스를 찾을 수 없습니다.  
HTTP 상태 코드: 404

## 참고
<a name="API_webrtc_JoinStorageSessionAsViewer_SeeAlso"></a>

언어별 AWS SDKs
+  [AWS 명령줄 인터페이스 V2](https://docs.aws.amazon.com/goto/cli2/kinesis-video-webrtc-storage-2018-05-10/JoinStorageSessionAsViewer) 
+  [AWS .NET V4용 SDK](https://docs.aws.amazon.com/goto/DotNetSDKV4/kinesis-video-webrtc-storage-2018-05-10/JoinStorageSessionAsViewer) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/kinesis-video-webrtc-storage-2018-05-10/JoinStorageSessionAsViewer) 
+  [AWS Go v2용 SDK](https://docs.aws.amazon.com/goto/SdkForGoV2/kinesis-video-webrtc-storage-2018-05-10/JoinStorageSessionAsViewer) 
+  [AWS Java V2용 SDK](https://docs.aws.amazon.com/goto/SdkForJavaV2/kinesis-video-webrtc-storage-2018-05-10/JoinStorageSessionAsViewer) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/kinesis-video-webrtc-storage-2018-05-10/JoinStorageSessionAsViewer) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/kinesis-video-webrtc-storage-2018-05-10/JoinStorageSessionAsViewer) 
+  [AWS PHP V3용 SDK](https://docs.aws.amazon.com/goto/SdkForPHPV3/kinesis-video-webrtc-storage-2018-05-10/JoinStorageSessionAsViewer) 
+  [AWS Python용 SDK](https://docs.aws.amazon.com/goto/boto3/kinesis-video-webrtc-storage-2018-05-10/JoinStorageSessionAsViewer) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/kinesis-video-webrtc-storage-2018-05-10/JoinStorageSessionAsViewer) 