【linux】linux下摄像头设置固定的设备名-udev

本文使用环境:
开发板:linux(都行)
摄像头:普通USB摄像头即可

word is cheap show me the code

一、为什么写这篇文章?

^^^^为什么写这篇文章? 众所周知,插入外设时,在/dev/下会出现各种各样的设备文件,这些文件根据你的外设不同而不同。比如插入摄像头时会出现:
在这里插入图片描述
^^^^这样在应用程序中可以直接open和read。但是在实际使用过程中,如果不小心碰到了,或者接口松动了,这个设备文件会变成/dev/video2/dev/video3,这样的话程序就会报错,无法读取video0的,那么能不能固定插入的设备名称呢????答案是可以的,因此有了这篇文章。

二、udev

2.1 什么是udev?

^^^^简而言之,udev就是一种规则,能将你插入的设备固定为唯一指定的别名。such as:你想把你的usb摄像头命名为came0,无论你/dev下的video号如何变化,系统都会生成唯一的came0。udev能帮你实现,当然不止摄像头,一切外设都能实现。具体是什么自行查阅资料。

三、设置udev规则

3.1 查看usb ID

^^^^第一步查看外设的设备号,主设备号:辅助设备号。使用命令:lsusb
在这里插入图片描述
^^

Linux系统下,当连接USB摄像头时,系统会自动创建对应的设备节点/dev/video*。然而,如果连接多个摄像头,通过/dev/video*无法与真实摄像头一一对应。有时候一个USB摄像头会产生两个或多个video节点,而udev的规则也无法固定它们的顺序。为了解决这个问题,可以使用/dev/v4l/by-id/路径下的软链接来固定摄像头设备节点。通过查看软链接的目标,可以确定每个摄像头对应的设备节点。例如,通过命令 "ll /dev/v4l/by-id/" 可以显示软链接的目标,例如 "usb-Generic_HDR_CAMERA_200901010001-video-index0 -> ../../video0" 表示该软链接对应的是 /dev/video0 设备节点。 在Linux下,可以使用V4L2(Video for Linux 2)和Qt来开发基于USB摄像头的图像采集和显示应用程序。V4L2是Linux下的视频采集框架,支持USB摄像头以及其他视频输入设备,而Qt是一个跨平台的应用程序开发框架。结合V4L2和Qt,可以实现USB摄像头的图像采集和显示,并且可以配置摄像头的像素等参数。 在Linux下使用USB摄像头前,需要确认摄像头是否是UVC设备(USB Video Class)。UVC设备可以直接使用Linux提供的USB Video Class Linux device driver。可以通过lsusb命令查找摄像头设备ID(VID:PID),然后使用"lsusb -d VID:PID -v | grep "14 Video""命令来检查设备是否是UVC摄像头。如果输出中包含"14 Video"的字样,那么说明该摄像头是UVC设备。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Linux USB摄像头使用](https://blog.csdn.net/smartvxworks/article/details/109024490)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [linux下基于V4L2/Qt的usb摄像头采集显示程序](https://download.csdn.net/download/gu5218/22280406)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [liunx usb摄像头使用](https://blog.csdn.net/qq_41263444/article/details/120527429)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mr·赵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值