

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# Kinesis Video Streams：它是如何运作的
<a name="how-it-works"></a>

**Topics**
+ [Kinesis Video Streams 支持 API 和制作人库](how-it-works-kinesis-video-api-producer-sdk.md)
+ [Kinesis Video Streams 数据模型](how-data.md)

您可以使用完全 AWS 服务托管的 Amazon Kinesis Video Streams 将直播视频从设备流式传输到 AWS Cloud 并持久存储。之后，您可以构建用于实时视频处理的应用程序或执行面向批处理的视频分析。

下图概述了 Kinesis Video Streams 的工作原理。





![该图显示了 Kinesis Video Streams 中制作人和消费者的互动。](http://docs.aws.amazon.com/zh_cn/kinesisvideostreams/latest/dg/images/acuity-arch-3a.png)


该图演示了以下组件之间的交互：
+ **制作人** — 任何将数据放入 Kinesis 视频流的来源。制作人可以是任何视频生成设备，例如安全摄像头、随身摄像头、智能手机摄像头或仪表板摄像头。创建者还可以发送非视频数据，例如音频源、图像或雷达数据。

  单个创建者可以生成一个或多个视频流。例如，摄像机可以将视频数据推送到一个 Kinesis 视频流，将音频数据推送到另一个 Kinesis 视频流。
  + **Kinesis Video Streams 制作人**库 — 一组可以在设备上安装和配置的软件和库。您可以使用这些库以不同的方式安全地连接和可靠地流式传输视频，包括实时、缓冲几秒钟后或上传 after-the-fact媒体。
+ **Kinesis video stream** — 一种资源，可用于传输实时视频数据，可以选择存储这些数据，并使数据可以实时、批量或一次性使用。在典型配置中，Kinesis 视频流中只有一个制作者向其中发布数据。

  流可以传输音频、视频和类似的时间编码的数据流，如深度感应源、雷达源等。您可以使用创建 Kinesis 视频流， AWS 管理控制台 也可以使用以编程方式创建 Kinesis 视频流。 AWS SDKs

  多个独立的应用程序可以并行使用一个 Kinesis 视频流。
+ **消费者**-从 Kinesis 视频流中获取片段和帧等数据以进行查看、处理或分析。通常，这些使用者被称为 Kinesis Video Streams 应用程序。您可以编写在Kinesis Video Streams中实时使用和处理数据的应用程序，也可以在不需要低延迟处理时在存储数据并对数据进行时间索引之后编写应用程序。您可以创建这些使用者应用程序以在 Amazon EC2 实例上运行。
  + [使用解析器库观看摄像机的输出](parser-library.md)— 使 Kinesis Video Streams 应用程序能够以低延迟的方式可靠地从 Kinesis 视频流中获取媒体。此外，它将解析媒体中的帧边界，以便应用程序可以集中处理和分析帧本身。