亚马逊AWS官方博客

新增功能 — 使用 Amazon IVS 提供交互式实时直播



作为通过交互式实时视频体验将客户与他们最喜欢的网红和品牌联系起来的一种方式,直播正日益受到追捧。我们的客户 DeNARooter 依靠 Amazon Interactive Video Service(Amazon IVS)(一种完全托管的直播解决方案)为观众打造引人入胜的直播体验和交互式视频体验。

3 月,我们在 Amazon IVS 中针对直播中的多位主持人提供支持,通过使用名为 stage 的资源,进一步灵活地构建交互式体验。Stage 是一个虚拟空间,参与者可以在其中实时交换音频和视频。

但是,延迟仍然是吸引受众和丰富整体体验的关键组成部分。延迟越低,就越适合以直接和个性化的方式与现场观众建立联系。以前,Amazon IVS 支持通过 stage 为多达 12 位主持人进行实时直播,通过频道观看的延迟约为 3-5 秒。这种延迟差距限制了更广泛的观众通过直接参与获得交互式体验的能力。

推出 Amazon IVS 实时直播
今天,我很高兴与大家分享,通过 Amazon IVS 实时直播,您现在可以通过 stage 向 1 万名观众传送实时直播,并且最多可以有 12 位主持人,内容从主持人传送到观众的延迟可能低于 300 毫秒。

此功能为您提供了为社交媒体应用程序或拍卖等延迟敏感型应用场景构建交互式视频体验的机会。

现在,您不再需要为了实现观众的实时延迟而做出妥协。无需采用诸如使用多个 AWS 服务或外部工具等变通方法。相反,您只需使用 Amazon IVS 作为集中式服务来提供实时交互式直播,甚至无需在账户上启用任何功能即可开始使用此功能。

使用 Amazon IVS 广播 SDK 提供实时直播
要提供实时直播,您需要与 stage 资源进行交互,并使用在 iOS、Android 和 Web 上可用的 Amazon IVS 广播 SDK。通过 stage,您可以创建一个虚拟空间,允许参与者以观众或主持人的身份加入,其实时延迟可能低于 300 毫秒。

您可以使用 stage 来打造一种体验,让主持人和观众可以一起直播。例如,邀请观众成为主持人并与其他主持人一起参加问答环节、举办歌唱比赛,或者让多位嘉宾参加脱口秀节目。

我们在使用 Amazon IVS 向直播添加多个主持人页面上发布了有关如何开始使用 stage 资源的概述。现在,让我快速回顾一下整个流程以及与 stage 资源进行交互的方法。

首先,您需要创建一个 stage。可以通过控制台执行此操作,也可以使用 Amazon IVS API 以编程方式执行此操作。以下命令是关于如何使用 create-stage API 和 AWS CLI 创建 stage 的示例。

$ aws ivs-realtime create-stage \
    --region us-east-1 \
    --name demo-realtime \
{
    "stage": {
        "arn": "arn:aws:ivs:us-east-1:xyz:stage/mEvTj9PDyBwQ",
        "name": "demo-realtime",
        "tags": {}
    }
}

对于支持参与者以主持人或观众身份加入的 stage 资源,一个关键概念是参与令牌。参与者令牌是一种授权令牌,允许您的参与者发布或订阅 stage。使用 create-stage API 时,还可以生成参与令牌并使用 attributes 添加其他信息,包括自定义用户 ID 及其显示名称。API 会以 stage 详细信息和参与者令牌进行响应。

$ aws ivs-realtime create-stage \
    --region us-east-1 \
    --name demo-realtime \
    --participant-token-configurations userId=test-1,capabilities=PUBLISH,SUBSCRIBE,attributes={demo-attribute=test-1}

{
    "participantTokens": [
        {
            "attributes": {
                "demo-attribute": "test-1"
            },
            "capabilities": [
                "PUBLISH",
                "SUBSCRIBE"
            ],
            "participantId": "p7HIfs3v9GIo",
            "token": "TOKEN",
            "userId": "test-1"
        }
    ],
    "stage": {
        "arn": "arn:aws:ivs:us-east-1:xyz:stage/mEvTj9PDyBwQ",
        "name": "demo-realtime",
        "tags": {}
    }
}

除了 create-stage API 之外,还可以使用 API 以编程方式生成参与者令牌。目前,参与者令牌有两个功能值:PUBLISHSUBSCRIBE。 如果您需要邀请参与者主持,则需要在创建参与者令牌时添加 PUBLISH 功能。使用 PUBLISH 属性,可以将主持人的视频和音频包含到流中。

以下是关于如何生成参与者令牌的示例。

$ aws ivs-realtime create-participant-token \
    --region us-east-1 \
	--capabilities PUBLISH \
	--stage-arn ARN \
	--user-id test-2

{
    "participantToken": {
        "capabilities": [
            "PUBLISH"
        ],
        "expirationTime": "2023-07-23T23:48:57+00:00",
        "participantId": "86KGafGbrXpK",
        "token": "TOKEN",
        "userId": "test-2"
    }
}

生成参与者令牌后,您需要使用 WebSocket 消息等将其分发给各自的客户端。然后,在使用 Amazon IVS 广播 SDK 的客户端应用程序中,您可以使用此参与者令牌让您的用户以主持人或观众的身份加入 stage。要详细了解如何与 stage 资源进行交互,可以查看适用于 iOSAndroid 的示例演示,以及支持用于实时演示的无服务器应用程序

此时,您可以使用 stage 向 1 万名观众传送实时直播。如果您需要将直播扩展到更广泛的观众,则可以使用 stage 作为频道输入,并使用 Amazon IVS 低延迟直播功能。通过频道,您可以将来自单一来源的高并发视频传送给数百万观众,而且延迟可以低于 5 秒。您可以在 Amazon IVS 广播 SDK 文档页面上了解有关如何向频道发布 stage 的更多信息,该页面包含适用于 iOS、Android 和 Web 的信息。

Amazon IVS 实时直播功能的分层编码功能
最终用户更喜欢高质量的直播。但是,直播的质量取决于各种因素,例如网络连接的运行状况和设备性能。

最常见的情况是,观众收到的视频版本超过其最佳观看配置。例如,如果主持人能够制作高质量的视频,则连接良好的观众可以愉快地欣赏直播,但连接速度较慢的观众会遇到加载延迟甚至无法观看视频的情况。但是,如果主持人只能制作低质量的视频,则连接良好的观众将无法获得获得最佳视频体验,而连接速度较慢的观众将获得更好的体验。

为了解决这个问题,在此次发布中,我们还发布了 Amazon IVS 实时直播功能的分层编码功能。通过分层编码(也称为联播),当您向 stage 发布视频和音频时,Amazon IVS 将自动发送该内容的多种变体。这样可以确保您的观众可以根据自己的网络状况继续以他们所能获得的最佳质量欣赏直播。

客户心声
在专属预览期间,我们听到了客户对 Amazon IVS 实时直播的大量反馈。

Whatnot 是一个直播购物平台和市场,收藏家和爱好者可以在其中与他们的社区建立联系,购买和出售他们热衷的产品。“将直播视频拍卖扩展到我们的全球社区是我们在工程领域面临的主要挑战之一。确保实时延迟对于保持拍卖体验的完整性和刺激感至关重要。通过利用 Amazon IVS 实时直播,我们可以放心地在全球范围内扩展我们的运营,确保我们的整个用户群都能在 Web 或移动平台上获得无缝的高质量实时视频体验。”,工程副总裁 Ludo Antonov 说。

现已推出
Amazon IVS 实时直播服务适用于所有推出 Amazon IVS 的 AWS 区域。要使用 Amazon IVS 实时直播,您需要按小时费率为主持人或观众作为参与者连接到 stage 资源的持续时间付费。

要详细了解 Amazon IVS 的实时直播和低延迟直播功能的优势、应用场景、入门方法和定价详情,请访问 Amazon IVS 页面

祝直播愉快!
Donnie