

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

# 上传到 Kinesis Video Streams
<a name="producer-sdk"></a>

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

媒体数据可通过以下方式进行流式传输：
+ 实时
+ 缓冲几秒钟后
+ 媒体上传后

创建 Kinesis Video Streams 直播后，就可以开始向其发送数据了。您可以使用软件开发工具包创建应用程序代码，用于从媒体源提取视频数据（称为帧）并将其上传到 Kinesis Video Streams。这些应用程序也称为*创建者* 应用程序。

生产者库包含以下组件：
+ [Kinesis Video Streams 制作人客户端](#producer-sdk-client)
+ [Kinesis Video Streams 制作人库](#producer-sdk-library)

## Kinesis Video Streams 制作人客户端
<a name="producer-sdk-client"></a>

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 制作器库](producer-sdk-javaapi.md)和[使用安卓制作人库](producer-sdk-android.md)。

## Kinesis Video Streams 制作人库
<a name="producer-sdk-library"></a>

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 应用程序。有关更多信息，请参阅以下*相关主题*中支持的语言。

## 了解什么是制作者库
<a name="producer-sdk-related-topics"></a>

 [使用 Java 制作器库](producer-sdk-javaapi.md) 

 [使用安卓制作人库](producer-sdk-android.md) 

 [使用 C\+\+ 制作人库](producer-sdk-cpp.md) 

 [使用 C 制作人库](producer-sdk-c-api.md) 

 [在树莓派上使用 C\+\+ 制作器 SDK](producersdk-cpp-rpi.md) 