

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

# 為 Amazon Chime SDK 會議建立媒體擷取管道
<a name="capture-pipe-config"></a>

媒體擷取管道會擷取音訊、影片和內容共用串流，以及會議事件和資料訊息。所有媒體擷取管道都會將其資料儲存至您建立的 [Amazon Simple Storage Service](https://aws.amazon.com/s3/) (S3) 儲存貯體。您可以為每個 Amazon Chime SDK 會議建立一個媒體擷取管道。

下列各節說明如何建立媒體擷取管道。請按照所列順序參閱。

**Topics**
+ [為 Amazon Chime SDK 媒體擷取管道建立 Amazon S3 儲存貯體](create-s3-bucket.md)
+ [為 Amazon Chime SDK 媒體擷取管道的 Amazon S3 儲存貯體啟用伺服器端加密](sse-kms.md)
+ [使用 AWS KMS 金鑰啟用物件層級伺服器端加密](using-kms-keys-for-encryption.md)
+ [建立 Amazon Chime SDK 媒體擷取管道](create-capture-pipe.md)
+ [使用 Amazon Chime SDK 媒體擷取成品](artifacts.md)
+ [設定 Amazon Chime SDK 媒體擷取管道的音訊資料夾](configure-audio.md)
+ [設定 Amazon Chime SDK 媒體擷取管道的視訊資料夾](configure-video.md)
+ [了解 Amazon Chime SDK 媒體擷取管道的資料通道資料夾中的訊息](data-channel.md)
+ [了解 Amazon Chime SDK 媒體擷取管道的 Amazon S3 儲存貯體資料夾結構](capture-folder-structure.md)
+ [了解 Amazon Chime SDK 媒體擷取管道的會議事件檔案](meeting-events.md)
+ [了解 Amazon Chime SDK 媒體擷取管道的轉錄檔案](transcription-messages.md)
+ [串連 Amazon Chime SDK 媒體擷取管道的資料串流](concatenate-streams.md)

# 為 Amazon Chime SDK 媒體擷取管道建立 Amazon S3 儲存貯體
<a name="create-s3-bucket"></a>

您可以使用 Amazon S3 主控台的 AWS SDKs 或 AWS CLI 來建立 Amazon S3 儲存貯體。如需詳細資訊，請參閱《*Amazon Simple Storage Service (S3) 使用者指南*》中的[建立儲存貯](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html)體。

媒體擷取管道的 Amazon S3 儲存貯體必須屬於與 Amazon Chime SDK 會議相同的 AWS 帳戶。此外，您必須將 `s3:PutObject`和 `s3:PutObjectAcl`許可授予 Amazon Chime SDK 服務主體 [mediapipelines.chime.amazonaws.com](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html)：//。您可以使用 Amazon S3 主控台或 AWS Command Line Interface () 來執行此操作AWS CLI。Amazon S3 儲存貯體必須屬於其中一個可用的 [Amazon Chime SDK 媒體區域](https://docs.aws.amazon.com/chime-sdk/latest/dg/sdk-available-regions.html)。

**注意**  
請務必將政策新增至 IAM 使用者，以授予對儲存貯體的存取權。此外，如果您使用預設 AWS 停用的區域，則必須在該區域中具有 Amazon S3 儲存貯體。  
根據預設，AWS 會停用下列區域，且您無法在其中託管會議資源，直到您啟用它們：  
非洲 (開普敦)
亞太地區 (香港)
亞太地區 (雅加達)
歐洲 (米蘭)
Middle East (Bahrain)
如果您使用其中一個區域，則必須有 Amazon S3 儲存貯體。即使您使用 Amazon S3 APIs 與預設未封鎖且已有儲存貯體的區域進行通訊，這也適用。如需啟用封鎖區域的詳細資訊，請參閱 [AWS 一般參考中的管理 AWS 區域](https://docs.aws.amazon.com/general/latest/gr/rande-manage.html)。 **

建立儲存貯體後，請記錄其 ARN。您可以使用它來建立媒體擷取管道。

下列範例顯示 Amazon S3 儲存貯體政策。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "AWSChimeMediaCaptureBucketPolicy",
    "Statement": [
        {
            "Sid": "AWSChimeMediaCaptureBucketPolicy",
            "Effect": "Allow",
            "Principal": {
                "Service": "mediapipelines.chime.amazonaws.com"
            },
            "Action": [ "s3:PutObject", "s3:PutObjectAcl" ],
            "Resource": "arn:aws:s3:::Bucket_Name/*",
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "123456789012"
                },
                "ArnLike": {
                "aws:SourceArn": "arn:aws:chime:*:123456789012:*"
                }
            }
        }
    ]
}
```

------

# 為 Amazon Chime SDK 媒體擷取管道的 Amazon S3 儲存貯體啟用伺服器端加密
<a name="sse-kms"></a>

若要啟用 Amazon Simple Storage Service (Amazon S3) 儲存貯體的伺服器端加密，您可以使用以下類型的加密金鑰：
+ Amazon S3 受管金鑰
+ Key AWS Management Service (KMS) 中的客戶受管金鑰
**注意**  
Key Management Service 支援兩種類型的金鑰：客戶受管金鑰和 AWS 受管金鑰。Amazon Chime SDK 會議僅支援客戶受管金鑰。

## 使用 Amazon S3 受管金鑰
<a name="s3-keys"></a>

您可以使用 Amazon S3 主控台、CLI 或 REST API 來啟用 Amazon S3 儲存貯體的伺服器端加密。在這兩種情況下，選擇 **Amazon S3 金鑰**做為加密金鑰類型。不需要進一步的動作。當您使用 儲存貯體進行媒體擷取時，成品會在伺服器端上傳和加密。如需詳細資訊，請參閱《[Amazon S3 使用者指南》中的指定 Amazon S3 加密](https://docs.aws.amazon.com/AmazonS3/latest/userguide/specifying-s3-encryption.html)。 *Amazon S3 * 

## 使用您擁有的金鑰
<a name="customer-key"></a>

若要使用您管理的金鑰啟用加密，您需要使用客戶受管金鑰啟用 Amazon S3 儲存貯體的伺服器端加密，然後將陳述式新增至金鑰政策，以允許 Amazon Chime 使用金鑰並加密任何上傳的成品。

1. 在 KMS 中建立客戶受管金鑰。如需這麼做的相關資訊，請參閱《*Amazon S3 使用者指南*》中的[使用 AWS KMS (SSE-KMS) 指定伺服器端加密](https://docs.aws.amazon.com/AmazonS3/latest/userguide/specifying-kms-encryption.html)。

1. 將陳述式新增至金鑰政策，允許 `GenerateDataKey`動作產生金鑰以供 Amazon Chime SDK 服務主體 使用`mediapipelines.chime.amazonaws.com`。

   此範例顯示典型的 陳述式。

   ```
   ...
   {
       "Sid": "MediaPipelineSSEKMS",
       "Effect": "Allow",
       "Principal": {
           "Service": "mediapipelines.chime.amazonaws.com"
       },
       "Action": "kms:GenerateDataKey",
       "Resource": "*",
       "Condition": {
           "StringEquals": {
              "aws:SourceAccount": "Account_Id"
           },
           "ArnLike": {
               "aws:SourceArn": "arn:aws:chime:*:Account_Id:*"
           }
       }
   }
   ...
   ```

1. 如果您使用媒體串連管道，請將陳述式新增至金鑰政策，`mediapipelines.chime.amazonaws.com`以允許 Amazon Chime SDK 服務主體 使用 `kms:Decrypt`動作。

1. 設定 Amazon S3 儲存貯體以使用 金鑰啟用伺服器端加密。

# 使用 AWS KMS 金鑰啟用物件層級伺服器端加密
<a name="using-kms-keys-for-encryption"></a>

媒體擷取管道和媒體串連管道可以使用 AWS Key Management Service (AWS KMS) 客戶受管金鑰，為 Amazon S3 儲存貯體中的個別物件啟用伺服器端加密 (SSE)。若要設定此項目，您必須使用 [CreateMediaCapturePipeline](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaCapturePipeline.html) API 呼叫。媒體串連管道將使用相關聯媒體擷取管道的伺服器端加密參數。

若要使用客戶受管金鑰為個別物件啟用 SSE AWS KMS （物件層級 SSE)，您必須在 [CreateMediaCapturePipeline](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaCapturePipeline.html) API 呼叫`SinkIamRoleArn`期間提供 `SseAwsKeyManagementParams`結構和 ：

1. 使用 `SseAwsKeyManagementParams` 結構中的 `AwsKmsKeyId` 參數來指定 AWS KMS 金鑰。您可以使用金鑰的 ID、ARN 或別名來指定金鑰 ID。

1. 使用 `SinkIamRoleArn` 參數指定 IAM 角色來存取 AWS KMS 金鑰和目的地 Amazon S3 儲存貯體。

1. 或者，您可以使用 `SseAwsKeyManagementParams`結構中的 `AwsKmsEncryptionContext` 參數來指定要使用的加密內容，以及增強安全性的 AWS KMS 金鑰成品。

**注意**  
`AwsKmsKeyId` 和 `SinkIamRoleArn` 參數是相互依存的。當兩者都存在且有效時，媒體擷取管道將擔任 角色，並將每個成品放入具有指定 AWS KMS 金鑰的指定 Amazon S3 儲存貯體接收器。[CreateMediaConcatenationPipeline](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaConcatenationPipeline.html) API 呼叫沒有新參數，但如果指定，將使用上述參數。如果您打算串連成品，請確定您的資源組態已如下[Configuration](#using-kms-keys-for-encryption-config)節所述進行設定，並且會隨著時間持續存在。

## Configuration
<a name="using-kms-keys-for-encryption-config"></a>

`SinkIamRoleArn` 必須有與主體相同的許可和存取權，才能將成品放入 Amazon S3 儲存貯體。如需 Amazon S3 儲存貯體中預期預設許可的詳細資訊，請參閱[為 Amazon Chime SDK 媒體擷取管道建立 Amazon S3 儲存貯體](https://docs.aws.amazon.com/chime-sdk/latest/dg/create-s3-bucket.html)。若要為個別物件啟用 SSE，您的 Amazon S3 儲存貯體必須允許使用 指定的 IAM 角色`SinkIamRoleArn`執行您從呼叫 IAM 身分預期的相同動作集。您可以將下列主體新增至 Amazon S3 儲存貯體許可政策，以達到此目的。

```
...
"Principal": {
    ...
    "AWS": "arn:aws:iam::<YOUR_ACCOUNT_ID>;:role/<SINK_IAM_ROLE_NAME>"
    ...
},
...
```

`AwsKmsKeyId` 應指向允許 執行 `SinkIamRoleArn`的金鑰`GenerateDataKey`。如果將使用媒體串連管道， AWS KMS 金鑰也應該允許使用 `Decrypt`動作。請參閱以下範例。

**注意**  
資源設定為使用萬用字元 `“*”`，在這種情況下， AWS KMS 金鑰政策表示「本身」。

```
{
    "Effect": "Allow",
    "Principal": {
        "AWS": "arn:aws:iam::<YOUR_ACCOUNT_ID>:role/<YOUR_CUSTOMER_ROLE_ID>"
    },
    "Action": [
        "kms:GenerateDataKey",
        "kms:Decrypt"
    ],
    "Resource": "*"
}
```

`SinkIamRoleArn` 角色必須具有信任關係，允許服務擔任該角色。請參閱以下範例。

```
{
    "Effect": "Allow",
    "Principal": {
        "Service": "mediapipelines.chime.amazonaws.com"
    },
    "Action": "sts:AssumeRole",
    "Condition": {
        "StringEquals": {
            "aws:SourceAccount": "<YOUR_ACCOUNT_ID>"
        },
        "ArnLike": {
            "aws:SourceArn": "arn:aws:chime:*:<YOUR_ACCOUNT_ID>:*"
        }
    }
}
```

`SinkIamRoleArn` 應具有下列媒體擷取管道的最低許可政策。請參閱以下範例。

```
{
    "Effect": "Allow",
    "Action": "kms:GenerateDataKey",
    "Resource": "arn:aws:kms:<KMS_KEY_REGION>:<KMS_KEY_ACCOUNT_ID>:key/<MS_KEY_ID>",
    "Condition": {
        "StringEquals": {
            "aws:SourceAccount": "<YOUR_ACCOUNT_ID>"
        },
        "ArnLike": {
            "aws:SourceArn": "arn:aws:chime:*:<YOUR_ACCOUNT_ID>:*"
        }
    }
},
{
    "Effect": "Allow",
    "Action": ["s3:PutObject", "s3:PutObjectAcl"],
    "Resource": "arn:aws:s3:::<YOUR_DEDICATED_KMS_BUCKET_ID>/*",
    "Condition": {
        "StringEquals": {
            "aws:SourceAccount": "<YOUR_ACCOUNT_ID>"
        },
        "ArnLike": {
            "aws:SourceArn": "arn:aws:chime:*:<YOUR_ACCOUNT_ID>:*"
        }
    }
}
```

此外，必須允許呼叫者傳遞`SinkIamRoleArn`至 服務。如果發起人沒有此類許可，則應明確新增。請參閱以下範例。

```
{
    "Effect": "Allow",
    "Action": "iam:PassRole",
    "Resource": "<SINK_IAM_ROLE_ARN>",
    "Condition": {
        "ArnLike": {
            "iam:AssociatedResourceArn": "arn:aws:chime:*:<YOUR_ACCOUNT_ID>:media-pipeline/*"
        },
        "StringEquals": {
            "iam:PassedToService": "mediapipelines.chime.amazonaws.com"
        }
    }
}
```

## 媒體串連實作
<a name="media-concatenation-implementatoin"></a>

如果您打算在媒體擷取後使用媒體串連管道，請參閱 [建置 Amazon Chime SDK 媒體串連管道](create-concat-pipe-steps.md)以了解所需的許可。若要讓管道使用物件層級 SSE 的 AWS KMS 金鑰，必須擴展 AWS KMS 金鑰和 Amazon S3 儲存貯體的`SinkIamRoleArn`許可 （允許的動作）。請參閱以下範例。

```
...
{
    ...
    {
        ...
        "Action": ["kms:GenerateDataKey","kms:Decrypt"]
        "Resource": "arn:aws:kms:<KMS_KEY_REGION>:<KMS_KEY_ACCOUNT_ID>:key/<KMS_KEY_ID>",
        ...
    }
    ...
    {
        "Action": [ "s3:PutObject", "s3:PutObjectAcl", "s3:GetObject", "s3:ListBucket"],
        "Resource": "arn:aws:s3:::<YOUR_DEDICATED_KMS_BUCKET_ID>/*",
    }
    ...
}
...
```

# 建立 Amazon Chime SDK 媒體擷取管道
<a name="create-capture-pipe"></a>

建立和設定 Amazon S3 儲存貯體後，您可以建立媒體擷取管道。

**建立媒體擷取管道**
+ 呼叫 [https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaCapturePipeline.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaCapturePipeline.html) API。

  使用儲存貯體 ARN 做為 `SinkArn` 參數。

成功之後，Amazon Chime SDK 會建立加入並擷取會議的出席者。

建立媒體擷取管道並設定其許可後，您可以建立媒體串連管道，將 5 秒的媒體區塊串連至單一檔案。如需詳細資訊[為 Amazon Chime SDK 會議建立媒體串連管道](create-concat-pipe.md)，請參閱本節稍後的 。

# 使用 Amazon Chime SDK 媒體擷取成品
<a name="artifacts"></a>

在 Amazon Chime SDK 會議期間，媒體擷取管道會建立下列類型的成品。
+ 音訊
+ 影片
+ 資料管道訊息
+ 會議事件
+ 轉錄訊息

管道會在 Amazon S3 儲存貯體中的一組資料夾中建立成品，而且您可以設定音訊和視訊資料夾來限制特定類型的成品。下列各節說明資料夾結構、如何設定資料夾、如何設定 Amazon S3 儲存貯體的許可，以及如何串連成品檔案。

# 設定 Amazon Chime SDK 媒體擷取管道的音訊資料夾
<a name="configure-audio"></a>

音訊資料夾包含混合音訊串流的 5 秒 MP4 檔案，這表示它們包含來自所有出席者的音訊，以及作用中發言者的影片。資料夾包含整個會議的檔案。您可以視需要將 資料夾設定為僅包含音訊成品。每個檔案名稱都包含 *yyyy-mm-dd-hour-min-seconds-milleseconds* 時間戳記。時間戳記以 UTC 為單位，並標記開始時間。您可以將 資料夾設定為僅包含音訊成品。

```
"ArtifactsConfiguration": { 
         "Audio": { 
            "MuxType": "AudioOnly"
         },
         "Content": {
            "State": "Disabled"
         },
         "Video": {
            "State": "Disabled"
         }
      }
```

# 設定 Amazon Chime SDK 媒體擷取管道的視訊資料夾
<a name="configure-video"></a>

影片資料夾包含 5 秒的 MP4 檔案，其中包含影片串流，以及 API 請求中指定的內容共用串流。每個檔案名稱都包含 <yyyy-mm-dd-hour-min-seconds-milleseconds>-<attendeeID> 時間戳記與出席者 ID。內容共用影片區塊會附加為 <yyyy-mm-dd-hour-min-seconds-milleseconds>-<attendeeID>\$1content.mp4。您可以將 資料夾設定為僅包含視訊成品。

```
"ArtifactsConfiguration": { 
         "Audio": { 
            "MuxType": "AudioOnly"
         },
         "Content": {
            "State": "Disabled"
         },
         "Video": {
            "MuxType": "VideoOnly"
            "State": "Enabled"
         }
      }
```

# 了解 Amazon Chime SDK 媒體擷取管道的資料通道資料夾中的訊息
<a name="data-channel"></a>

資料通道資料夾包含 .txt 格式的資料訊息，每個訊息都是 JSON 物件。所有組態選項都會顯示訊息。檔案名稱包含 *yyyy-mm-dd-hour-min-seconds-milleseconds* 時間戳記。此範例顯示訊息中的資料欄位。

```
{
    "Timestamp": "string", 
    "Topic": "string", 
    "Data": "string", 
    "SenderAttendeeId": "string"
}
```

# 了解 Amazon Chime SDK 媒體擷取管道的 Amazon S3 儲存貯體資料夾結構
<a name="capture-folder-structure"></a>

媒體擷取管道的 Amazon S3 儲存貯體使用此資料夾結構。

```
S3 bucket path/
  audio
  video  
  data-channel
  meeting-events
  transcription-messages
```

# 了解 Amazon Chime SDK 媒體擷取管道的會議事件檔案
<a name="meeting-events"></a>

會議事件資料夾包含 .txt 格式的會議事件，每個事件都是 JSON 物件。所有組態選項都會顯示訊息。檔案名稱包含 <yyyy-mm-dd-hour-min-seconds-milleseconds> 時間戳記。此範例顯示典型事件檔案中的欄位和資料。

```
{
    "Timestamp": "string",
    "EventType": "AttendeeJoined | AttendeeLeft | AttendeeVideoJoined | AttendeeVideoLeft | ActiveSpeaker | CaptureStarted | CaptureEnded  | AudioTrackMute | AudioTrackUnmute",
    "EventParameters": {
        # ...
    }
}
```

# 了解 Amazon Chime SDK 媒體擷取管道的轉錄檔案
<a name="transcription-messages"></a>

轉錄訊息資料夾包含 .txt 格式的轉錄檔案。不過， 資料夾只會在您啟用即時轉錄時接收檔案。如需啟用即時轉錄的詳細資訊，請參閱 [使用 Amazon Chime SDK 即時轉錄](meeting-transcription.md)。

資料夾包含所有部分和完整的轉錄訊息，每個訊息都是 JSON 物件。檔案名稱包含 <yyyy-mm-dd-hour-min-seconds-milleseconds> 時間戳記。您可以在 中查看轉錄檔案範例[處理收到的 Amazon Chime SDK 即時文字記錄事件](delivery-examples.md)。

# 串連 Amazon Chime SDK 媒體擷取管道的資料串流
<a name="concatenate-streams"></a>

**注意**  
若要自動化串連媒體擷取成品的程序，請參閱本指南[為 Amazon Chime SDK 會議建立媒體串連管道](create-concat-pipe.md)中的 。

此範例使用 ffmpeg 將視訊或音訊檔案串連至單一 mp4 檔案。首先，建立包含所有輸入檔案的 filelist.txt 檔案。使用此格式：

```
file 'input1.mp4'
file 'input2.mp4'
file 'input3.mp4'
```

接著，使用此命令來串連輸入檔案：

```
ffmpeg -f concat -i filelist.txt -c copy output.mp4
```

如需媒體串連管道的詳細資訊，請參閱本指南[為 Amazon Chime SDK 會議建立媒體串連管道](create-concat-pipe.md)中的 。