- 多媒体示例应用程序,展示摄像头、视频和音频功能。
- AI 示例应用程序,展示 AI 和机器学习 (ML) 功能。
前提条件
开始之前,请设置 IQ-9075 设备。 要使用摄像头,请通过在目标设备上运行以下命令在设备上启用camx:
运行多媒体示例应用程序
多媒体示例应用程序展示了 Dragonwing EVK 上摄像头、显示和视频流的用例。多摄像头流或编码(行车记录仪)
描述: gst-multi-camera-example 应用程序允许您同时从两个摄像头传感器进行流式传输。该应用程序将摄像头馈送并排组合以显示在屏幕上,或对视频流进行编码并存储到文件。 需要多个摄像头输入的一些用例是行车记录仪或立体摄像头。您可以将此应用程序作为参考并构建您的用例。例如,用于从多个摄像头捕获视频的安全系统。您可以查看它或将其归档以供将来查阅。 下图显示了多个摄像头流的管道。有关此管道中使用的元素的更多信息,请参阅管道流程。gst-multi-camera-example
试试看
试试看
运行应用程序
注意: 在下面的命令中,提供必要的参数,例如宽度、高度和输出类型。宽度和高度的更改仅适用于主摄像头。
1
完成前提条件
确保您完成了前提条件。
2
在目标设备的终端中,选择以下任一用例并运行相应的命令:
Waylandsink 用例: 查看 Waylandsink 输出:编码器用例: 查看编码器输出:
3
要停止正在运行的用例
按
Ctrl + C。4
在目标设备的终端中,运行以下命令以显示可用的帮助选项:
5
在主机计算机的终端中,运行以下命令以从目标设备提取文件:
预期输出
输出显示在屏幕上并保存到文件。- 如果输出类型为显示,您可以在显示器上预览流。
-
如果输出类型为视频编码,则编码文件保存在
/etc/media/cam1_vid.mp4和/etc/media/cam2_vid.mp4,分别对应摄像头 1 和摄像头 2。
图:gst-multi-camera-example 应用程序的预期输出 – 预览管道流程
下表列出了多摄像头流管道中使用的插件:| 管道 | 描述 |
|---|---|
| 显示预览 |
|
| 设备上的编码器转储 |
|
多通道视频解码和合成(视频墙)
描述: gst-concurrent-videoplay-composition 应用程序支持 MP4 AVC (H.264) 视频的并发视频播放,并在视频墙显示器上执行合成。 在并发视频播放和合成管道中,四个解码和合成管道并发运行。有关此管道中使用的插件的更多信息,请参阅管道流程。gst-concurrent-videoplay-composition
试试看
试试看
运行应用程序
下表列出了通过 gst-concurrent-videoplay-composition 应用程序支持的用例:| 用例 | 描述 |
|---|---|
| 视频会议 |
|
| 监控系统 |
|
| 数字标牌 |
|
1
完成前提条件
确保您完成前提条件。
2
准备输入视频文件
在目标设备上添加至少一个
MP4 AVC (H.264) 视频文件。3
运行用例
在目标设备的终端中,运行:命令行参数
示例
-
两个会话的并发播放
-
四个会话的并发播放
4
停止正在运行的用例
按
Ctrl + C。5
在目标设备的终端中,运行以下命令以显示可用的帮助选项:
预期输出
各个合成的流被平铺在一起以显示为统一的流。
图:gst-concurrent-videoplay-composition 应用程序的预期输出管道流程
下表列出了运行视频墙管道时使用的插件:| 插件 | 描述 |
|---|---|
| filesrc |
|
| qtdemux |
|
| h264parse |
|
| v4l2h264dec |
|
| qtivcomposer |
|
| waylandsink |
|
运行 AI 示例应用程序
AI 示例应用程序展示了 Dragonwing EVK 上来自摄像头、视频文件或实时流协议 (RTSP) 流的输入流的对象检测、多流推理和并行推理用例。下载和传输 AI 模型和标签
要运行 AI 示例应用程序,请使用以下方法之一下载所需的模型和标签:- 从 Qualcomm® AI Hub 下载 AI 模型,从 GitHub 下载标签
-
使用
download_artifacts.sh脚本下载 AI 模型和标签 在目标设备上,获取download_artifacts.sh脚本,设置可执行权限,并运行它以下载模型、媒体和标签文件:
AI 对象检测
描述: gst-ai-object-detection 应用程序允许您检测图像和视频中的对象。这些用例展示了在 Qualcomm AI 硬件加速器上执行 YOLOv5、YOLOv8 和 YOLOX。 下图显示了管道,该管道从实时摄像头馈送、文件、USB 源或 RTSP 流接收输入,进行预处理,在 AI 硬件上运行推理。结果要么显示在屏幕上,要么保存为编码的 MP4 文件,或者通过 RTSP 服务器流式传输。有关管道流程中使用的插件的信息,请参阅管道流程gst-ai-object-detection
试试看
试试看
当软件映像包含 qticamsrc 插件时,摄像头框架默认使用它。如果没有,则框架将切换为 libcamera。由于 Config #1 不支持 qticamsrc,因此系统默认为 libcamera。示例应用程序使用 要停止用例,按 CTRL + C。

输入和输出功能
示例模型和标签文件
在目标设备上运行应用程序
1
下载构件
确保您已将所有必需的构件下载到目标设备。
2
运行应用程序
/etc/configs/config_detection.json 文件来读取输入参数。要显示所有可用选项:配置
gst-ai-object-detection 应用程序使用/etc/configs/config_detection.json 文件。更新其属性以匹配您的模型、输入流和输出。有关所有字段,请参阅Config JSON 字段说明。对于 USB 摄像头输入,在配置文件中设置
video-format、resolution 和 framerate 参数以匹配摄像头功能,请参阅 Configure USB camera。snpe-tensors 字段仅适用于 SNPE 运行时。要检索 DLC 模型的输出张量名称,请在 Netron 中打开模型。使用来自 AI Hub 的 DLC 模型时,
snpe-tensors 字段是可选的。可用配置
可用配置
- Config #2
- Config #1
摄像头源、LiteRT 模型、DSP 运行时
预期输出
检测到的对象带有边界框和标签,覆盖在视频上并显示在本地显示器上。
管道流程
下表列出了对象检测管道中使用的插件:Config JSON 字段说明
并行 AI 推理
描述:gst-ai-parallel-inference 应用程序允许您对来自不同源(如摄像头、文件或 RTSP 网络)的输入流执行对象检测、对象分类、姿势检测和图像分割。这些用例实现了用于对象检测、图像分割、分类和姿势检测的 LiteRT 模型。 下图显示了管道,该管道从摄像头、文件或 RTSP 流接收输入流,为四个用例执行并行推理,并在屏幕上并排显示结果。此应用程序在
QLI 2.0 版本的 Config #1 中不受支持,因为不支持 CPU 运行时。gst-ai-parallel-inference
试试看
试试看
输入和输出功能
示例模型和标签文件
在目标设备上运行应用程序
1
下载构件
确保您已将所有必需的构件下载到目标设备。
2
运行应用程序
/etc/configs/config-parallel-inference.json 文件来读取输入参数。要显示所有可用选项:配置
gst-ai-parallel-inference 应用程序使用/etc/configs/config-parallel-inference.json 文件。更新其属性以匹配您的模型、输入流和输出。有关所有字段,请参阅Config JSON 字段说明。对于 QCS6490,如果配置文件中没有
file-path 和 rtsp-ip-port,则选择摄像头输入。可用配置
可用配置
- Config #2
文件源、LiteRT 模型、DSP 运行时
预期输出
执行四个并行推理后,结果将并排显示在屏幕上。
管道流程
下表列出了元数据解析器管道中使用的插件:Config JSON 字段说明
多流推理
描述:gst-ai-multistream-inference 应用程序展示了对来自摄像头、文件或 RTSP 流的最多 32 个输入流的 AI 推理(对象检测和分类)。 下图显示了管道,该管道接收多个输入流、预处理它们、运行 AI 推理、组合流,并将它们全部合并到单个视频输出中。 在 1080P 和 720P 上验证的每个 SoC 支持的最大输入流数量如下:- QCS6490–8
- Dragonwing IQ-8275–16
-
Dragonwing IQ-9075–32
输出显示在 HDMI 显示器上、保存为 H.264 编码的 MP4 文件,或转换为 RTSP 流。此应用程序在
QLI 2.0版本的Config #1中不受支持,因为不支持 CPU 运行时。
gst-ai-multistream-inference
试试看
试试看
输入和输出功能
示例模型和标签文件
在目标设备上运行应用程序
1
下载构件
确保您完成
前提条件。这会将所有必需的构件下载到目标设备。2
运行应用程序
/etc/configs/config-multistream-inference.json 文件来读取输入参数。要显示所有可用选项:配置
gst-ai-multistream-inference 应用程序使用/etc/configs/config-multistream-inference.json 文件。更新其属性以匹配您的模型、输入流和输出。有关所有字段,请参阅Config JSON 字段说明。如果观察到性能下降,可以使用 YOLOv8 LiteRT 模型。有关 YOLOv8 导出说明,请参阅前提条件。
可用配置
可用配置
- Config #2
对 8 个 H.264 文件输入进行对象检测,LiteRT 模型,DSP 运行时
预期输出


