瑞芯微Rockchip开发者社区
登录
直播中
潘飘稚
7年用户
880经验值
私信
关注
[问答]
USB摄像头在RK3399上有何应用呢
开启该帖子的消息推送
RK3399
摄像头
Leez P710的USB接口有何作用呢?
USB摄像头在RK3399上有何应用呢?
回帖
(1)
黄飞高
2022-3-4 16:38:22
1、简介
UVC 全称 USB Video Class 、是 USB-IF 定制的一套标准,所有遵循这一标准的 USB 接口摄像头在 Windows Linux 等系统下,几乎能直接使用,达到类似免驱的效果。
当然了,并不是说真正的不需要驱动,而是只要某个 USB 接口的摄像头遵循了 UVC标准,它就能被 Window、Linux 系统中一套通用的驱动所驱动,而不需要你再安装其他的驱动。比如 Linux 内核中就有一套针对 UVC 设备的通用驱动:drivers/media/u***/uvc , 只要打开了这套驱动,几乎所有的 UVC 摄像头都可以直接使用。
2、Leez P710 的 USB 接口
Leez P710 是基于 RK3399 设计的开发板,根据 TRM,RK3399 有 2 个 USB2.0 控制器 和 2 个 USB 3.0 控制,P710 把它们的 USB 接口都留了出来,这为 P710 提供了灵活的连接接口。我们刚好可以利用它提供的 USB 接口连接 USB 摄像头。
3、打开内核的 UVC 驱动
我使用的是 mainline 的内核,当前版本为 5.3-rc2.
在 内核源码根目录下执行 make ARCH=arm64 menuconfig 命令,打开 UVC 相关配置:
刷固件的方法可以参考 Debian10 for Leez P710
系统起来后,通过 scp 命令把前面编译的 Image 和 dtb 拷贝到开发板上,替换掉原来的 Image 和 dtb,然后通过 reboot 命令重启系统:
scp -r
~/your/linux/arch/arm64/boot/Image .
scp -r
:~/your/linux/arch/arm64/boot/dts/rockchip/rk3399-leez.dtb .
cp Image /boot/Image
cp rk3399-leez-p710.dtb /boot/dtb/rockchip/rk3399-leez.dtb
sync
reboot
注意把上面的用户名、IP 地址、Linux 源码路径换成你自己的。
系统起来后,接入你的 u*** 摄像头,然后执行 dmesg 命令查看内核 log, 可以看到 uvc 已经被系统识别到:
运行 v4l2-ctl -d /dev/video0 --list-formats-ext 命令可以查看你的摄像头支持的格式:
4、 运行 mjpg-streamer
mjpg-streamer 是 github 上一个开源的 uvc 视频应用,它可以获取 uvc 摄像头的视频流,然后通过局域网传输,可以直接在开发板上编译这个代码并运行:
git clone
cd mjpg-streamer/mjpg-streamer-experimental/
apt install cmake libjpeg62-turbo-dev
make
如果一切顺利,你很快就能编译完代码,然后执行下面的命令运行该应用:
./mjpg_streamer -o "output_http.so -w ./www" -i "input_uvc.so"
需要注意的是,上面的 ip 地址是你开发板的 ip 地址。
1、简介
UVC 全称 USB Video Class 、是 USB-IF 定制的一套标准,所有遵循这一标准的 USB 接口摄像头在 Windows Linux 等系统下,几乎能直接使用,达到类似免驱的效果。
当然了,并不是说真正的不需要驱动,而是只要某个 USB 接口的摄像头遵循了 UVC标准,它就能被 Window、Linux 系统中一套通用的驱动所驱动,而不需要你再安装其他的驱动。比如 Linux 内核中就有一套针对 UVC 设备的通用驱动:drivers/media/u***/uvc , 只要打开了这套驱动,几乎所有的 UVC 摄像头都可以直接使用。
2、Leez P710 的 USB 接口
Leez P710 是基于 RK3399 设计的开发板,根据 TRM,RK3399 有 2 个 USB2.0 控制器 和 2 个 USB 3.0 控制,P710 把它们的 USB 接口都留了出来,这为 P710 提供了灵活的连接接口。我们刚好可以利用它提供的 USB 接口连接 USB 摄像头。
3、打开内核的 UVC 驱动
我使用的是 mainline 的内核,当前版本为 5.3-rc2.
在 内核源码根目录下执行 make ARCH=arm64 menuconfig 命令,打开 UVC 相关配置:
刷固件的方法可以参考 Debian10 for Leez P710
系统起来后,通过 scp 命令把前面编译的 Image 和 dtb 拷贝到开发板上,替换掉原来的 Image 和 dtb,然后通过 reboot 命令重启系统:
scp -r
~/your/linux/arch/arm64/boot/Image .
scp -r
:~/your/linux/arch/arm64/boot/dts/rockchip/rk3399-leez.dtb .
cp Image /boot/Image
cp rk3399-leez-p710.dtb /boot/dtb/rockchip/rk3399-leez.dtb
sync
reboot
注意把上面的用户名、IP 地址、Linux 源码路径换成你自己的。
系统起来后,接入你的 u*** 摄像头,然后执行 dmesg 命令查看内核 log, 可以看到 uvc 已经被系统识别到:
运行 v4l2-ctl -d /dev/video0 --list-formats-ext 命令可以查看你的摄像头支持的格式:
4、 运行 mjpg-streamer
mjpg-streamer 是 github 上一个开源的 uvc 视频应用,它可以获取 uvc 摄像头的视频流,然后通过局域网传输,可以直接在开发板上编译这个代码并运行:
git clone
cd mjpg-streamer/mjpg-streamer-experimental/
apt install cmake libjpeg62-turbo-dev
make
如果一切顺利,你很快就能编译完代码,然后执行下面的命令运行该应用:
./mjpg_streamer -o "output_http.so -w ./www" -i "input_uvc.so"
需要注意的是,上面的 ip 地址是你开发板的 ip 地址。
举报
更多回帖
rotate(-90deg);
回复
相关问答
RK3399
摄像头
USB
摄像头
在
RK3399
上有
哪些应用
呢
2022-03-07
2517
Firefly
RK3399
开源板上的MIPI
摄像头
接口是如何连接的
2022-03-04
2872
UVC
摄像头
在
RK3399
中有哪些应用?
2022-03-07
1209
Firefly
RK3399
开源板的两个MIPI
摄像头
接口座是如何连接的
2022-03-07
1788
求大神支招Firefly-
RK3399
插入
usb
摄像头
无法使用相机功能
2022-06-06
2206
usb
摄像头
在
rk3399
上无法显示怎么解决
呢
2022-06-02
2234
请问一下
RK3399
在
Android10下怎样去配置
摄像头
OV13850
呢
2022-03-07
1279
Android
RK3399
UVC
摄像头
格式异常怎么解决?
2022-03-07
1884
RK3399
pro使用python3读取
USB
摄像头
数据出现错误怎么解决?
2022-03-07
1580
怎么去解决
RK3399
ProD-imx258
摄像头
mipi错误的问题
呢
2022-02-14
1668
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
英国威廉希尔公司网站
william hill官网 版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分