news 2026/4/9 17:05:13

RK3576基于UVC协议USB摄像头配置指南,手把手教你搞定

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
RK3576基于UVC协议USB摄像头配置指南,手把手教你搞定

瑞芯微RK3576芯片平台基于UVC协议,配置USB摄像头实现即插即用的适配采集功能。

演示设备:触觉智能RK3576开发板Purple Pi OH2

系统固件为:Buildroot2024

其配套RK3576核心板,尺寸40.5×40.5mm,邮票孔封装,支持LPDDR4或LPDDR5高速内存,适配开源鸿蒙OpenHarmony5.0国产操作系统,100%全国产,支持最高-40~85℃工业级环境。

UVC协议

  • UVC协议简介

UVC(USB Video Class,USB视频类) 是由 USB Implementers Forum(USB-IF) 制定的USB设备类标准,旨在统一视频设备(如摄像头、视频采集卡)与主机系统的通信协议,实现“即插即用”的视频采集功能。Linux系统通过 、uvcvideo驱动(基于V4L2框架)原生支持UVC协议,无需厂商专用驱动,是目前嵌入式Linux和桌面Linux中最常用的摄像头接入方案。

  • 应用场景

触觉智能RK3576开发板采用核心板+底板设计,支持二次开发底板。内置8核CPU+4K编解码+16M ISP的性能,可应用于以下领域:工业视觉检测、智能安防、医疗影像、车载视频。

配置内核

  • 前期准备

通过RK3576开发板Buildroot系统,修改内核配置文件使能UVC协议支持,触觉智能出厂SDK默认支持此功能。修改代码如下:

CONFIG_MEDIA_USB_SUPPORT=y CONFIG_USB_VIDEO_CLASS=y

重新编译内核进行测试,命令如下:

cd <SDK_TOP_PATH> ./build.sh kernel

开发板上电进入系统接入USB摄像头,打印log信息发现一个UVC设备。

  • 确认USB摄像头设备节点&图像格式

USB摄像头设备节点。命令如下:

grep '' /sys/class/video4linux/video*/name

从以上信息得知USB摄像头设备节点为/dev/video36和/dev/video37,一般取较小的一个节点即/dev/video36。

查看USB摄像头支持的图像格式,命令如下:

v4l2-ctl -d /dev/video36 --list-formats-ext

从以上信息得知,USB摄像头输出图像支持以下格式与帧率:MJPG 1920x1080 30/25fps

MJPG 1280x720 30/25fps MJPG 640x480 30/25fps MJPG 640x360 30/25fps MJPG 352x288 30/25fps YUYV 640x480 30fps YUYV 640x360 30fps YUYV 352x288 30fps YUYV 352x240 30fps

测试预览

以下测试,使用gstreamer工具预览USB摄像头图像。

  • MJPG格式

由于USB摄像头输出图像是MJPG格式,需指定使用mppjpegdec解码器。

export DISPLAY=:0 gst-launch-1.0 v4l2src device=/dev/video36 ! image/jpeg,width=1920,height=1080,framerate=30/1 ! mppjpegdec ! videoconvert ! autovideosink

1080P分辨率,实际帧率测试为26fps:

ffmpeg -loglevel info -stats -f v4l2 -input_format mjpeg -video_size 1920x1080 -framerate 30 -i /dev/video36 -t 10 -f null -

  • YUYV格式

如果USB摄像头输出图像是YUYV格式,则不需要指定mppjpegdec解码器:

export DISPLAY=:0 gst-launch-1.0 v4l2src device=/dev/video36 ! video/x-raw,format=YUY2, width=640, height=480, framerate=30/1 ! videoconvert ! autovideosink sync=false

640x480分辨率实际帧率测试为26fps:

ffmpeg -loglevel info -stats -f v4l2 -input_format yuyv422 -video_size 640x480 -framerate 30 -i /dev/video36 -t 10 -f null -

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/27 11:45:11

若依工作流模型管理模块 - 需求分析+设计文档+接口文档

若依工作流模型管理模块 - 需求分析设计文档接口文档 一、需求分析 1. 核心业务背景 该模块是若依&#xff08;RuoYi-Vue-Plus&#xff09;框架集成Activiti工作流引擎的核心模块&#xff0c;聚焦流程模型全生命周期管理&#xff0c;解决从模型创建、编辑、部署到导出、转换…

作者头像 李华
网站建设 2026/4/4 2:01:29

基于Go Channel实现的高性能消息发送WorkerPool

在Go语言并发编程中&#xff0c;Channel不仅是Goroutine间的通信工具&#xff0c;更是实现异步任务调度、资源管控的核心载体。本文将结合一套完整的“消息发送WorkerPool”项目代码&#xff0c;从工程实践角度拆解Channel在任务队列、工作池调度、结果回调等场景下的工作原理与…

作者头像 李华
网站建设 2026/4/3 7:52:04

MySQL 导出数据

MySQL 导出数据 在数据库管理中&#xff0c;导出数据是一个常见的操作&#xff0c;它允许用户将数据库中的数据保存到本地文件中&#xff0c;以便进行备份、迁移或数据分析。MySQL 作为最流行的开源数据库管理系统之一&#xff0c;提供了多种方式来导出数据。本文将详细介绍如何…

作者头像 李华
网站建设 2026/4/4 8:14:10

MacOs安装Redis并设置为开机、后台启动

前言 最近闲来无事&#xff0c;将自己的MBP系统重装里&#xff0c;导致里面原来安装的软件都需要重新安装&#xff0c;今天记录一下MacOs安装Redis并设置为开机启动、后台启动的步骤&#xff0c;安装过程略有波折&#xff0c;参考里几篇文章才搞定。 一、安装Redis 两种方式…

作者头像 李华