

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 範例：從 RTSP 來源串流
<a name="examples-rtsp"></a>

[C\+\+](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-rtsp](https://github.com/aws-samples/amazon-kinesis-video-streams-demos/blob/master/producer-cpp/docker-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 網路攝影機的 URL。
**重要**  
如果您使用的是臨時登入資料，您還需要提供您的 `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}}"
```