

# 步驟 2：建立具有選用參與者錄製的階段
<a name="getting-started-create-stage"></a>

階段是參與者可即時交換影片的虛擬空間。它是即時串流 API 的基本資源。您可以使用主控台或 CreateStage 操作來建立舞台。

建議您儘可能針對每個邏輯工作階段建立一個新階段，並在完成後將其刪除，而不是保留舊階段供重複使用。如果未清除過時的資源 (舊階段，未重複使用)，則可能會更快地達到階段數目上限。

您可以透過 Amazon IVS 主控台或 AWS CLI 建立階段，包含或不包含個別參與者錄製皆可。我們會在下方討論階段建立和錄製。

## 個別參與者錄製
<a name="getting-started-create-stage-ipr-overview"></a>

您可以選擇為階段啟用個別參與者錄製。如果已啟用個別參與者錄製到 S3 的功能，則系統會錄製所有個別參與者廣播至階段，並儲存至您擁有的 Amazon S3 儲存貯體。隨後，錄製內容可用於隨需播放。

*設定它是一個進階選項。*依預設，會在建立階段時停用錄製。

在設定階段進行錄製之前，您必須先建立*儲存空間組態*。這項資源指定了用於為階段儲存錄製串流的 Amazon S3 位置。您可以使用主控台或 CLI 建立和管理儲存空間組態；兩種程序如下所示。建立儲存空間組態之後，您可以在建立階段時 (如下所述) 或稍後透過更新現有階段，將其與階段建立關聯。(在 API 中，請參閱 [CreateStage](https://docs.aws.amazon.com//ivs/latest/RealTimeAPIReference/API_CreateStage.html) 和 [UpdateStage](https://docs.aws.amazon.com//ivs/latest/RealTimeAPIReference/API_UpdateStage.html))。您可以將多個階段與相同的儲存空間組態建立關聯。您可以刪除不再與任何階段關聯的儲存空間組態。

請謹記以下幾點限制：
+ 您必須擁有 S3 儲存貯體。也就是說，設定要錄製的階段之帳戶必須擁有可供儲存錄製內容的 S3 儲存貯體。
+ 階段、儲存空間組態和 S3 位置，皆必須位於相同的 AWS 區域。如果您在其他區域建立階段，並且想要錄製這些階段，則必須亦在這些區域設定儲存空間組態和 S3 儲存貯體。

必須使用您的 AWS 登入資料進行授權，才能錄製到 S3 儲存貯體。為了提供 IVS 必要的存取權限，建立錄製組態時會自動建立 AWS IAM [服務連結角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html) (SLR)：SLR 僅限於在特定儲存貯體上提供 IVS 寫入許可。

請注意，串流位置與 AWS 之間或 AWS 內部的網路問題可能會導致在錄製串流時遺失某些資料。在這些情況下，Amazon IVS 會將即時串流優先於錄製。如需備援，請透過串流工具在本機進行錄製。

如需詳細資訊 (包括如何在錄製的檔案上設定後製處理或 VOD 播放)，請參閱[個別參與者錄製](rt-individual-participant-recording.md)。

### 如何停用錄製
<a name="getting-started-disable-recording"></a>

若要在現有階段上停用 Amazon S3 錄製：
+ 主控台 — 在相關階段的詳細資訊頁面上，在**錄製個別參與者**串流區段中，關閉**自動錄製到 S3** 下的**啟用自動錄製**，然後選擇**儲存變更**。這會移除儲存空間組態與頻道之間的關聯；系統將不再錄製該階段上的串流。
+ CLI — 執行 `update-stage` 命令並將錄製組態 ARN 作為空字串傳入：

  ```
  aws ivs-realtime update-stage --arn arn:aws:ivs:us-west-2:123456789012:stage/abcdABCDefgh --auto-participant-recording-configuration storageConfigurationArn=""
  ```

  這將傳回一個 `storageConfigurationArn` 為空字串的階段物件，表示錄製已停用。

## 建立 IVS 階段的主控台說明
<a name="getting-started-create-stage-console"></a>

1. 開啟 [Amazon IVS 主控台](https://console.aws.amazon.com/ivs)。

   (您也可以透過 [AWS 管理主控台](https://console.aws.amazon.com/)來存取 Amazon IVS 主控台。)

1. 在左側導覽窗格中，選取**階段**，然後選取**建立階段**。**建立階段**視窗出現。  
![\[使用「建立階段」視窗來為其建立新階段及參與者權杖。\]](http://docs.aws.amazon.com/zh_tw/ivs/latest/RealTimeUserGuide/images/Create_Stage_Console_IPR.png)

1. 或者，輸入**階段名稱**。

1. 如果您想要啟用個別參與者錄製，請完成下方[設定自動化個別參與者錄製到 Amazon S3 (選用)](#getting-started-create-stage-ipr) 中的步驟。

1. 選取**建立階段**以建立階段。此時會顯示新階段的階段詳細資訊頁面。

### 設定自動化個別參與者錄製到 Amazon S3 (選用)
<a name="getting-started-create-stage-ipr"></a>

請依照下列步驟，在建立階段時啟用個別參與者錄製：

1. 在**建立階段**頁面的**錄製個別參與者**下，打開**啟用自動錄製**。此時會顯示其他欄位，以選擇**錄製的媒體類型**、選擇現有的**儲存空間組態**或建立新的組態，以及選擇錄製縮圖時是否要有間隔。  
![\[使用錄製個別參與者對話方塊來設定階段的個別參與者錄製。\]](http://docs.aws.amazon.com/zh_tw/ivs/latest/RealTimeUserGuide/images/Create_Stage_Console_enable_IPR.png)

1. 選擇要錄製的媒體類型。

1. 選擇**建立儲存空間組態**。新的視窗將開啟，其中包含用於建立 Amazon S3 儲存貯體並將其附加到新錄製組態的選項。  
![\[使用「建立儲存空間組態」視窗，為階段建立新的儲存空間組態。\]](http://docs.aws.amazon.com/zh_tw/ivs/latest/RealTimeUserGuide/images/Create_Storage_Configuration_IPR.png)

1. 填寫以下欄位：

   1. 您可以選擇性地輸入**儲存空間組態名稱**。

   1. 輸入 **Bucket name (儲存貯體名稱)**。

1. 選擇**建立儲存空間組態**，建立具有專屬 ARN 的新儲存空間組態資源。通常，建立錄製組態需要幾秒鐘，但最多可能需要 20 秒鐘。建立儲存空間組態時，您會返回**建立階段**視窗。接著，**錄製個別參與者**區域會顯示您的新**儲存空間組態**和您建立的 S3 儲存貯體 (**儲存空間**)。  
![\[使用 IVS 主控台來建立階段：已建立新的儲存空間組態。\]](http://docs.aws.amazon.com/zh_tw/ivs/latest/RealTimeUserGuide/images/Create_Stage_Console_Storage_Configuration.png)

1. 您可以選擇啟用其他非預設選項，例如錄製參與者複本、合併個別參與者錄製，以及縮圖錄製。  
![\[使用 IVS 主控台建立階段：啟用進階選項，例如縮圖錄製和 IPR 拼接。\]](http://docs.aws.amazon.com/zh_tw/ivs/latest/RealTimeUserGuide/images/Create_Stage_Console_IPR_Stitching.png)

## 建立 IVS 階段的 CLI 指示
<a name="getting-started-create-stage-cli"></a>

若要安裝 AWS CLI，請參閱[安裝或更新至最新版 AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)。

現在，您可以使用 CLI 並依照下列兩個程序其中之一來建立和管理資源，取決於您是否要建立已啟用或未啟用個別參與者錄製的階段。

### 建立沒有個別參與者錄製的階段
<a name="getting-started-create-stage-cli-without-ipr"></a>

階段 API 位於 ivs-realtime 命名空間下方。例如，若要建立階段：

```
aws ivs-realtime create-stage --name "test-stage"
```

回應為：

```
{
   "stage": {
      "arn": "arn:aws:ivs:us-west-2:376666121854:stage/VSWjvX5XOkU3",
      "name": "test-stage"
   }
}
```

### 建立沒有個別參與者錄製的階段
<a name="getting-started-create-stage-cli-with-ipr"></a>

若要建立已啟用個別參與者錄製的階段：

```
aws ivs-realtime create-stage --name "test-stage-participant-recording" --auto-participant-recording-configuration storageConfigurationArn=arn:aws:ivs:us-west-2:123456789012:storage-configuration/LKZ6QR7r55c2,mediaTypes=AUDIO_VIDEO
```

除此之外，您亦可傳遞 `thumbnailConfiguration` 參數來手動設定縮圖儲存空間和錄製模式，以及縮圖間隔秒數：

```
aws ivs-realtime create-stage --name "test-stage-participant-recording" --auto-participant-recording-configuration storageConfigurationArn=arn:aws:ivs:us-west-2:123456789012:storage-configuration/LKZ6QR7r55c2,mediaTypes=AUDIO_VIDEO,thumbnailConfiguration="{targetIntervalSeconds=10,storage=[SEQUENTIAL,LATEST],recordingMode=INTERVAL}"
```

或者，傳遞 `recordingReconnectWindowSeconds` 參數以啟用合併分段的個別參與者錄製：

```
aws ivs-realtime create-stage --name "test-stage-participant-recording" --auto-participant-recording-configuration "storageConfigurationArn=arn:aws:ivs:us-west-2:123456789012:storage-configuration/LKZ6QR7r55c2,mediaTypes=AUDIO_VIDEO,thumbnailConfiguration="{targetIntervalSeconds=10,storage=[SEQUENTIAL,LATEST],recordingMode=INTERVAL}",recordingReconnectWindowSeconds=60"
```

回應為：

```
{
   "stage": {
      "arn": "arn:aws:ivs:us-west-2:123456789012:stage/VSWjvX5XOkU3",
      "autoParticipantRecordingConfiguration": {
         "hlsConfiguration": {
             "targetSegmentDurationSeconds": 6
         },
         "mediaTypes": [
            "AUDIO_VIDEO"
         ],
         "recordingReconnectWindowSeconds": 60,
         "recordParticipantReplicas": true,
         "storageConfigurationArn": "arn:aws:ivs:us-west-2:123456789012:storage-configuration/LKZ6QR7r55c2",
         "thumbnailConfiguration": {
            "recordingMode": "INTERVAL",
            "storage": [
               "SEQUENTIAL",
               "LATEST"
            ],
            "targetIntervalSeconds": 10
         }
      },
      "endpoints": {
         "events": "<events-endpoint>",
         "rtmp": "<rtmp-endpoint>",
         "rtmps": "<rtmps-endpoint>",
         "whip": "<whip-endpoint>"
      },
      "name": "test-stage-participant-recording"
   }
}
```