

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 了解 Amazon Chime SDK 的通话录音工作流程
<a name="recording-workflows"></a>

本节中的主题列出并描述了录制通话和 Kinesis 视频流的工作流程。

# 录制 Voice Connector 通话
<a name="record-vc-calls"></a>

在以下情况下使用此工作流程：
+ 您已经使用或计划使用 Voice Connector 将 SIP 媒体引入呼叫分析。
**注意**  
Voice Connector 支持 SIP 和 SIPREC。有关更多信息，请参阅《Amazon Chime SDK 管理员指南》**中的[管理 Amazon Chime SDK Voice Connector](https://docs.aws.amazon.com/chime-sdk/latest/ag/voice-connectors.html)。
+ 您想以低延迟自动录制到您选择的 Amazon Simple Storage Service 目的地的 SIP 或 SIPREC 呼叫。
+ 您想使用 Amazon Chime SDK 控制台来创建配置并将其与 Voice Connector 关联。
+ 您想对每个 Voice Connector 呼叫应用相同的录音配置。如果要对一个或多个 Voice Connector 应用多种配置，请参阅下一节。

要启用以编程方式调用，请使用以下 Amazon Ch APIs ime 软件开发工具包。
+ 使用 [https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaInsightsPipelineConfiguration.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaInsightsPipelineConfiguration.html) API 创建呼叫分析配置
+ 使用 [https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_voice-chime_CreateVoiceConnector.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_voice-chime_CreateVoiceConnector.html) 创建 Voice Connector。
+ 使用 [https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_PutVoiceConnectorStreamingConfiguration.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_PutVoiceConnectorStreamingConfiguration.html) API 将配置与 Voice Connector 关联。

有关更多信息，请参阅《Amazon Chime SDK 管理员指南》**中的[配置 Voice Connector 以使用呼叫分析](https://docs.aws.amazon.com/chime-sdk/latest/ag/configure-voicecon.html)。

 下图显示了 Voice Connector 启动呼叫录音会话时的数据流。图表中的数字对应于下面的带编号的文本。

![\[该图显示了 Voice Connector 开始录制呼叫时的数据流。\]](http://docs.aws.amazon.com/zh_cn/chime-sdk/latest/dg/images/call-analytics-workflow-1.png)


 在图中：

1. 使用 Amazon Chime SDK 控制台或 [https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaInsightsPipelineConfiguration.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaInsightsPipelineConfiguration.html) API 创建呼叫分析配置。在配置创建过程中，您只需激活通话录音，选择所需的录音文件格式，然后指定用于存储录音文件的 Amazon S3 目标即可。有关更多信息，请参阅《Amazon Chime SDK 管理员指南》**中的[创建呼叫分析配置](https://docs.aws.amazon.com/chime-sdk/latest/ag/create-ca-config.html)。

1. 您可以使用 Amazon Chime SDK 控制台或 [https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_PutVoiceConnectorStreamingConfiguration.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_PutVoiceConnectorStreamingConfiguration.html) API 将配置与 Voice Connector 关联起来。要使用控制台，请参阅[配置 Voice Connector 以使用呼叫分析](https://docs.aws.amazon.com/chime-sdk/latest/ag/configure-voicecon.html)。

1. 在拨出呼叫期间，Voice Connector 会接收每个呼叫参与者的音频。

1. 如果将呼叫分析录音配置附加到 Voice Connector，则 Voice Connector 服务将使用媒体管道服务启动呼叫分析录音会话。

1. 媒体管道服务启动监视正在进行的呼叫的呼叫录音处理器。

1. 通话结束后，媒体管道服务会将通话录音文件传送到指定的 Amazon S3 存储桶，并通过 Amazon Kinesis Data Streams 提供录音元数据。如果启用了数据仓库，则呼叫元数据也会进入 Amazon Simple Storage Service 数据仓库。如果使用 SIPREC 将 SIP 音频整合到呼叫分析中，则呼叫元数据会纳入表格格式的 SIPREC 元数据。有关录音表的更多信息，请参阅本节后文中的 [了解 Amazon Chime 软件开发工具包 AWS Glue 的数据目录表](glue-tables.md)。

1. 媒体管道服务将管道状态事件发送到默认的 Amazon EventBridge。有关更多信息，请参阅本指南中的[使用 EventBridge 通知](https://docs.aws.amazon.com/chime-sdk/latest/dg/ca-eventbridge-notifications.html)。

**注意**  
 请注意，您必须启用 Voice Connector 流媒体才能使用 Voice Connector 进行录音。此功能允许将通话数据流式传输到您账户中由 Voice Connector 管理的 Kinesis 视频流。有关更多信息，请参阅《Amazon Chime SDK 管理员指南》**中的[将 Amazon Chime SDK Voice Connector 媒体流式传输到 Kinesis 视频流](https://docs.aws.amazon.com/chime-sdk/latest/ag/start-kinesis-vc.html)。

 您还可以将 Voice Connector 创建的呼叫数据存储在 Kinesis 视频流中，持续时间各不相同，从几小时到几天甚至几年。选择不保留数据会限制呼叫数据的可用性，便于立即使用。Kinesis 视频流的成本是根据使用的带宽和总存储空间来确定的。您可以随时在 Voice Connector 流媒体配置中调整数据保留期。要启用呼叫分析录音，您必须确保 Kinesis 视频流将数据保留足够长的时间以进行呼叫分析。您可以通过指定合适的数据保留期来达到此目的。

 您可以根据需要将呼叫见解管道配置与任意数量的 Voice Connector 相关联。您也可以为每个 Voice Connector 创建不同的配置。语音连接器使用代表您 AWSServiceRoleForAmazonChimeVoiceConnector 为每个交易 ID 调用 [https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaInsightsPipeline.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaInsightsPipeline.html)API 一次。有关该角色的信息，请参阅《Amazon Chime SDK 管理员指南》**中的[为 Amazon Chime SDK Voice Connector 使用 Amazon Chime SDK 服务相关角色](https://docs.aws.amazon.com/chime-sdk/latest/ag/using-service-linked-roles-stream.html#service-linked-role-permissions-stream)。

# 与 Amazon Kinesis 视频流制作人一起录制
<a name="record-kvs-streams"></a>

在以下情况下，您可以录制 Amazon Kinesis 视频流：
+ 您需要对呼叫应用不同的配置，而不是为每个 Voice Connector 呼叫使用相同的配置。
+ 您想要录制未由 Voice Connector 处理的 SIP 或非 SIP 音频。

 要使用此通话录音选项，您需要将音频发布到 Kinesis 视频流（KVS），然后使用 KVS 流频道信息和呼叫分析配置 ARN 调用 [https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaInsightsPipeline.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaInsightsPipeline.html) API。

**注意**  
通话分析最多 APIs 支持两个音频通道。您也可以启用 Voice Connector 流式传输，然后使用语音连接器 EventBridge 通知中发布的 KVS 信息启动通话录音。

 在调用 [https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaInsightsPipeline.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaInsightsPipeline.html) API 时，您可以选择是否为每个 KVS 流频道定义指定片段编号。如果您提供片段编号，则呼叫分析将开始处理该片段上的流。如果您未指定片段 ID，则呼叫分析将开始处理来自最新可用片段的流。

 下图显示了 Voice Connector 启动呼叫录音会话时的数据流。图表中的数字对应于下面的带编号的文本。

![\[该图显示了 Voice Connector 开始录制呼叫时的数据流。\]](http://docs.aws.amazon.com/zh_cn/chime-sdk/latest/dg/images/call-analytics-workflow-2.png)


在图中：

1. 您可以使用 Amazon Chime SDK 控制台或 [https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaInsightsPipelineConfiguration.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaInsightsPipelineConfiguration.html) API 来创建通话录音配置。

1. 使用 AWS SDK 创建可将外部音频推送到 KVS 的应用程序，或者启用 Voice Connector 流式传输将通话音频自动发布到 KVS。有关更多信息，请参阅《Amazon Chime SDK 管理员指南》**中的[将 Amazon Chime SDK Voice Connector 媒体流式传输到 Kinesis 视频流](https://docs.aws.amazon.com/chime-sdk/latest/ag/start-kinesis-vc.html)。

1. 如果启用了语音连接器流式传输，则语音连接器服务会将通知发送到默认设置 EventBridge。

1. 如果是 Voice Connector 流式传输，您的应用程序可以使用来自的 Amazon Chime Voice Connector 流媒体`STARTED`事件 EventBridge 来收集有关通话时段的 KVS 直播信息。

1. 当您的应用程序获得来自 Voice Connector 流式传输事件或外部来源的音频信息后，您的应用程序就会调用 Amazon Chime SDK [https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaInsightsPipeline.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaInsightsPipeline.html) API。

1. 媒体管道服务启动监视正在进行的呼叫的呼叫录音处理器。

1. 媒体管道服务将管道状态事件发送到默认的 Amazon EventBridge。有关更多信息，请参阅[使用 EventBridge 通知](https://docs.aws.amazon.com/chime-sdk/latest/dg/ca-eventbridge-notifications.html)。

1. 通话完成后，媒体管道服务会将通话录音文件传送到指定的 Amazon S3 存储桶，并通过 Amazon Kinesis Data Streams 提供录音元数据。如果启用了数据仓库，则呼叫元数据也将发送到 Amazon S3 数据仓库。如果使用 SIPREC 将 SIP 音频整合到呼叫分析中，则呼叫元数据会纳入采用方便表格格式的 SIPREC 元数据。有关录音表的更多信息，请参阅本节后文中的 [了解 Amazon Chime 软件开发工具包 AWS Glue 的数据目录表](glue-tables.md)。

1. 您的应用程序可以使用发布到 Amazon 的事件监控管道，如果是语音连接器，还可以监控通话状态 EventBridge。有关更多信息，请参阅本指南中的[使用 EventBridge 通知](https://docs.aws.amazon.com/chime-sdk/latest/dg/ca-eventbridge-notifications.html)。

1. 要终止录音，请调用 [https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_DeleteMediaPipeline.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_DeleteMediaPipeline.html) API 终止通话录音。

有关基于 API 的录制和示例，请参阅本指南中的 [Amazon S3 录制接收器](https://docs.aws.amazon.com/chime-sdk/latest/dg/ca-processors-sinks.html#ca-s3-recording-sink)。

# 使用 CLI 开始录制
<a name="using-the-cli-to-start-recording"></a>

本节中的示例向您说明如何执行以下操作：
+ 使用 CLI 运行呼叫分析配置并调用 [https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaInsightsPipeline.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaInsightsPipeline.html)。
+ 使用 CLI 指定录制目标、音频文件格式和音频文件名。

**Topics**
+ [

## 运行配置并启动管道
](#cli-run-config)
+ [

## 设置目的地、名称和格式
](#cli-set-buckets-formats)

## 运行配置并启动管道
<a name="cli-run-config"></a>

使用以下命令运行配置并启动媒体见解管道。pipeline.json 文件包含配置设置。

```
aws chime-sdk-media-pipeline create-media-insights-pipeline --cli-input-json file://pipeline.json
```

以下示例介绍了典型的 `pipeline.json` 文件。

```
{
    "MediaInsightsPipelineConfigurationArn": arn:aws:chime:region;account_id:media-insights-pipeline-configuration/MyConfiguration,
    "KinesisVideoStreamRecordingSourceRuntimeConfiguration": {
        "Streams": [
            {
                "StreamArn": kinesis_video_stream_arn_1
            },
            {
                "StreamArn": kinesis_video_stream_arn_2
            }
        ],
        "FragmentSelector": {
            "FragmentSelectorType": "selector_type", // Specify "server_timestamp" or "producer_timestamp" as the fragment selector type
            "TimestampRange": {
                "StartTimestamp": epoch_time_seconds,
                "EndTimestamp": epoch_time_seconds
            }
        }
    },
    "S3RecordingSinkRuntimeConfiguration": {
        "Destination": arn:aws:s3:::bucket_name/prefix/optional_file_name,
        "RecordingFileFormat": file_format // Specify "Opus" or "WAV" as the recording file format, if you want to override the configuration
    }
}
```

`MediaInsightsPipelineConfigurationArn` 是您在创建呼叫分析配置后收到的配置 ARN。

## 设置目的地、名称和格式
<a name="cli-set-buckets-formats"></a>

 以下示例使用名为 `MyRecordingBucket` 的文件夹用作 `S3SinkConfiguration.Destination` 值，将 `Opus` 用作 `RecordingFileFormat` 值。

```
arn:aws:s3:::MyRecordingBucket/voice-connector-id/transaction-id_year-month-date-hour-minute-second-millisecond.ogg
```

以下示例将 `MyRecordingBucket` 用作 `S3SinkConfiguration.Destination` 值，将 `Wav` 用作 `RecordingFileFormat` 值。

```
arn:aws:s3:::MyRecordingBucket/voice-connector-id/transaction-id_year-month-date-hour-minute-second-millisecond.wav
```