Skip to content

通过 USB 摄像头实现 AidStream-gst 推拉流

介绍

AidStream SDK 是一个流媒体数据处理工具包,适用于构建基于 AI 的视频分析应用和服务,并能充分利用硬件加速技术 (如:GPU, VPU, NPU) 实现端到端应用加速。

在本案例中,重点介绍如何配置 USB 摄像头基于 AidStream SDK 实现整套流媒体数据处理方法。

SDK 详解

测试该案例之前,可查看 AidStream SDK 详细介绍。

支持平台

平台运行方式
Rhino Pi-X1Ubuntu 22.04, AidLux

准备工作

  1. Rhino Pi-X1 硬件

  2. Ubuntu 22.04 系统或 AidLux 系统

  3. USB 摄像头

配置文件修改

  1. 执行命令打开配置文件
shell
sudo vim /usr/local/share/aidstream-gst/conf/aidstream-gst.conf
  1. 在配置文件中的最下面的内容,即 id 为 12 的键值对已给出参考示例。可参考修改如下内容:
    1. inputAddr : 修改为实际接入的USB摄像头的设备树名称
    2. outputAddr : 修改为实际的流服务器地址
    3. width/height : 修改为实际所需分辨率

提示

代码默认给出 id 为 12 的键值对示例,也可根据实际增加或修改其他 id 的键值对,保证为 json 格式即可。

代码编译

  1. 执行命令进入到示例代码目录
shell
cd /usr/local/share/aidstream-gst/example/cxx
  1. 创建并进入编译目录
shell
sudo mkdir build && cd build
  1. 编译
shell
sudo cmake .. && sudo make

执行代码示例

经上一步编译后,会产生多个可执行程序,我们可根据是否运行 AI 算法执行如下程序进行示例验证。

提示

因在上面步骤中修改的是 id 为 12 的键值对,因此如下示例所传入的参数为 12。 也可根据实际传入其他参数。

执行不带 AI 算法示例

shell
sudo ./start 12

执行带 AI 算法示例

shell
sudo ./qnn_rtsp 12