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

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

使用 C++ 创建者库

你可以使用 Amazon Kinesis Video Streams 提供的 C++ 制作器库来编写应用程序代码,将媒体数据从设备发送到 Kinesis 视频流。

物体模型

C++ 库提供了以下对象来管理向 Kinesis 视频流发送数据:

  • KinesisVideoProducer: 包含有关您的媒体来源和 Amazon 凭据的信息,并维护回调以报告 Kinesis Video Streams 事件。

  • KinesisVideoStream: 代表 Kinesis 视频流。包含有关视频流参数的信息,例如名称、数据保留期和媒体内容类型。

将媒体放入直播中

您可以使用 C++ 库提供的方法(例如PutFrame)将数据放入KinesisVideoStream对象中。随后,该库将管理数据的内部状态,这可包含以下任务:

  • 执行身份验证。

  • 监视网络延迟。如果延迟太高,库可能会选择丢弃帧。

  • 跟踪正在进行的流式处理的状态。

回调接口

此层公开一组回调接口,使其能够与应用程序层进行通信。这些回调接口包括:

  • 服务回调 interface (CallbackProvider):库在创建流、获取流描述和删除流时调用通过此接口获取的事件。

  • 客户端就绪状态或存储不足事件接口 (ClientCallbackProvider):当客户端准备就绪或检测到可用存储空间或内存不足时,该库将对此接口调用事件。

  • 流事件回调接口 (StreamCallbackProvider):当发生流事件 (例如,进入准备就绪状态的流、丢弃的帧或流错误) 时,该库将对此接口调用事件。

Kinesis Video Streams 为这些接口提供了默认实现。您也可以提供自己的自定义实现,例如,如果您需要自定义网络逻辑或想要向用户界面公开低存储条件。

有关创建者库中的回调的更多信息,请参阅制作人 SDK 回调

过程:使用 C++ 创建者开发工具包

此过程演示如何在 C++ 应用程序中使用 Kinesis Video Streams 客户端和媒体源向你的 Kinesis 视频流发送数据。

该过程包括以下步骤:

先决条件

  • 凭证:在示例代码中,您可以通过指定在凭证配置文件中设置的配置文件来提供 Amazon 凭证。如果尚未执行此操作,请先设置凭证配置文件。

    有关更多信息,请参阅设置用于开发的 Amazon 凭据和区域

  • 证书存储集成:Kinesis Video Streams Video Streams 制作人库必须与其调用的服务建立信任。这是通过验证公共证书存储库中的证书颁发机构 (CA) 来完成的。对于基于 Linux 的模型,此存储位于 /etc/ssl/ 目录中。

    从以下位置将证书下载到您的证书存储:

    https://www.amazontrust.com/repository/SFSRootCAG2.pem

  • 为 macOS 安装以下构建依赖项:

  • 为 Ubuntu 安装以下版本依赖项:

    • Git: sudo apt install git

    • CMake:sudo apt install cmake

    • G++: sudo apt install g++

    • pkg-配置:sudo apt install pkg-config

    • openJDK:sudo apt install openjdk-8-jdk

      注意

      只有在构建 Java 原生接口 (JNI) 时才需要这样做。

    • 设置 JAVA_HOME 环境变量:export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/

后续步骤

步骤 1:下载并配置 C++ 创建者库代码