本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
多画面画面
Amazon Kinesis Video Streams Multivewer 是一款基于云的 WebRTC 解决方案,它允许多位观众通过一台摄像设备同时加入实时视频直播会话。此功能通过在云端处理视频流来解决边缘设备的带宽和计算限制,而不是要求摄像机向每位观看者发送单独的视频流。
概述
传统的 peer-to-peer WebRTC连接要求相机设备单独向每位观看者发送视频,这可能会使带宽或计算容量有限的设备很快不堪重负。Multiviewer 通过使用基于云的 “混音器” 来解决这个问题,该混音器:
接收来自摄像设备的单个视频流
处理直播并将其转发给多个观众
处理多人对话的音频混音
保留边缘设备的计算和带宽容量
Multiviewer 对于以下用例特别有价值:
智能家居安全:多个家庭成员可以同时查看摄像头画面,而不会降低性能
企业安全:安全团队可以同时监控 Feed
汽车监控:车队经理和控制员可以同时查看车辆摄像头
机器人和无人机:多个操作员可以监控自主系统
教育/监考:多名监考员可以观察考试环节
远程医疗:医疗团队可以参与远程会诊
要求和资源
要使用 Multiviewer,你需要以下资源:
Kinesis Video Streams Streams Streams Streams Stream:视频和音频内容的摄取和存储目的地
WebRTC 信令通道:允许使用 KVS We bRTC 软件开发工具包连接到设备
媒体存储配置:使用 UpdateMediaStorageConfiguration API 链接直播和频道
重要
多画面查看器目前仅在与WebRTC摄取结合使用时才可用。主播或观看者都可以启动 WebRTC 摄取会话,视频和音频轨道同时存储在 Kinesis Video Streams 视频流中,同时分发给多个观众。
设备要求:
相机设备必须支持 KVS WebRTC 软件开发工具包
查看器应用程序必须使用 KVS WebRTC 软件开发工具包
所有参与者都连接到同一个信令信道
曲目要求:
主参与者:WebRTC摄取需要音频和视频轨道
观众参与者:可以发送可选音轨或根本不发送任何曲目。观看者无法发送视频曲目
设置多画面画面
按照以下步骤为您的应用程序配置 Multiviewer:
-
创建必需的资源
使用控制台、CLI 或创建 Kinesis Video Streams 直播和 WebRTC 信令通道。 SDKs有关详细说明,请参阅和。
-
链接资源
使用 UpdateMediaStorageConfiguration API 关联您的直播和频道。此配置启用多画面查看器功能。有关实现的详细信息,请参阅。
-
配置相机应用程序
使用 KVS WebRTC 软件开发工具包实现相机应用程序以调用 API。 JoinStorageSession 这将启动其他观看者可以加入的摄取会话。
-
配置查看器应用程序
使用 KVS WebRTC 软件开发工具包实现查看器应用程序以调用 API。 JoinStorageSessionAsViewer 多个观众可以同时加入同一个会话。
与摄取集成
Multiviewer 是在2023年推出的WebRTC摄取功能的基础上构建的。这种集成有以下几个好处:
自动录制:所有多画面画面会话都会自动录制到 Kinesis Video Streams 中,供日后播放和分析
云处理:视频处理在云端进行,从而减少了边缘设备的计算负载
可扩展架构:基于云的方法可以处理多个并发的多画面会话
一致的体验:无论网络条件如何,观众都能获得相同的高质量直播
带摄取功能的典型多画面查看器会话的工作流程是:
相机设备呼叫开始 JoinStorageSession 向云端摄取视频
视频流经过处理并存储在配置的 Kinesis Video Streams 流中
多台观看者设备呼叫 JoinStorageSessionAsViewer 加入会话
Cloud mixer 将视频流分发给所有连接的观众
所有参与者的音频均经过适当混合和分发
API 操作
多画面查看器使用与 WebRTC Ingestion 相同的 API 操作。关键 APIs 包括:
UpdateMediaStorageConfiguration-将信令通道链接到直播以供摄取
JoinStorageSession-从相机设备启动摄取会话
JoinStorageSessionAsViewer-允许观众加入活跃的摄取会话
DescribeMediaStorageConfiguration-检索当前的媒体存储配置
最佳实践
在实现 Multiviewer 时,请遵循以下最佳实践:
针对边缘设备进行优化:专门在需要超过 2-3 个并发查看器时使用 Multiviewer,因为这通常是边缘设备限制显而易见的地方
监控 Session Health:实施监控以跟踪会话质量和查看者连接
处理连接失败:实现相机和查看器连接的重试逻辑
音频管理:考虑默认将观众静音,以防止大型会话中出现音频反馈
资源清理:确保在观众离开会话时正确清理WebRTC连接