You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将实时视频流上传至AWS S3存储桶?

摄像头实时视频流上传至AWS S3的实现方案

方案一:通过Kinesis Video Streams中转(推荐专业视频流场景)

Kinesis Video Streams是AWS针对实时视频流的托管服务,可稳定接收、存储流数据,再转存至S3:

  • 创建Kinesis Video Streams流,按需设置数据保留周期、存储类型等参数。
  • 将摄像头推流目标配置为Kinesis的Ingest端点(控制台可获取),确保摄像头支持RTSP、HLS或Kinesis原生PutMedia协议。
  • 开启流的「导出到S3」功能:在控制台指定目标存储桶、导出频率(如每5分钟导出一个分片),无需额外代码即可完成自动转存。
  • 权限配置:给摄像头分配具备kinesisvideo:PutMedia权限的IAM角色,同时确保Kinesis拥有s3:PutObject权限访问目标S3桶。

方案二:IoT Core + Lambda(适合轻量视频分片上传)

若摄像头支持MQTT/HTTP协议,可通过IoT Core转发数据到Lambda再写入S3:

  • 在AWS IoT Core注册摄像头设备,获取设备证书、密钥及IoT端点。
  • 配置摄像头通过MQTT主题或HTTP POST,将切分后的视频片段(如每10秒一个小文件)发送到IoT Core。
  • 创建IoT规则,将接收到的视频数据转发至Lambda函数;在Lambda中调用S3的PutObject接口,将片段上传至指定存储桶。
  • 权限设置:给Lambda角色添加s3:PutObject权限,同时配置IoT Core具备调用Lambda的权限。

方案三:S3预签名URL(适合支持HTTP PUT的摄像头)

无需中间服务,直接让摄像头通过预签名URL上传视频分片:

  • 搭建后端服务(如EC2、Lambda),定时生成S3预签名URL(含上传权限、过期时间,比如1小时有效期),并下发给摄像头。
  • 摄像头通过HTTP PUT请求,将切分好的视频片段上传至预签名URL对应的S3路径。
  • 后端可定期更新预签名URL保证上传持续性,同时确保生成服务具备s3:PutObject权限。

关键注意事项

  • 视频格式:优先选择H.264编码的MP4、TS等标准格式,避免兼容问题。
  • 权限最小化:遵循IAM权限最小化原则,仅分配必要操作权限。
  • 成本优化:低频次小流量场景优先用预签名URL,高并发专业流场景选Kinesis Video Streams。

内容的提问来源于stack exchange,提问作者Andy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 15:48:11