通过 Amazon IVS 构建低延迟直播 - 流媒体频道与聊天集成
构建低延迟直播频道,将播放器 SDK 和聊天功能集成到应用程序。同时介绍录制和剪辑功能。
IVS 概述
IVS 是以托管方式提供低延迟直播视频流的服务。使用与 Twitch 相同的基础设施,以 2-5 秒延迟全球分发。与 MediaLive + MediaPackage 组合相比配置大幅简化,仅需创建频道和设置流密钥即可开始直播。同时集成提供聊天功能和实时流媒体。IVS 提供标准频道(自动转码)和基本频道(无转码,降低成本)两种类型,根据用途选择。
频道与聊天集成
创建频道后颁发流密钥,在 OBS Studio 的直播设置中输入端点 URL 和流密钥即可开始直播。IVS 自动处理转码(生成多种画质)和 CDN 分发。播放器 SDK 支持 Web (JavaScript)、iOS 和 Android,提供播放控制、画质切换和元数据事件处理。定时元数据 API 可将与直播视频同步的交互元素(问答、投票、商品展示)发送到播放器。IVS Chat 基于 WebSocket 实现实时聊天,内置消息审核(禁词过滤、用户静音)。通过 Lambda 控制聊天令牌的发放,可实现与现有认证基础设施集成的发言权限管理。
录制与剪辑功能
启用 IVS 自动录制功能后,直播内容以 HLS 格式自动保存到 S3。录制可在直播结束后作为存档使用,通过 CloudFront 作为 VOD (Video on Demand) 内容分发。剪辑功能可从直播中截取特定片段生成短视频,用于社交媒体分享或精彩集锦制作。缩略图也自动生成,可作为直播中的预览图片使用。实时流媒体功能使用 WebRTC 实现多参与者以视频通话形式加入直播,构建直播电商和在线活动的交互体验。 如需系统学习 IVS,相关书籍 (Amazon) 可供参考。
用例架构
直播电商场景中,组合 IVS 频道 + 定时元数据(同步商品展示)+ IVS Chat(观众提问)+ Lambda(购买处理)。主播介绍商品时发送元数据,在播放器上显示「购买」按钮。教育/网络研讨会场景中,使用实时流媒体 (WebRTC) 实现讲师与学员的双向交互,录制内容后续作为 VOD 提供。游戏直播中,标准频道的自动画质切换 (ABR) 适应观众网络环境,即使移动网络也能提供流畅观看体验。大规模活动(数千同时观看者)中,IVS 自动扩展无需容量规划,但聊天消息速率超过每秒数百条时需考虑消息间隔限制设置。
与 MediaLive + MediaPackage 的比较
IVS 针对「立即开始直播」的场景优化,从频道创建到开始直播仅需几分钟。而 MediaLive + MediaPackage 支持广播级工作流(DRM、SCTE-35 广告标记、多 CDN 输出、冗余输入),具备电视广播级功能。IVS 延迟为 2-5 秒(实时流媒体低于 300 毫秒),MediaLive + MediaPackage 通常为 10-30 秒。定价方面,IVS 按输入/输出时间的简单按量计费,但同时观看者多时输出成本急增。MediaLive 按频道时间计费,无论观看者数量都有固定成本,但大量观看时单价更低。小规模、交互优先选 IVS,大规模、广播品质优先选 MediaLive + MediaPackage。
IVS 费用体系
IVS 按直播视频的输入时间和输出时间计费。输入是从主播接收视频,输出是向观众分发。SD 画质输入每小时约 2 美元,HD 画质约 4 美元。输出根据观众数和画质计费,同时观看人数越多成本越高。聊天功能按发送消息数计费,每 100 万条约 3 美元。基本频道因无转码而输入成本更低,适合所有观众都有高速网络的内部直播。根据观众网络环境优化直播画质,避免不必要的高画质转码以控制成本。录制保存到 S3 时,S3 存储费用另行计算。
总结
IVS 是利用 Twitch 基础设施的低延迟直播服务。仅需创建频道和设置流密钥即可以 2-5 秒延迟开始直播,通过聊天集成和定时元数据构建互动观看体验。架构模式支持直播电商、教育和游戏直播等用例。自动录制将 VOD 内容保存到 S3,实时流媒体还支持基于 WebRTC 的多参与者直播。需要广播级工作流时可考虑 MediaLive + MediaPackage。