创建 Amazon Chime SDK 媒体流管道
Chime 媒体流管道必须与 Amazon Chime SDK 会议属于同一个 AWS 账户。您可以通过调用 CreateMediaStreamPipeline API 并指定来源和接收器来创建 Amazon Chime SDK 媒体流管道。
下图显示 Amazon Chime SDK 媒体流管道的架构。图表中的数字对应于以下带编号的文本。
在图中:
-
您调用
CreateMediaStreamPipeline
API。在请求中,指定流的来源和接收器。是否想要捕获单个音频和/或混合音频。请求中包含 KVS 池的 ARN。-
来源数组由
SourceType
和SourceArn
组成。您必须使用ChimeSdkMeeting SourceType
。SourceArn
是ChimeSdkMeeting
的 ARN。 -
接收器数组由
SinkType
、SinkArn
、ReservedStreamCapacity
和MediaStreamType
组成。我们仅支持KinesisVideoStreamPoolSinkType
。SinkArn
是KinesisVideoStreamPool
的 ARN。MediaStreamType
控制流式传输到接收器的媒体类型,MixedAudio
或IndividualAudio
。ReservedStreamCapacity
设置为KinesisVideoStreamPool
的MediaStreamType
分配的流数量。-
如果要同时流式传输
IndividualAudio
和MixedAudio
,则在Sinks
数组中创建两个接收器对象,一个用于IndividualAudio
,另一个用于MixedAudio
。SinkArn
(KinesisVideoStreamPool
的 ARN)可能因每个接收器的不同而有所不同。 -
要仅流式传输单个音频或混合音频,创建一个包含所需
MediaStreamType
的接收器对象。
-
-
注意以下几点:
-
使用
KinesisVideoStreamPool
作为SinkType
调用 CreateMediaStreamPipeline API 时,SinkARN
必须属于正在调用的CreateMediaStreamPipeline
所在的控制面板区域。例如,如果您在
us-east-1
中创建媒体流管道,则必须使用us-east-1
中的KinesisVideoStreamPool
。 -
ReservedStreamCapacity
应在您指定MixedAudio
MediaStreamType
时为1
,并且在指定IndividualAudio
MediaStreamType
时介于1-10
之间。
-
-
-
媒体管道数据面板调用 KVS PutMedia API 将单个音频存储在属于您指定 KVS 池的 KVS 流中。
-
媒体管道数据面板调用 KVS
PutMedia
API 将混合音频存储在属于您指定 KVS 池的流中。
注意
调用 CreateMediaStreamPipeline API 后,生成器可以使用媒体管道事件或调用 GetMediaPipeline API 确定管道状态是否为 InProgress
。
管道状态达到 InProgress
后,媒体(IndividualAudio
和 MixedAudio
的任意组合)就会流式传输到 KVS。
对于 IndividualAudio
流类型,与会者 ID 和从 KinesisVideoStreamPool
中分配的 KVS 流之间存在 1:1 映射。此映射适用于媒体管道的整个生命周期。
要了解哪个 KVS 流映射至与会者 ID,或者哪个 KVS 流被分配至 MixedAudio,使用以下方法之一:
-
使用事件总线通知。每条通知提供诸如与会者 ID 以及流式传输至与会者音频的 KVS ARN 之类的信息。当
IndividualAudio
或MixedAudio
流会话开始时,我们会发送一个chime:MediaPipelineKinesisVideoStreamStart
事件。当与会者离开调用(针对IndividualAudio
)或会议结束时,流会话就会结束。 -
使用 Kinesis Video Streams 随每个片段发送的持久性元数据。元数据包含与事件总线发送的内容相似的信息。生成器需要通过此解决方案在 ListStreams Kinesis Video Streams API 中将池名称指定为前缀来解析
KinesisVideoStreamPool
的所有流。
删除会议时或为媒体流管道调用 DeleteMediaPipeline API 时,该媒体流管道就会终止。此外,还会发送事件总线通知以指示媒体管道终止。