如何从本地设备网络摄像头(例如笔记本电脑或PC)录制和流式传输视频并将该视频存储在AWS S3中?

问题描述 投票:0回答:1

我目前正在 ReactJS 中开发一个 Web 应用程序,用户可以使用网络摄像头记录会话并将其流式传输到 AWS 基础设施。我遇到过Amazon Kinesis Video Streams with WebRTC。通过创建 SignalingChannel,用户可以将该数据流式传输到 AWS 主模型和查看器模型。

但我想将用户的会话存储在 AWS S3 等持久存储中。以便审阅者稍后可以审阅该会话。

想知道我使用 AWS KVS 是否正确?将视频存储在 S3 上的可能步骤是什么?

amazon-web-services amazon-s3 amazon-kinesis amazon-kinesis-video-streams
1个回答
0
投票

在 ReactJS Web 应用程序中使用 Amazon Kinesis Video Streams (KVS),用户可以在其中录制和流式传输网络摄像头会话,这是一个可行的选择。 KVS 旨在将视频从连接的设备安全地流式传输到 AWS,以进行分析、机器学习和其他处理。但是,为了满足存储会话以供以后查看的要求,您需要将 Kinesis Video Streams 与 Amazon S3 集成。

以下是实现此目标的步骤:

流式传输到 Kinesis Video Streams:最初,您的应用程序会将视频数据流式传输到 Kinesis Video Streams。这是 KVS 的标准操作,它捕获、处理和存储视频流。

KVS 中的数据保留:确保您的 KVS 流配置了适当的数据保留期。此保留期限是您的视频数据在被自动删除之前在 KVS 中存储的时间长度。

使用 AWS Lambda 进行处理:设置由 Kinesis Video Streams 事件触发的 AWS Lambda 函数。此 Lambda 函数可以处理视频流。

提取视频片段:在 Lambda 函数中,您可以使用 KVS 的 GetMedia API 从 Kinesis 视频流中检索视频片段。

存储在 S3 中:获得视频数据后,您的 Lambda 函数就可以将其上传到 S3 存储桶。确保您的 S3 存储桶具有正确的访问策略,以解决安全和隐私问题。

访问存储的视频:要查看存储的会话,您的应用程序可以直接从 S3 存储桶访问这些视频。实施适当的访问控制以确保只有授权用户才能查看这些会话。

元数据管理:您可能还希望将每个视频会话的元数据(例如时间戳、用户 ID 等)存储在 Amazon DynamoDB 等数据库中,以便于检索和管理。

© www.soinside.com 2019 - 2024. All rights reserved.