本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
示例:从 RTSP 来源进行流式传输
C++包含连接到 Real-Time 流媒体协议 (RTSP) 网络摄像机的 Docker
以下过程演示如何设置和使用此 RTSP 演示应用程序。
教程视频
此视频展示了如何设置 Raspberry Pi 以将 RTSP 提要发送到 AWS 云端和 Amazon Kinesis Video Streams。这是一个端到端的演示。
本视频演示了如何从源中捕获图像以使用计算机视觉和 Amazon Rekognition 来处理图像和发送警报。
先决条件
要运行 Kinesis Video Streams RTSP 示例应用程序,必须具备以下条件:
-
Docker:有关安装和使用 Docker 的信息,请参阅以下链接:
-
RTSP 网络摄像机源:有关推荐摄像机的信息,请参阅系统要求。
构建 Docker 映像。
首先,构建演示应用程序将在其中运行的 Docker 镜像。
-
克隆 Amazon Kinesis Video Streams 演示存储库。
git clone https://github.com/aws-samples/amazon-kinesis-video-streams-demos.git -
切换到包含 Dockerfile 的目录。在本例中,它是 docker-
rtsp 目录。 cd amazon-kinesis-video-streams-demos/producer-cpp/docker-rtsp/ -
使用以下命令构建 Docker 镜像。此命令创建镜像并将其标记为 rtspdockertest。
docker build -t rtspdockertest . -
运行
docker images并搜索标记为的图像 IDrtspdockertest。例如,在下面的示例输出中,
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 示例应用程序
您可以从 Docker 容器内部或外部运行 RTSP 示例应用程序。请按照以下相应说明进行操作。
在 Docker 容器中
运行 RTSP 示例应用程序
-
使用以下命令启动 Amazon Kinesis Video Streams Docker 容器:
docker run -itYourImageId/bin/bash -
要启动示例应用程序,请提供您的 AWS 证书、Amazon Kinesis 视频流的名称以及 RTSP 网络摄像机的网址。
重要
如果您使用的是临时证书,则还需要提供您的
AWS_SESSION_TOKEN。参见下面的第二个示例。export AWS_ACCESS_KEY_ID=YourAccessKeyIdexport AWS_SECRET_ACCESS_KEY=YourSecretKeyIdexport AWS_DEFAULT_REGION=YourAWSRegion./kvs_gstreamer_sampleYourStreamNameYourRtspUrl临时证书:
export AWS_ACCESS_KEY_ID=YourAccessKeyIdexport AWS_SECRET_ACCESS_KEY=YourSecretKeyIdexport AWS_SESSION_TOKEN=YourSessionTokenexport AWS_DEFAULT_REGION=YourAWSRegion./kvs_gstreamer_sampleYourStreamNameYourRtspUrl -
登录 AWS 管理控制台 并打开 Kinesis Video Streams
控制台。 观看直播。
-
要退出 Docker 容器,请关闭终端窗口或键入
exit。
在 Docker 容器外面
在 Docker 容器外部,使用以下命令:
docker run -itYourImageId/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_sampleYourStreamNameYourRtspUrl"