通过 USB 摄像头实现 AidStream-gst 推拉流
介绍
AidStream SDK 是一个流媒体数据处理工具包,适用于构建基于 AI 的视频分析应用和服务,并能充分利用硬件加速技术 (如:GPU, VPU, NPU) 实现端到端应用加速。
在本案例中,重点介绍如何配置 USB 摄像头基于 AidStream SDK 实现整套流媒体数据处理方法。
SDK 详解
测试该案例之前,可查看 AidStream SDK 详细介绍。
支持平台
| 平台 | 运行方式 |
|---|---|
| Rhino Pi-X1 | Ubuntu 22.04, AidLux |
准备工作
Rhino Pi-X1 硬件
Ubuntu 22.04 系统或 AidLux 系统
USB 摄像头
配置文件修改
- 执行命令打开配置文件
shell
sudo vim /usr/local/share/aidstream-gst/conf/aidstream-gst.conf- 在配置文件中的最下面的内容,即 id 为 12 的键值对已给出参考示例。可参考修改如下内容:
- inputAddr : 修改为实际接入的USB摄像头的设备树名称
- outputAddr : 修改为实际的流服务器地址
- width/height : 修改为实际所需分辨率
提示
代码默认给出 id 为 12 的键值对示例,也可根据实际增加或修改其他 id 的键值对,保证为 json 格式即可。
代码编译
- 执行命令进入到示例代码目录
shell
cd /usr/local/share/aidstream-gst/example/cxx- 创建并进入编译目录
shell
sudo mkdir build && cd build- 编译
shell
sudo cmake .. && sudo make执行代码示例
经上一步编译后,会产生多个可执行程序,我们可根据是否运行 AI 算法执行如下程序进行示例验证。
提示
因在上面步骤中修改的是 id 为 12 的键值对,因此如下示例所传入的参数为 12。 也可根据实际传入其他参数。
执行不带 AI 算法示例
shell
sudo ./start 12执行带 AI 算法示例
shell
sudo ./qnn_rtsp 12