本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 Amazon Chime SDK
您可以使用 Amazon Chime SDK 构建用于发送和接收音频和视频并允许内容共享的实时媒体应用程序。Amazon Chime SDK 独立于任何 Amazon Chime 管理员账户运行,并且不会影响在 Amazon Chime 上托管的会议。相反,Amazon Chime SDK 可提供生成器工具,用于构建自己的会议应用程序。
主题
Amazon Chime SDK 先决条件
使用 Amazon Chime SDK 需要具备以下条件:
编程能力。
一个 AWS 账户。
一个 IAM 角色,其策略用于授予访问亚马逊 Chime 软件开发工具包所使用的 Amazon Chime API 操作的权限,例如 AWS 托管 SDK 策略。AmazonChime有关更多信息,请参阅 Amazon Chime SDK 管理员指南中的 Amazon Chime 如何与 IAM 配合使用和允许用户访问 Amazon Chime SDK 操作。
对于大多数使用案例,您还需满足以下条件:
服务器应用程序 — 管理会议和与会者资源,并将这些资源提供给客户端应用程序。服务器应用程序是在 AWS 账户中创建的,并且必须有权访问前面提到的 IAM 角色。
客户端应用程序 — 从服务器应用程序接收会议和与会者信息,并使用该信息建立媒体连接。
Amazon Chime SDK 概念
以下术语和概念可帮助您了解如何使用 Amazon Chime SDK。
- 会议
-
由唯一
MeetingId
标识的短暂资源。将MeetingId
放置在主持活动会议的一组媒体服务上。 - 媒体服务组
-
主持活动会议的媒体服务组。
- 媒体置放
-
一组代表媒体服务组的区域化 URL。与会者通过其客户端与媒体服务组连接,发送和接收实时音频和视频,并共享屏幕。
- 与会者
-
由唯一
AttendeeId
标识的会议参与者。与会者可以使用 Amazon Chime SDK 客户端库构建的客户端应用程序自由加入和离开会议。 - 加入令牌
-
分配给每位与会者的唯一令牌。与会者使用加入令牌与媒体服务组进行身份验证。
Amazon Chime SDK 架构
下表描述了 Amazon Chime SDK 架构的不同组件如何协同工作,从而为会议和与会者、音频、视频和内容共享提供支持。
- 会议和与会者
-
当服务器应用程序创建 Amazon Chime SDK 会议时,该会议将分配给特定地区的媒体服务。服务中的主机负责在与会者客户端之间安全传输实时媒体。为每位创建的与会者分配唯一加入令牌,这是一种不透明密钥,您的服务器应用程序必须将其安全传输给有权代表与会者加入会议的客户端。每个客户端都使用加入令牌与媒体服务组进行身份验证。客户端结合使用 WebSockets 安全和数据报传输层安全 (DTLS) 来安全地向媒体服务组发送信号,并通过媒体服务组向其他与会者发送和接收媒体。
- 音频
-
媒体服务混合每位与会者的音频,然后在从混音中减去自己的音频后,发送给每位接收者。Amazon Chime SDK 以设备和浏览器支持的最高速率采样音频,最高可达 48kHz。我们使用 Opus 编解码器对音频进行编码,默认比特率为 32kbps,可以将其增加至最高 128kbps 的立体声和 64kbps 的单声道。
- 视频
-
媒体服务使用发布和订阅模式用作选择性转发单元 (SFU)。每位与会者可以发布一个视频源,每次会议最多可同时发布 25 个视频。适用于的 Amazon Chime SDK 客户端库 JavaScript 支持高达 1280x720 的视频分辨率,不带联播,每秒 30 帧,在联播时支持每秒 15 帧的视频分辨率。适用于 iOS、Android 和 Windows 的 Amazon Chime SDK 客户端库支持最高 1280 x 720 的视频分辨率和每秒 30 帧的帧率,但是实际的帧率和分辨率由 Amazon Chime SDK 自动管理。
激活后,视频联播会以两种不同的分辨率和比特率发送每个视频流。带宽受限的客户端会自动订阅较低比特率的视频流。视频编码和解码在可用情况下使用硬件加速来提高性能。
- 数据消息
除了音频和视频内容外,与会者还可以互相发送每条最大 2KB 的实时数据消息。您可以使用消息来实现自定义会议功能,例如白板、聊天、实时表情符号反应以及特定于应用程序的楼层控制信号。
- 内容共享
-
客户端应用程序可以共享音频和视频内容,例如屏幕截图或媒体文件。内容共享支持预先录制视频/音频内容。视频:最高 1280 x 720 分辨率、每秒 15 帧;音频:最高 48kHz、比特率为 64kbps。最多支持每秒 15 帧的内容共享屏幕截图,但可能会受到设备和浏览器功能的限制。
Amazon Chime SDK 服务限额
注意
服务限额视每个 API 终端节点而定。请求增加服务限额时,务必在应用程序使用的所有 API 终端节点上申请增加限额。
该表列出了适用于 Amazon Chime SDK 会议的资源和限额。
资源 | 限额 | 可调整 |
---|---|---|
活动会议数 |
250 |
是 |
每次会议与会者人数 |
250 |
否 |
每次会议的音频流数 |
250 |
否 |
每次会议发布的视频流数 |
25 |
是,最多 250 |
每位与会者订阅的视频流数 |
25 |
否 |
每次会议的内容共享数 |
2 |
否 |
每次主会议的副本会议数 | 4 | 是,最多 40 |
每次会议的活动媒体捕获管道 |
1 |
否 |
每次账户的活动媒体捕获管道 |
us-east-1 终端节点为 100,其他终端节点为 10 |
是 |
API 速率 |
每秒 10 个请求 (RPS),突增限制为 20 RPS。 |
是,但采用间接方式 注意当您增加活动会议限额时,API 速率限制也会增加。 |
Amazon Chime SDK 系统要求
以下系统要求适用于使用 Amazon Chime SDK 创建的应用程序。
支持的浏览器,适用于 Amazon Chime 软件开发工具包的客户端库 JavaScript
操作系统 | 浏览器 | 支持的版本 | 注意 |
---|---|---|---|
Windows |
Mozilla Firefox |
75 及更高版本 |
|
Google Chrome |
78 及更高版本 | ||
基于 Chromium 的 Edge |
79 及更高版本 | ||
基于 Chromium 的 Electron | 7 及更高版本 | Chrome 版本 78 及更高版本。 | |
Opera | 66 及更高版本 | ||
macOS |
Mozilla Firefox |
75 及更高版本 |
|
Google Chrome |
78 及更高版本 | ||
基于 Chromium 的 Edge |
79 及更高版本 | ||
基于 Chromium 的 Electron |
|||
Safari | 13 及更高版本 | ||
Opera | 66 及更高版本 | ||
iOS | Mozilla Firefox | 10 及更高版本 | 仅限音频和视频,无共享内容。 |
Google Chrome | 78 及更高版本 | 仅限音频和视频,无共享内容。 | |
Safari | 13 及更高版本 | 仅限音频和视频,无共享内容。 | |
WK WebView | 14.3 及更高版本 | 仅限音频和视频,无共享内容。 | |
Android | Google Chrome | 10 及更高版本 | 仅限音频和视频,无共享内容。 |
三星 | 12 及更高版本 | 仅限音频和视频,无共享内容。 | |
铬 WebView | 5 及更高版本 | 仅限音频和视频,无共享内容。 | |
Ubuntu LTS 16.04 及更高版本 | Google Chrome | 78 及更高版本 |
适用于 iOS 的 Amazon Chime SDK 客户端库
-
iOS 版本 13 及更高版本
适用于 Android 的 Amazon Chime SDK 客户端库
-
Android OS 版本 5 及更高版本、ARM 和 ARM64 架构