借助 Amazon Kinesis Video Streams,您能够为实时、面向批处理且基于计算机视觉的应用程序,从任何规模的设备中安全提取、处理和存储视频和时间编码数据,这些应用程序能够为智能家居、智能城市、工业自动化和安全监控等功能提供支持。Kinesis Video Streams 提供各种软件开发工具包,使您可以轻松而安全地将视频从互联设备流式传输到 AWS。Amazon Kinesis Video Streams 支持 HTTP 实时流 (HLS),可以在任何浏览器或移动应用程序上直播和点播从设备提取的视频。它还持久地存储视频流并对其进行加密和编制索引,而且提供了易于使用的 API,因此应用程序可以基于标签和时间戳来访问和检索已编制索引的视频片段。Kinesis Video Streams 与 Amazon Rekognition Video 集成,从而使您能够构建用于检测和识别流视频中的面部的计算机视觉应用程序。 Kinesis Video Streams 还提供了一个库,用于将机器学习框架(例如 Apache MxNet、Tensorflow 和 OpenCV)与视频流集成,以构建自定义应用程序。Kinesis Video Streams 可以自动预置和弹性扩展从数百万台设备中提取视频流所需的所有基础设施。
主要功能
用于安全地从设备流式传输数据的软件开发工具
Amazon Kinesis Video Streams 提供用 C++ 和 Java 语言编写的软件开发工具包,可供您在互联设备上进行构建和配置。这些软件开发工具包负责管理以下事项:从设备的媒体源接收数据,并逐帧实时安全地将其传输到 Kinesis 视频流。软件开发工具包还可用作 GStreamer 插件,用于构建自定义媒体数据流。
您可以从源中构建软件开发工具包,也可以使用供 Ubuntu、MacOS 和 Raspberry Pi 设备使用的 Docker 映像,这样您只需部署一个简单的 Docker pull 命令,便可以在几分钟内开始流式传输视频。
要了解有关软件开发工具包的更多信息,请参阅文档。
使用 HTTP 直播流 (HLS) 播放直播和点播视频
Amazon Kinesis Video Streams 可以使用完全托管的 HTTP 直播流 (HLS) 功能播放提取的视频。当设备将视频流式传输到 Kinesis Video Streams 时,您可以在任何浏览器或移动平台上进行实时播放,也可以重放存档视频。
内置与 Amazon Rekognition Video 的集成
借助 Amazon Rekognition Video,您可以将任何 Amazon Kinesis 视频流指定为输入内容。这样,您便能够自动检测和识别流视频中的人脸。利用此内置集成功能,您可以针对安全监控等使用案例快速构建计算机视觉应用程序。
提取图像以增强回放或机器学习应用程序
Amazon Kinesis Video Streams 提供了 API 和 SDK,以帮助您从视频流式传输中提取图像。您可以将这些图像用于增强的回放应用程序,如缩略图或增强清理,或用于机器学习管道。 有关更多信息,请参阅文档。
当媒体准备好可以使用时将收到通知
Amazon Kinesis Video Streams 将在媒体片段保存完并准备好可以使用时通过 SNS 通知您。 有关更多信息,请参阅文档。
实时 API
Amazon Kinesis Video Streams 提供易于使用的 API,可让您逐帧从流中检索数据,以构建实时应用程序。
使用 WebRTC 支持低延迟双向媒体流式传输
Amazon Kinesis Video Streams 支持通过 WebRTC 进行低延迟、对等双向媒体流式传输。WebRTC 是一个开源项目,可通过简单的 API 在 Web 浏览器、移动应用程序和连接的设备之间进行实时媒体流式传输与交互。
Kinesis Video Streams 为 WebRTC 信令提供托管终端节点,从而允许应用程序之间安全地连接,实现对等的实时媒体流式传输。接下来,它包含用于 TURN 的托管终端节点,以便在应用程序无法流式传输对等媒体时通过云启用媒体中继。它还包含用于 STUN 的托管终端节点,以便应用程序在位于 NAT 或防火墙之后时能够发现其公有 IP 地址。此外,它还提供易于使用的开发工具包来使用 WebRTC 功能启用摄像头 IoT 设备。最后,它提供适用于 Android、iOS 和 Web 应用程序的客户端开发工具包,以将 Kinesis Video Streams WebRTC 信令、TURN 和 STUN 功能与任何符合 WebRTC 的移动或 Web 播放器相集成。
如需关于此功能的更多信息,请参阅我们的文档。
支持通过 WebRTC 进行媒体摄取
Amazon Kinesis Video Streams 现在提供完全托管的功能,可以将视频和音频从符合网页实时通信(WebRTC)标准的摄像头、物联网设备和浏览器实时传输到云,以便进行安全的存储、回放和分析处理。客户现在可以使用我们增强的 WebRTC 软件开发工具包和云 API 来实现实时流式传输,以及将媒体数据摄取到云。
持久性存储
Amazon Kinesis Video Streams 使用 Amazon S3 作为底层数据存储,这意味着您的数据可以持久可靠地存储。您可以设置和控制每个流的保留期,从而经济高效地在流中存储数据,既可以存储一段有限的时间,也可以无限期存储。您可以随时更改流保留期。
按使用量付费
使用 Amazon Kinesis Video Streams,您只需为您通过服务提取、存储和使用的数据量付费。既没有预付费用,也没有最低费用,无需担心要为闲置的视频流付费。有关更多信息,请参阅定价页面。
用于检索的自动索引编制
Amazon Kinesis Video Streams 可基于设备生成的时间戳或 Kinesis Video Streams 在接收视频时生成的时间戳自动编制关于您存储在视频流中的数据的索引。您可以结合使用流级标签和时间戳轻松搜索和检索特定视频片段,以进行播放、分析和其他处理。
视频流解析库
Amazon Kinesis Video Streams 提供流解析库,您可以在应用程序中使用该库轻松检索帧级对象、提取和收集连接到片段的元数据、合并连续片段等。您可以随时集成 Apache MxNet、TensorFlow 和 OpenCV 等常见的 ML 框架。有关更多信息,请参阅文档。
传输中数据和静态数据自动加密
Amazon Kinesis Video Streams 软件开发工具包可对设备硬件生成的帧和片段进行加密,以便使用传输层安全性 (TLS) 进行安全流式传输,该协议可在两个互相通信的应用程序之间提供隐私和数据完整性。
Amazon Kinesis Video Streams 可使用 AWS Key Management Service (KMS) 自动对您输入视频流中的数据进行加密,帮助您保护静态数据。先对数据进行加密,然后将其写入 Kinesis Video Streams 存储,从存储中检索该数据后,再对其进行解密。因此,您流中的数据始终处于静态加密状态。有关更多信息,请参阅文档。
借助 AWS IAM 实现访问控制
Amazon Kinesis Video Streams 可与 AWS Identity and Access Management (IAM) 集成,使您能够控制对视频流的访问权限。您可以创建仅允许特定用户和组执行特定操作的策略,例如将数据输入视频流或从视频流中检索数据。如需关于借助 Kinesis Video Streams 使用 IAM 策略的更多信息,请参阅文档。
时间编码数据
时间编码数据可以是任何数据,其中的记录采用时间序列,每条记录都与其上一条和下一条记录相关联。视频是时间编码数据的一个示例,其中每个帧都通过空间转换与上一个和下一个帧相关联。其他时间编码数据示例包括音频、雷达和激光雷达信号。Amazon Kinesis Video Streams 专为经济高效地提取和存储各种类型的时间编码数据而设计,以用于分析和 ML 使用案例。
完全托管
Amazon Kinesis Video Streams 是完全托管的服务,因此无需管理基础设施。Kinesis Video Streams 可以自动预置和弹性扩展至数百万台设备,并在设备不在传输视频时缩减规模,无需预置服务器群。
边缘录制和定时云端直播
本地录制和存储来自本地 IP 摄像机的视频,并按照定义的时间表将媒体上传到云端,以进行长期存储、播放和分析处理。 有关 Amazon Kinesis Video Streams 边缘代理的访问,请参见此处。