

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

# 示例：从 RTSP 来源进行流式传输
<a name="examples-rtsp"></a>

[C\$1\$1](producer-sdk-cpp.md)包含连接到实时流协议 (RTSP) 网络摄像机的 [Docker](https://www.docker.com/) 容器的定义。使用 Docker 可以标准化 Kinesis Video Streams 的操作环境，从而简化应用程序的构建和使用。

以下过程演示如何设置和使用此 RTSP 演示应用程序。

**Topics**
+ [教程视频](#rtsp-video)
+ [先决条件](#examples-rtsp-prerequisites)
+ [构建 Docker 映像。](#examples-rtsp-build)
+ [运行 RTSP 示例应用程序](#examples-rtsp-procedure)

## 教程视频
<a name="rtsp-video"></a>

此视频展示了如何设置 Raspberry Pi 以将 RTSP 提要发送到 AWS 云端和 Amazon Kinesis Video Streams。这是一个 end-to-end演示。

[![AWS Videos](http://img.youtube.com/vi/YoOYTCD_v3Q?si=ajdNXZpRhNnpAOKk/0.jpg)](http://www.youtube.com/watch?v=YoOYTCD_v3Q?si=ajdNXZpRhNnpAOKk)


本视频演示了如何从源中捕获图像以使用计算机视觉和 Amazon Rekognition 来处理图像和发送警报。




## 先决条件
<a name="examples-rtsp-prerequisites"></a>

要运行 Kinesis Video Streams RTSP 示例应用程序，必须具备以下条件：
+ **Docker：**有关安装和使用 Docker 的信息，请参阅以下链接：
  + [Docker 下载说明](https://docs.docker.com/desktop/)
  + [开始使用 Docker](https://docs.docker.com/guides/getting-started/)
+ **RTSP 网络摄像机源：**有关推荐摄像机的信息，请参阅[系统要求](system-requirements.md)。

## 构建 Docker 映像。
<a name="examples-rtsp-build"></a>

首先，构建演示应用程序将在其中运行的 Docker 镜像。

1. 克隆 Amazon Kinesis Video Streams 演示存储库。

   ```
   git clone https://github.com/aws-samples/amazon-kinesis-video-streams-demos.git
   ```

1. 切换到包含 Dockerfile 的目录。在本例中，它是 [docker-](https://github.com/aws-samples/amazon-kinesis-video-streams-demos/blob/master/producer-cpp/docker-rtsp/) rtsp 目录。

   ```
   cd amazon-kinesis-video-streams-demos/producer-cpp/docker-rtsp/
   ```

1. 使用以下命令构建 Docker 镜像。此命令创建镜像并将其标记为 rtspdockertest。

   ```
   docker build -t rtspdockertest .
   ```

1. 运行`docker images`并搜索标记为的图像 ID `rtspdockertest`。

   例如，在下面的示例输出中，`IMAGE ID`是`54f0d65f69b2`。

   ```
   REPOSITORY        TAG       IMAGE ID        CREATED           PLATFORM       SIZE         BLOB SIZE
   rtspdockertest    latest    54f0d65f69b2    10 minutes ago    linux/arm64    653.1 MiB    292.4 MiB
   ```

   稍后您将需要这个。

## 运行 RTSP 示例应用程序
<a name="examples-rtsp-procedure"></a>

您可以从 Docker 容器内部或外部运行 RTSP 示例应用程序。请按照以下相应说明进行操作。

**Topics**
+ [在 Docker 容器中](#examples-rtsp-within)
+ [在 Docker 容器外面](#examples-rtsp-outside)

### 在 Docker 容器中
<a name="examples-rtsp-within"></a>

**运行 RTSP 示例应用程序**

1. 使用以下命令启动 Amazon Kinesis Video Streams Docker 容器：

   ```
   docker run -it YourImageId /bin/bash
   ```

1. 要启动示例应用程序，请提供您的 AWS 证书、Amazon Kinesis 视频流的名称以及 RTSP 网络摄像机的网址。
**重要**  
如果您使用的是临时证书，则还需要提供您的`AWS_SESSION_TOKEN`。参见下面的第二个示例。

   ```
   export AWS_ACCESS_KEY_ID=YourAccessKeyId
   export AWS_SECRET_ACCESS_KEY=YourSecretKeyId
   export AWS_DEFAULT_REGION=YourAWSRegion
   ./kvs_gstreamer_sample YourStreamName YourRtspUrl
   ```

   **临时证书：**

   ```
   export AWS_ACCESS_KEY_ID=YourAccessKeyId
   export AWS_SECRET_ACCESS_KEY=YourSecretKeyId
   export AWS_SESSION_TOKEN=YourSessionToken
   export AWS_DEFAULT_REGION=YourAWSRegion
   ./kvs_gstreamer_sample YourStreamName YourRtspUrl
   ```

1. 登录 AWS 管理控制台 并打开 [Kinesis Video Streams](https://console.aws.amazon.com//kinesisvideo/home/) 控制台。

   观看直播。

1. 要退出 Docker 容器，请关闭终端窗口或键入`exit`。



### 在 Docker 容器外面
<a name="examples-rtsp-outside"></a>

在 Docker 容器**外**部，使用以下命令：

```
docker run -it YourImageId /bin/bash -c "export AWS_ACCESS_KEY_ID=YourAccessKeyId; export AWS_SECRET_ACCESS_KEY=YourSecretKeyId; export AWS_SESSION_TOKEN=YourSessionToken; export AWS_DEFAULT_REGION=Your AWS Region; ./kvs_gstreamer_sample YourStreamName YourRtspUrl"
```