上传到 Kinesis Video Streams - Amazon Kinesis Video Streams
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

上传到 Kinesis Video Streams

亚马逊 Kinesis Video Streams 制作人库是 Kinesis Video Streams 制作器中的一组库。SDK客户端使用这些库和SDK来构建设备端应用程序,以便安全地连接到 Kinesis Video Streams,并使用流媒体数据在控制台或客户端应用程序中实时查看。

媒体数据可通过以下方式进行流式传输:

  • 实时

  • 缓冲几秒钟后

  • 媒体上传后

创建 Kinesis Video Streams 直播后,就可以开始向其发送数据了。您可以使用SDK来创建应用程序代码,用于从媒体源提取视频数据(称为帧)并将其上传到 Kinesis Video Streams。这些应用程序也称为创建者 应用程序。

生产者库包含以下组件:

Kinesis Video Streams 制作人客户端

Kinesis Video Streams 制作人客户端包含KinesisVideoClient一个类。该类管理媒体源,从源接收数据,并在数据从媒体源流向 Kinesis Video Streams 时管理流生命周期。它还提供了一个MediaSource界面,用于定义 Kinesis Video Streams 与您的专有硬件和软件之间的交互。

媒体源几乎可以是任何内容。例如,您可以使用摄像头媒体源或麦克风媒体源。媒体源不仅限于音频源和视频源。例如,数据日志可能是文本文件,但仍可作为数据流发送。您的手机上也可以安装多个摄像头以便同时流式处理数据。

要从这些源中的任意一个获取数据,可以实施 MediaSource 接口。此接口支持我们未提供内置支持的其他情况。例如,你可以选择向 Kinesis Video Streams 发送以下内容:

  • 诊断数据流 (例如,应用程序日志和事件)

  • 来自红外摄像机或深度摄像机的数据 RADARs

Kinesis Video Streams 不为摄像机等媒体制作设备提供内置实现。要从这些设备提取数据,您必须实施代码,从而创建您自己的自定义媒体源实施。然后,您可以显式注册您的自定义媒体源KinesisVideoClient,该媒体源会将数据上传到 Kinesis Video Streams。

Kinesis Video Streams 制作人客户端可用于 Java 和安卓应用程序。有关更多信息,请参阅使用 Java 制作器库使用安卓制作人库

Kinesis Video Streams 制作人库

Kinesis Video Streams 制作人库包含在 Kinesis Video Streams 制作人客户端中。该库也可供那些想要与Kinesis Video Streams进行更深层次集成的用户直接使用。它支持与具有专有操作系统的设备、网络堆栈或有限的设备上资源进行集成。

Kinesis Video Streams 制作人库实现了用于直播到 Kinesis Video Streams 的状态机。它提供回调钩子,这需要您提供自己的传输实施,并显式处理传入和传出服务的每条消息。

出于以下原因,你可以选择直接使用 Kinesis Video Streams 制作人库:

  • 要在其上运行应用程序的设备没有 Java 虚拟机。

  • 您希望使用非 Java 语言编写应用程序代码。

  • 由于内存和处理能力等限制,您希望减少代码中的开销,并将其限制在最低的抽象级别。

目前,Kinesis Video Streams 制作人库可用于安卓、C、C++ 和 Java 应用程序。有关更多信息,请参阅以下相关主题中支持的语言。

使用 Java 制作器库

使用安卓制作人库

使用 C++ 制作人库

使用 C 制作人库

在 Raspberry Pi SDK 上使用 C++