瑞芯微RK3576多路AHD摄像头实测演示,触觉智能配套AHD硬件方案
瑞芯微RK3576芯片平台实现多路AHD高清摄像头输入演示,基于触觉智能RK3576开发板Purple Pi OH2演示。详细可以查看本CDSN的介绍
AHD简介
AHD简介
AHD全称为Analog High Definition,是一种基于模拟传输的高清视频技术。其核心优势在于通过同轴电缆实现500米无压缩高清信号传输,支持1080P分辨率,并采用亮色分离、模拟滤波及3D降噪技术提升图像质量。
应用场景
触觉智能RK3576核心板作为一款高性能AIoT模组,凭借其8核CPU+16M ISP+6Tops算力NPU的强大性能,在与AHD高清摄像头组合,可应用于以下领域:机器人(如智能割草机)、车载NVR(行车记录/监控系统)、新零售智能终端(无人售货柜、智能零售亭、广告机)、电梯楼宇对讲与门禁系统、农机平板等。
演示环境
演示设备为触觉智能RK3576开发板Purple Pi OH2,系统固件为Debian12。其配套核心板,40.5×40.5mm极致小尺寸邮票孔,支持LPDDR4或LPDDR5高速内存,率先适配开源鸿蒙OpenHarmony5.0国产操作系统,100%全国产,支持最高-40~85℃工业级环境。
软硬件系统框架解析
硬件连接框架
触觉智能RK3576系列产品(核心板/开发板/行业主板)采用的AHD摄像头连接方案为分层结构设计,整个硬件连接框架分为摄像头层、转换层、处理层和显示层4层连接:
(1)摄像头层由多路AHD摄像头组成,这些摄像头布置在不同位置,从多个角度采集视频数据。
(2)转换层由AHD转接板实现,负责将模拟信号转换为数字信号。
(3)处理层以触觉智能RK3576系列产品(核心板/开发板/行业主板)为核心,负责对视频流进行编解码、分析和合成。
(4)显示层则通过多种显示接口实现视频输出,如HDMI、DP或MIPI-DSI接口。
软件架构
以Linux系统为例,利用GStreamer框架实现视频采集、处理和推送。软件架构主要包括设备驱动层、中间件层和应用层。设备驱动层负责管理硬件设备,如AHD转接板、显示接口等;中间件层提供视频处理、编码解码、AI分析等功能;应用层则实现具体的业务逻辑,如视频监控、行为分析、人脸识别等。
对于AI视觉应用,软件架构还可以利用RK3576强大的6Tops算力NPU为基础,集成AI推理框架,如RKNN(Rockchip Neural Network SDK)。RKNN是瑞芯微推出的神经网络推理框架,支持多种深度学习框架的模型转换和优化并高效运行。通过RKNN,开发者可以实现人脸识别、车辆检测、行为分析等AI功能,并将这些功能集成到GStreamer管道中,实现对视频流的实时分析。
测试方法&实测演示
4路AHD摄像头(4×1080P@30FPS输入)
画面预览命令:
gst-launch-1.0 v4l2src device=/dev/video3 ! video/x-raw, format=NV12, width=1280, height=720, framerate=30/1 ! videoconvert ! xvimagesink render-rectangle="<960,540,960,540>" sync=false &
gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw, format=NV12, width=1280, height=720, framerate=30/1 ! videoconvert ! xvimagesink render-rectangle="<0,0,960,540>" sync=false &
sleep 2
gst-launch-1.0 v4l2src device=/dev/video1 ! video/x-raw, format=NV12, width=1280, height=720, framerate=30/1 ! videoconvert ! xvimagesink render-rectangle="<960,0,960,540>" sync=false &
sleep 2
gst-launch-1.0 v4l2src device=/dev/video2 ! video/x-raw, format=NV12, width=1280, height=720, framerate=30/1 ! videoconvert ! xvimagesink render-rectangle="<0,540,960,540>" sync=false &
sleep 2
8路AHD摄像头(4×720P@30FPS+4×1080P@30FPS输入)
画面预览命令:
gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw, format=NV12, width=1920, height=1080, framerate=30/1 ! videoconvert ! xvimagesink render-rectangle="<0,0,480,360>" sync=false &
sleep 2
gst-launch-1.0 v4l2src device=/dev/video1 ! video/x-raw, format=NV12, width=1920, height=1080, framerate=30/1 ! videoconvert ! xvimagesink render-rectangle="<480,0,480,360>" sync=false &
sleep 2
gst-launch-1.0 v4l2src device=/dev/video2 ! video/x-raw, format=NV12, width=1920, height=1080, framerate=30/1 ! videoconvert ! xvimagesink render-rectangle="<960,0,480,360>" sync=false &
sleep 2
gst-launch-1.0 v4l2src device=/dev/video3 ! video/x-raw, format=NV12, width=1920, height=1080, framerate=30/1 ! videoconvert ! xvimagesink render-rectangle="<1440,0,480,360>" sync=false &
sleep 2
gst-launch-1.0 v4l2src device=/dev/video11 ! video/x-raw, format=NV12, width=1280, height=720, framerate=30/1 ! videoconvert ! xvimagesink render-rectangle="<0,400,480,360>" sync=false &
sleep 2
gst-launch-1.0 v4l2src device=/dev/video12 ! video/x-raw, format=NV12, width=1280, height=720, framerate=30/1 ! videoconvert ! xvimagesink render-rectangle="<480,400,480,360>" sync=false &
sleep 2
gst-launch-1.0 v4l2src device=/dev/video13 ! video/x-raw, format=NV12, width=1280, height=720, framerate=30/1 ! videoconvert ! xvimagesink render-rectangle="<960,400,480,360>" sync=false &
sleep 2
gst-launch-1.0 v4l2src device=/dev/video14 ! video/x-raw, format=NV12, width=1280, height=720, framerate=30/1 ! videoconvert ! xvimagesink render-rectangle="<1440,400,480,360>" sync=false &
8路AHD摄像头(8×1080P@30FPS输入)
画面预览命令:
gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw, format=NV12, width=1920, height=1080, framerate=30/1 ! videoconvert ! xvimagesink render-rectangle="<0,0,480,360>" sync=false &sleep 2
gst-launch-1.0 v4l2src device=/dev/video1 ! video/x-raw, format=NV12, width=1920, height=1080, framerate=30/1 ! videoconvert ! xvimagesink render-rectangle="<480,0,480,360>" sync=false &
sleep 2
gst-launch-1.0 v4l2src device=/dev/video2 ! video/x-raw, format=NV12, width=1920, height=1080, framerate=30/1 ! videoconvert ! xvimagesink render-rectangle="<960,0,480,360>" sync=false &
sleep 2
gst-launch-1.0 v4l2src device=/dev/video3 ! video/x-raw, format=NV12, width=1920, height=1080, framerate=30/1 ! videoconvert ! xvimagesink render-rectangle="<1440,0,480,360>" sync=false &
sleep 2
gst-launch-1.0 v4l2src device=/dev/video11 ! video/x-raw, format=NV12, width=1920, height=1080, framerate=30/1 ! videoconvert ! xvimagesink render-rectangle="<0,400,480,360>" sync=false &
sleep 2
gst-launch-1.0 v4l2src device=/dev/video12 ! video/x-raw, format=NV12, width=1920, height=1080, framerate=30/1 ! videoconvert ! xvimagesink render-rectangle="<480,400,480,360>" sync=false &
sleep 2
gst-launch-1.0 v4l2src device=/dev/video13 ! video/x-raw, format=NV12, width=1920, height=1080, framerate=30/1 ! videoconvert ! xvimagesink render-rectangle="<960,400,480,360>" sync=false &
sleep 2
gst-launch-1.0 v4l2src device=/dev/video14 ! video/x-raw, format=NV12, width=1920, height=1080, framerate=30/1 ! videoconvert ! xvimagesink render-rectangle="<1440,400,480,360>" sync=false &
如需停止预览,输入以下命令:
killall gst-launch-1.0
实测数据
触觉智能RK3576开发板得益于其强悍配置,多路AHD高清摄像头输入实现了画面毫秒级延迟!
1路摄像头1080P@30FPS输入画面延迟,实测为89毫秒,实拍图:
4路摄像头1080P@30FPS输入画面延迟,实测仅146毫秒,实拍图:
8路摄像头1080P@30FPS输入画面延迟,实测仅233毫秒,实拍图:
内存CPU的占用率: