本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
上传到 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 应用程序。有关更多信息,请参阅以下相关主题中支持的语言。