IVS 提供适用于 Web、Android 和 iOS 的广播 SDK,您可以将其集成到应用程序中。广播 SDK 用于发送和接收视频。如果您已为暂存区配置了 RTMP 摄取,则可以使用任何可以广播到 RTMP 端点的编码器(例如 OBS 或 ffmpeg)。
在这一部分,我们编写了一个简单的应用程序,可让两个或多个参与者进行实时交互。以下步骤将指导您创建一个名为 BasicRealTime 的应用程序。完整的应用程序代码位于 CodePen 和 GitHub 上:
Web
设置文件
首先,创建一个文件夹和一个初始 HTML 和 JS 文件来设置文件:
mkdir realtime-web-example cd realtime-web-example touch index.html touch app.js
您可以使用脚本标签或 npm 安装广播 SDK。为简单起见,示例使用了脚本标签,但如果您稍后选择使用 npm,也能轻易修改。
使用脚本标签
Web 广播 SDK 作为 JavaScript 库分发,可在 https://web-broadcast.live-video.net/1.22.0/amazon-ivs-web-broadcast.js
通过 <script>
标签加载时,该库会在窗口作用域中公开一个名为 IVSBroadcastClient
的全局变量。
使用 npm
安装 npm 程序包:
npm install amazon-ivs-web-broadcast
您现在可以访问 IVSBroadcastClient 对象:
const { Stage } = IVSBroadcastClient;
Android
创建 Android 项目
-
在 Android Studio 中,创建新项目。
-
选择空白视图活动。
注意:在某些较旧版本的 Android Studio 中,基于视图的活动称为空白活动。如果您的 Android Studio 窗口显示空白活动,并且确实不显示空白视图活动,选择空白活动。否则,请勿选择空白活动,因为将使用 View API(而不是 Jetpack Compose)。
-
给项目起一个名称,然后选择完成。
安装广播 SDK
要将 Amazon IVS Android 广播库添加到您的 Android 开发环境中,请将该库添加到您模块的 build.gradle
文件,如此处所示(适用于最新版本的 Amazon IVS 广播 SDK)。在较新的项目中,mavenCentral
存储库可能已经包含在您的 settings.gradle
文件中,如果是这种情况,您可以省略 repositories
数据块。对于我们的示例,我们还需要在 android
数据块中启用数据绑定。
android { dataBinding.enabled true } repositories { mavenCentral() } dependencies { implementation 'com.amazonaws:ivs-broadcast:1.28.1:stages@aar' }
如要手动安装 SDK,也可从以下位置下载最新版本:
https://search.maven.org/artifact/com.amazonaws/ivs-broadcast
iOS
创建 iOS 项目
-
创建新 Xcode 项目。
-
对于平台,选择 iOS。
-
对于应用程序,选择应用程序。
-
输入应用程序的商品名称,然后选择下一步。
-
选择(导航到)保存项目的目录,然后选择创建。
接下来您需要引入 SDK。我们建议您通过 CocoaPods 集成广播开发工具包。或者,您可以手动将框架添加至项目。这两种方法如下所述。
建议:安装广播 SDK(CocoaPods)
假设您的项目名称是 BasicRealTime
,使用下列内容在项目文件夹中创建 Podfile
,然后运行 pod install
:
target 'BasicRealTime' do # Comment the next line if you don't want to use dynamic frameworks use_frameworks! # Pods for BasicRealTime pod 'AmazonIVSBroadcast/Stages' end
替代方法:手动安装框架
-
最新版本下载链接:https://broadcast.live-video.net/1.28.1/AmazonIVSBroadcast-Stages.xcframework.zip
。 -
提取归档的内容。
AmazonIVSBroadcast.xcframework
包含适用于设备和模拟器的开发工具包。 -
通过以下方法嵌入
AmazonIVSBroadcast.xcframework
:将其拖动到应用程序目标 General(常规)选项卡上的 Frameworks, Libraries, and Embedded Content(框架、库和嵌入式内容)部分:
配置权限
您需要更新项目的 Info.plist
,以便为 NSCameraUsageDescription
和 NSMicrophoneUsageDescription
添加两个新条目。对于这些值,请提供面向用户的说明,解释您的应用程序为何要求访问相机和麦克风。
