本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
适用于 Android 的 WebRTC 开发工具包
以下 step-by-step 说明描述了如何使用安卓版 WebRTC SDK 下载、构建和运行 Kinesis Video Streams 及其相应示例。
注意
Kinesis Video Streams 在安卓系统上不支持 IPv6 地址。有关在安卓设备上禁用 IPv6 的更多信息和步骤,请参阅 https://support.surfshark.com/hc/en-us/articles/360011828279-H ow-to-disable-ipv6-on-
下载适用于 Android 的 WebRTC 开发工具包
要在 Android 中下载 WebRTC 开发工具包,请运行以下命令:
$
git clone https://github.com/awslabs/amazon-kinesis-video-streams-webrtc-sdk-android.git
在 Android 中构建 WebRTC 开发工具包
要在 Android 中构建 WebRTC 开发工具包,请完成以下步骤:
-
选择以项目形式打开打开
amazon-kinesis-video-streams-webrtc-sdk-android/build.gradle
,将安卓 WebRTC SDK 导入 Android Studio 集成式开发环境(IDE)。 -
如果您第一次打开项目,它会自动同步。如果不是,则发起同步。当您看到构建错误时,请选择 Install missing SDK package(s) (安装缺少的开发工具包) 来安装所有必需的开发工具包,然后选择 Accept (接受) 并完成安装。
-
配置 Amazon Cognito(用户池和身份池)设置。有关详细步骤,请参阅为 Android WebRTC 开发工具包配置 Amazon Cognito。这会生成构建 Android WebRTC 开发工具包所需的身份验证和授权设置。
-
在 Android IDE 中,打开
awsconfiguration.json
(从src/main/res/raw/
)。此文件如下所示:{ "Version": "1.0", "CredentialsProvider": { "CognitoIdentity": { "Default": { "PoolId": "REPLACE_ME", "Region": "REPLACE_ME" } } }, "IdentityManager": { "Default": {} }, "CognitoUserPool": { "Default": { "AppClientSecret": "REPLACE_ME", "AppClientId": "REPLACE_ME", "PoolId": "REPLACE_ME", "Region": "REPLACE_ME" } } }
使用通过运行为 Android WebRTC 开发工具包配置 Amazon Cognito中的步骤生成的值更新
awsconfiguration.json
。 -
确保您的 Android 设备已连接到运行 Android IDE 的计算机。在 Android IDE 中,选择连接的设备,然后构建并运行 WebRTC Android 开发工具包。
此步骤将在您的 Android 设备上安装一个名为
AWSKinesisVideoWebRTCDemoApp
的应用程序。使用此应用程序,您可以验证移动、网络和 IoT 设备客户端之间的实时 WebRTC 音频/视频流式传输。
运行 Android 示例应用程序
完成以下步骤:
-
在您的 Android 设备上,使用新的(先创建)或现有的 Amazon Cognito 账户打开AWSKinesisVideoWebRTCDemoApp并登录。
-
在中 AWSKinesisVideoWebRTCDemoApp,导航到 “信道配置” 页面,然后创建新的信令信道或选择现有信令信道。
注意
目前,使用此 SDK 中的示例应用程序,您只能在中AWSKinesisVideoWebRTCDemoApp运行一个信令通道。
-
可选:如果您想以查看器身份连接到此通道,请选择唯一的 Client Id (客户端 ID)。仅当多个查看器连接到一个通道时,才需要客户端 ID。这有助于通道的主设备识别各自的查看器。
-
选择 AWS 区域 区域,然后选择您是要发送音频数据、视频数据,还是发送两者。
-
要验证 peer-to-peer 直播,请执行以下任一操作:
注意
确保您在本演示中使用的所有客户端上指定相同的信令通道名称、AWS 区域、查看器 ID 和 AWS 账户 ID。
-
P 在两台 Android 设备之间进行eer-to-peer 直播:主设备和查看器
-
使用上述步骤,在两个 Android 设备上下载、构建和运行 Android WebRTC 开发工具包。
-
在一台 Android 设备AWSKinesisVideoWebRTCDemoApp上以主模式打开(选择 S TART MASTER),开始新会话(信令信道)。
注意
目前,任何给定信令通道只能有一个主设备。
-
在第二台 Android 设备AWSKinesisVideoWebRTCDemoApp上以查看器模式打开,以连接到在上述步骤中启动的信令频道(会话)(选择 S TART VIEWER)。
验证查看器是否可以看到主设备的音频/视频数据。
-
-
P 在嵌入式 SDK 主站和安卓设备查看器之间进行eer-to-peer 流式传输
-
在摄像头设备上,下载、构建 C 中适用于嵌入式设备的 WebRTC 开发工具包 并以主设备模式运行它。
-
使用上述步骤,在 Android 设备上下载、构建和运行 Android WebRTC 开发工具包。在此 Android 设备AWSKinesisVideoWebRTCDemoApp上以查看器模式打开,确认查看者可以看到嵌入式 SDK 主服务器的音频/视频数据。
-
-
P 在作为主设备的 Android 设备和作为查看器的网络浏览器之间进行eer-to-peer 流式传输
-
使用上述步骤,在 Android 设备上下载、构建和运行 Android WebRTC 开发工具包。在这台 Android 设备AWSKinesisVideoWebRTCDemoApp上以主模式打开(选择启动主模式),开始新的会话(信令信道)。
-
下载、构建 带有 WebRTC SDK 的 Kinesis Video Streams 适用于网络应用程序 JavaScript 并以查看器身份运行它,并验证查看器是否可以看到 Android 主设备的音频/视频。
-
-
为 Android WebRTC 开发工具包配置 Amazon Cognito
先决条件
-
建议使用 Android Studio
检查、编辑和运行应用程序代码。我们建议使用最新的稳定版本。 -
在示例代码中,您需要提供亚马逊 Cognito 凭证。
按照以下步骤设置 Amazon Cognito 用户池和身份池。
设置用户池
设置用户池
-
登录 Amazon Cognito 控制台
并验证区域是否正确。 -
在左侧导航栏中,选择 “用户池”。
-
在 “用户池” 部分,选择 “创建用户池”。
-
完成以下各节:
第 1 步:配置登录体验-在 Cognito 用户池登录选项部分,选择相应的选项。
选择下一步。
步骤 2:配置安全要求-选择相应的选项。
选择下一步。
第 3 步:配置注册体验-选择相应的选项。
选择下一步。
步骤 4:配置消息传送-选择相应的选项。
在 IAM 角色选择字段中,选择现有角色或创建新角色。
选择下一步。
第 5 步:集成您的应用程序-选择相应的选项。
在 “初始应用程序客户端” 字段中,选择 “机密客户端”。
选择下一步。
步骤 6:查看并创建-查看您在前面部分中的选择,然后选择创建用户池。
-
在 “用户池” 页面上,选择您刚刚创建的池。
复制用户池 ID 并记下来以备后用。在
awsconfiguration.json
文件中,这是CognitoUserPool.Default.PoolId
。 -
选择 “应用程序集成” 选项卡,然后转到页面底部。
-
在应用程序客户端列表部分,选择您刚刚创建的应用程序客户端名称。
复制客户端 ID 并记下来以备后用。在
awsconfiguration.json
文件中,这是CognitoUserPool.Default.AppClientId
。 -
出示客户机密并记下来以备后用。在
awsconfiguration.json
文件中,这是CognitoUserPool.Default.AppClientSecret
。
设置身份池
设置身份池
-
登录 Amazon Cognito 控制台
并验证区域是否正确。 -
在左侧导航栏中,选择 “身份池”。
-
选择创建身份池。
配置身份池。
步骤 1:配置身份池信任-完成以下部分:
用户访问权限-选择经过身份验证的访问权限
经过身份验证的身份源-选择 Amazon Cognito 用户池
选择下一步。
步骤 2:配置权限-在 “经过身份验证的角色” 部分,填写以下字段:
IAM 角色-选择创建新的 IAM 角色
IAM 角色名称-输入名称并记下来供后续步骤使用。
选择下一步。
步骤 3:Connect 身份提供商-在 “用户池详细信息” 部分中,填写以下字段:
用户池 ID-选择您之前创建的用户池。
应用程序客户端 ID-选择您之前创建的应用程序客户端 ID。
选择下一步。
步骤 4:配置属性-在身份池名称字段中键入名称。
选择下一步。
第 5 步:查看并创建-查看您在每个部分中的选择,然后选择创建身份池。
-
在身份池页面上,选择您的新身份池。
复制身份池 ID 并记下来以备后用。在
awsconfiguration.json
文件中,这是CredentialsProvider.CognitoIdentity.Default.PoolId
。 -
更新 IAM 角色的权限。
登录 AWS Management Console,然后使用以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/
。 在左侧的导航栏中,选择 “角色”。
找到并选择您在上面创建的角色。
注意
如果需要,请使用搜索栏。
选择附加的权限策略。
选择编辑。
选择 JSON 选项卡,然后将策略替换为以下内容:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cognito-identity:*", "kinesisvideo:*" ], "Resource": [ "*" ] } ] }
选择下一步。
如果尚未选中 “将此新版本设为默认版本” 旁边的复选框。
选择保存更改。