linux usb摄像头设备信息查看方式
作者:eric_pyt@qq.com 发布时间:2023-11-04 23:50:46
标签:linux,usb,摄像头,信息查看
linux usb摄像头设备信息查看
linux下usb摄像头操作,离不开v4l2框架
V4L2是Video for linux2的简称,为linux中关于视频设备的内核驱动。
在Linux中,视频设备是设备文件,可以像访问普通文件一样对其进行读写,摄像头在/dev/video0下。
查看linux 摄像头设备,如果存在有效的摄像头设备,则可以在dev目录下查看
eric@eric-PC:/$ ls dev/video* -l
crw-rw----+ 1 root video 81, 0 11月 8 13:37 dev/video0
crw-rw----+ 1 root video 81, 1 11月 8 13:37 dev/video1
也可以查看启动信息,是否存在有效usb摄像头设备
eric@eric-PC:/$ dmesg | grep video
[ 1849.908486] videodev: Linux video capture interface: v2.00
[ 1850.022954] uvcvideo: Found UVC 1.00 device hm1091_techfront (0408:1020)
[ 1850.061899] uvcvideo 1-1:1.0: Entity type for entity Extension 4 was not initialized!
[ 1850.061903] uvcvideo 1-1:1.0: Entity type for entity Extension 3 was not initialized!
[ 1850.061905] uvcvideo 1-1:1.0: Entity type for entity Processing 2 was not initialized!
[ 1850.061907] uvcvideo 1-1:1.0: Entity type for entity Camera 1 was not initialized!
[ 1850.062579] usbcore: registered new interface driver uvcvideo
v4l2-ctl命令查看video设备参数信息,如果提示如下未找到v4l2-ctl命令,则需要安装v4l-utils
eric@eric-PC:/dev$ v4l2-ctl -d /dev/video0 --all
bash: v4l2-ctl:未找到命令
eric@eric-PC:/dev$ sudo apt-get install v4l-utils
eric@eric-PC:/$ v4l2-ctl -d /dev/video0 --all
Driver Info:
Driver name : uvcvideo
Card type : hm1091_techfront: hm1091_techfr
Bus info : usb-0000:02:04.0-1
Driver version : 5.4.50
Capabilities : 0x84a00001
Video Capture
Metadata Capture
Streaming
Extended Pix Format
Device Capabilities
Device Caps : 0x04200001
Video Capture
Streaming
Extended Pix Format
Priority: 2
Video input : 0 (Camera 1: ok)
Format Video Capture:
Width/Height : 1280/720
Pixel Format : 'MJPG' (Motion-JPEG)
Field : None
Bytes per Line : 0
Size Image : 1843200
Colorspace : sRGB
Transfer Function : Default (maps to sRGB)
YCbCr/HSV Encoding: Default (maps to ITU-R 601)
Quantization : Default (maps to Full Range)
Flags :
Crop Capability Video Capture:
Bounds : Left 0, Top 0, Width 1280, Height 720
Default : Left 0, Top 0, Width 1280, Height 720
Pixel Aspect: 1/1
Selection: crop_default, Left 0, Top 0, Width 1280, Height 720, Flags:
Selection: crop_bounds, Left 0, Top 0, Width 1280, Height 720, Flags:
Streaming Parameters Video Capture:
Capabilities : timeperframe
Frames per second: 30.000 (30/1)
Read buffers : 0
brightness 0x00980900 (int) : min=-64 max=64 step=1 default=0 value=0
contrast 0x00980901 (int) : min=0 max=95 step=1 default=0 value=0
saturation 0x00980902 (int) : min=0 max=100 step=1 default=64 value=64
hue 0x00980903 (int) : min=-2000 max=2000 step=1 default=0 value=0
white_balance_temperature_auto 0x0098090c (bool) : default=1 value=1
gamma 0x00980910 (int) : min=100 max=300 step=1 default=100 value=100
power_line_frequency 0x00980918 (menu) : min=0 max=2 default=1 value=1
white_balance_temperature 0x0098091a (int) : min=2800 max=6500 step=1 default=4600 value=4600 flags=inactive
sharpness 0x0098091b (int) : min=0 max=7 step=1 default=2 value=2
backlight_compensation 0x0098091c (int) : min=0 max=1 step=1 default=1 value=1
exposure_auto 0x009a0901 (menu) : min=0 max=3 default=3 value=3
exposure_absolute 0x009a0902 (int) : min=10 max=2047 step=1 default=384 value=384 flags=inactive
exposure_auto_priority 0x009a0903 (bool) : default=0 value=1
有以上信息可以看出,设备支持分辨率1280×720,支持MJPEG格式。
linux usb摄像头索引的获取
一般情况下,笔记本自带的摄像头的索引号为0,而通过USB插入的摄像头一般为1(只有两个摄像头的情况下)。
但是,当笔记本插着USB摄像头开机时,有可能USB的索引变为0,如果还是使用原来的索引,便会产生错误或者结果误差。为此,我写了个程序自动获取USB摄像头的索引。
原理与实现
在Linux系统下,所有设备的均被当作文件的形式进行管理和交互(不是很懂),而摄像头对应的文件在/sys/class/video4linux/下,而每个摄像头均有name文件记录摄像头的名字。
因此,可以根据该文件得到摄像头的名称,而摄像头所在的文件夹(如video0)可以得到索引。
def get_usb_camera_index():
# 获取USB摄像头的索引
camera_path = Path('/sys/class/video4linux/')
camera_list = list(camera_path.glob('video*'))
camera_list.sort()
index = 0
for i in range(len(camera_list)):
camera = camera_list[i]
name_file = camera.joinpath('name')
with open(name_file, 'r') as f:
info = f.readline()
if 'USB' in info:
index = i
break
return index
来源:https://blog.csdn.net/pyt1234567890/article/details/109558644
0
投稿
猜你喜欢
- 攻击者如此青睐Web攻击的一个重要原因是它可以损害一些无辜的站点,并用于感染大量的受害者。事实证明,Web服务器已经被证明是互联网络中的&a
- 随着中国互联网的快速发展,网民数量的急剧增加,网购人群的增长,网购市场已逐渐行成气候,电子商务的优势也越来越明显,连很多名人所经营的商品都放
- 国内DNS系统被攻击;国家工业和信息化部:近日断网祸起“暴风影音” ;暴风影音否认,有人认为是某DNS服务商遭攻击造成,网民对中国互联网安全
- 一、背景简介1、简单介绍vsphere的共享存储背景vSphere里面有个重要的功能就是进行虚拟机封装,一个虚拟机以文件的形式存在,可以任意
- 最近搜索建站方面的资料时,发现了很多“建站攻略”、“一体化建站”等攻略,内容是新手(指刚刚接触互联网或者网站建设的人)如何建造一个自己的网站
- 1.PV是衡量一个网站价值的重要参数,在相同的IP下,PV越高也就证明网站价值越大。2.另外一个方面来说,网站的广告点击率在 2--8%之间
- 相对于Windows98系统Windows2000在系统的稳定性方面大大加强了,相对于WindowsXP操作系统Windows2000在硬件
- asp之家祝大家2008年春节快乐,工作顺利!我们这,太阳探了一下小脸,又开始下雪了,今年的雪真的带来 * 烦了。“迎击风雪 回家过年”成了第
- 我们经常会需要知道服务器的实时监测服务器的运行状况,比如哪些 URL 的访问量最大,服务器每秒的请求数,哪个搜索引擎正在抓取我们网站?面对这
- 一、安装前的准备1、下载好Ubuntu20.04的镜像文件,直接从官网下载就好,2、准备好VMware软件,这里就忽略安装过程了。二、建立虚
- 本周一Google公司对外宣布推出三种还处于测试阶段的新搜索模式,这些新功能能对同一关键词得出不同的搜索返回结果。1月31日消息,据国外媒体
- 前言当系统空间使用量过大需要清理空间或者清理某个文件时,有时会出现执行了删除命令之后磁盘空间并没有释放,很多人首次遇到该情况时会比较困惑,在
- 每次争取到一位新客户的时候你可能总是想向他/她证明你可以做好并且你渴望再次合作。如果你对于未来是否可以与此客户再次合作不是很确定,那么你可能
- 在支付宝昨天宣布邀请50万用户参与其个人版公测之后,今天已经陆续有部分用户得以进入该新系统进行体验。以下为支付宝个人版相关页面:一、体验版欢
- 前一段时间我提出了一个seo收费标准问题,seo的收费主要建立再seo优化的难易程度上,一般我们判断搜索引擎优化的难度主要根据以下几点:1、
- 如果您拥有移动网站并希望在上面展示 Google 广告,此指南可引导您逐步完成在移动网页上投放广告。要开始这一过程,首先请登录到 AdSen
- 说明:在一台服务器上搭建redis一主二从三哨兵1.拉取镜像docker pull redis:42. 编写主 从配置文件2.1 创建/ho
- 1.前言:木马的危害,在于它能够远程控制你的电脑。当你成为“肉鸡”的时候,别人(控制端)就可以进入你的电脑,偷看你的文件、盗窃密码、甚至用你
- vsftpd 是“very secure FTP daemon”的缩写,安全性是它的一个最大的特点。vsftpd 是一个 UNIX 类操作系
- 您在生成广告代码的过程中,会有一个步骤是选择广告单元的格式,这一步骤非常关键。不同的广告格式效果差异非常大,选择好的广告格式可以显著提高您的