

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 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 Resource Name (ARN)。

目前，對於 `SINGLE_MASTER`類型，產生視訊的裝置能夠同時將音訊和視訊媒體擷取到串流中。只有產生影片的裝置可以加入工作階段並記錄媒體。

**重要**  
WebRTC 擷取目前需要音訊和視訊音軌。  
目前需求：  
視訊軌：H.264
音軌：Ops
影片：  
解析度上限為 SQFHD (1920x1920)
KVS WebRTC 擷取目前支援一組特定的 H264 設定檔：  
限制基準
基準
主要
high
受限 - 高
漸進高

Kinesis 影片串流中產生的擷取影片將具有下列參數：H.264 影片和 AAC 音訊。

一旦主要參與者透過 WebRTC 協商連線，擷取的媒體工作階段將存放在 Kinesis 影片串流中。然後，多個檢視器可以透過我們的播放 APIs 播放即時媒體。

您也可以搭配擷取的 WebRTC 媒體，使用現有的 Kinesis Video Streams 功能，例如 `HLS`或`DASH`播放、透過 [GetImages](https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/gs-getImages.html) 產生影像等等。

**注意**  
目前不支援 S3 映像交付和通知。

**注意**  
假設只有一個產生視訊的裝置用戶端可以與頻道的工作階段建立關聯。如果多個用戶端將特定頻道的工作階段聯結為視訊產生裝置，則以最新的用戶端請求為優先。

 **其他資訊** 
+  **等冪性** - 此 API 不是等冪性。
+  **重試行為** - 這計為新的 API 呼叫。
+  **並行呼叫** - 允許並行呼叫。每次呼叫會傳送一次提議。

## 請求語法
<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 Resource Name (ARN)。  
請注意此輸入參數的大寫。
類型：字串  
模式：`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
```

## 回應元素
<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中使用此 API 的詳細資訊，請參閱下列內容：
+  [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 適用於 C\$1\$1 的 SDK](https://docs.aws.amazon.com/goto/SdkForCpp/kinesis-video-webrtc-storage-2018-05-10/JoinStorageSession) 
+  [AWS 適用於 Go 的 SDK v2](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 適用於 JavaScript V3 的 SDK](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/kinesis-video-webrtc-storage-2018-05-10/JoinStorageSession) 
+  [AWS 適用於 Kotlin 的 SDK](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 適用於 Ruby V3 的 SDK](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 串流。

**重要**  
觀眾目前無法傳送任何視訊軌。觀眾可以傳送選用的音軌，或完全不傳送任何音軌。  
目前的瀏覽者參與者傳送需求：  
視訊軌：不支援
音軌 （選用）：Ops

如果主要參與者目前連接到視訊產生裝置，則 Kinesis 視訊串流中產生的擷取視訊將具有下列參數：H.264 視訊和 AAC 音訊。

**注意**  
檢視器參與者直接連接到儲存工作階段，而不是直接連接到主要參與者。儲存工作階段負責混合、複製和路由媒體到適當的目的地。

**注意**  
如果主要參與者不存在，檢視器將無法互相聆聽。

檢視器參與者透過 WebRTC 協商連線後，只要主要參與者也連線至儲存工作階段，擷取的音訊工作階段就會存放在 Kinesis 視訊串流中。

您也可以搭配擷取的 WebRTC 媒體，使用現有的 Kinesis Video Streams 功能，例如 `HLS`或`DASH`播放、透過 [GetImages](https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/gs-getImages.html) 產生影像等等。

**注意**  
目前不支援 S3 映像交付和通知。

**注意**  
假設只有一個產生視訊的裝置用戶端可以與頻道的工作階段建立關聯。如果多個用戶端將特定頻道的工作階段聯結為視訊產生裝置，則以最新的用戶端請求為優先。

 **限制** 

目前限制已就緒：
+  **檢視器數量上限：**3
+  **檢視器參與者保持連線至儲存工作階段的時間上限，但沒有主要參與者：**3 分鐘

**重要**  
如果檢視器與儲存工作階段中斷連線 （關閉對等連線），其配額 （檢視器限制） 會維持 1 分鐘。在此 1 分鐘期間，檢視器可以使用相同的用戶端 ID 叫用此 API，以重新加入工作階段，而不需要額外的檢視器配額。1 分鐘後，會釋出檢視器配額，供其他檢視器加入。

 **其他資訊** 
+  **等冪 **- 此 API 不是等冪。
+  **重試行為** - 這計為新的 API 呼叫。
+  **並行呼叫** - 允許並行呼叫。每次呼叫會傳送一次提議。

## 請求語法
<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 Resource Name (ARN)。  
請注意此輸入參數的大寫。
類型：字串  
模式：`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
```

## 回應元素
<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中使用此 API 的詳細資訊，請參閱下列內容：
+  [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 適用於 C\$1\$1 的 SDK](https://docs.aws.amazon.com/goto/SdkForCpp/kinesis-video-webrtc-storage-2018-05-10/JoinStorageSessionAsViewer) 
+  [AWS 適用於 Go 的 SDK v2](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 適用於 JavaScript V3 的 SDK](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/kinesis-video-webrtc-storage-2018-05-10/JoinStorageSessionAsViewer) 
+  [AWS 適用於 Kotlin 的 SDK](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 適用於 Ruby V3 的 SDK](https://docs.aws.amazon.com/goto/SdkForRubyV3/kinesis-video-webrtc-storage-2018-05-10/JoinStorageSessionAsViewer) 