linux下uvc协议访问usb摄像头,Ubuntu调用USB摄像头
FreeBSD Webcam:传送门
1 查看摄像头USB驱动
CMD
ls /dev/v*
Result
/dev/vcs /dev/vcs4 /dev/vcsa1 /dev/vcsa5 /dev/vhost-net
/dev/vcs1 /dev/vcs5 /dev/vcsa2 /dev/vcsa6 /dev/vhost-vsock
/dev/vcs2 /dev/vcs6 /dev/vcsa3 /dev/vga_arbiter /dev/video0
/dev/vcs3 /dev/vcsa /dev/vcsa4 /dev/vhci
/dev/v4l:
by-id by-path
/dev/vfio:
vfio
Analysis
输入命令后,出现的结果里含有/dev/video0说明USB摄像头驱动安装成功,Ubuntu18.0以自动安装了USB摄像头驱动.
/dev/video0
2 查看USB信息
2.1 摄像头ID
CMD
lsusb
Result
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 0ac8:3420 Z-Star Microelectronics Corp. Venus USB2.0 Camera
Bus 001 Device 002: ID 17ef:6019 Lenovo
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Analysis
由第二行信息Device 003:ID 3240可知摄像头ID为3240.
2.2 查看设备名称
CMD
cd /dev
dmesg | grep video
Result
[ 22.137377] Linux video capture interface: v2.00
[ 27.358749] uvcvideo: Found UVC 1.00 device A4tech USB2.0 Camera (0ac8:3420)
[ 27.360265] uvcvideo 1-5:1.0: Entity type for entity Processing 2 was not initialized!
[ 27.360267] uvcvideo 1-5:1.0: Entity type for entity Camera 1 was not initialized!
[ 27.360268] uvcvideo 1-5:1.0: Entity type for entity Extension 4 was not initialized!
[ 27.360442] usbcore: registered new interface driver uvcvideo
Analysis
第二行信息Found UVC,可知摄像头使用UVC协议.
2.3 查看摄像头协议
cd /dev
sudo cat /sys/kernel/debug/usb/devices
Result
T: Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=480 MxCh=12
B: Alloc= 0/800 us ( 0%), #Int= 0, #Iso= 0
D: Ver= 2.00 Cls=09(hub ) Sub=00 Prot=01 MxPS=64 #Cfgs= 1
P: Vendor=1d6b ProdID=0002 Rev= 4.15
S: Manufacturer=Linux 4.15.0-43-generic xhci-hcd
S: Product=xHCI Host Controller
S: SerialNumber=0000:00:14.0
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr= 0mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
E: Ad=81(I) Atr=03(Int.) MxPS= 4 Ivl=256ms
T: Bus=01 Lev=01 Prnt=01 Port=03 Cnt=01 Dev#= 2 Spd=1.5 MxCh= 0
D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
P: Vendor=17ef ProdID=6019 Rev= 1.00
S: Manufacturer=PixArt
S: Product=Lenovo USB Optical Mouse
C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=100mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=01 Prot=02 Driver=usbhid
E: Ad=81(I) Atr=03(Int.) MxPS= 8 Ivl=10ms
T: Bus=01 Lev=01 Prnt=01 Port=04 Cnt=02 Dev#= 3 Spd=480 MxCh= 0
D: Ver= 2.00 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs= 1
P: Vendor=0ac8 ProdID=3420 Rev= 1.fa
S: Manufacturer=Vimicro Corp.
S: Product=A4tech USB2.0 Camera
C:* #Ifs= 4 Cfg#= 1 Atr=80 MxPwr=320mA
A: FirstIf#= 0 IfCount= 2 Cls=0e(video) Sub=03 Prot=00
A: FirstIf#= 2 IfCount= 2 Cls=01(audio) Sub=02 Prot=00
I:* If#= 0 Alt= 0 #EPs= 1 Cls=0e(video) Sub=01 Prot=00 Driver=uvcvideo
E: Ad=81(I) Atr=03(Int.) MxPS= 10 Ivl=2ms
I:* If#= 1 Alt= 0 #EPs= 0 Cls=0e(video) Sub=02 Prot=00 Driver=uvcvideo
I: If#= 1 Alt= 1 #EPs= 1 Cls=0e(video) Sub=02 Prot=00 Driver=uvcvideo
E: Ad=82(I) Atr=05(Isoc) MxPS= 128 Ivl=125us
I: If#= 1 Alt= 2 #EPs= 1 Cls=0e(video) Sub=02 Prot=00 Driver=uvcvideo
E: Ad=82(I) Atr=05(Isoc) MxPS= 512 Ivl=125us
I: If#= 1 Alt= 3 #EPs= 1 Cls=0e(video) Sub=02 Prot=00 Driver=uvcvideo
E: Ad=82(I) Atr=05(Isoc) MxPS=1024 Ivl=125us
I: If#= 1 Alt= 4 #EPs= 1 Cls=0e(video) Sub=02 Prot=00 Driver=uvcvideo
E: Ad=82(I) Atr=05(Isoc) MxPS=1536 Ivl=125us
I: If#= 1 Alt= 5 #EPs= 1 Cls=0e(video) Sub=02 Prot=00 Driver=uvcvideo
E: Ad=82(I) Atr=05(Isoc) MxPS=2048 Ivl=125us
I: If#= 1 Alt= 6 #EPs= 1 Cls=0e(video) Sub=02 Prot=00 Driver=uvcvideo
E: Ad=82(I) Atr=05(Isoc) MxPS=2688 Ivl=125us
I: If#= 1 Alt= 7 #EPs= 1 Cls=0e(video) Sub=02 Prot=00 Driver=uvcvideo
E: Ad=82(I) Atr=05(Isoc) MxPS=3072 Ivl=125us
I:* If#= 2 Alt= 0 #EPs= 0 Cls=01(audio) Sub=01 Prot=00 Driver=snd-usb-audio
I:* If#= 3 Alt= 0 #EPs= 0 Cls=01(audio) Sub=02 Prot=00 Driver=snd-usb-audio
I: If#= 3 Alt= 1 #EPs= 1 Cls=01(audio) Sub=02 Prot=00 Driver=snd-usb-audio
E: Ad=83(I) Atr=01(Isoc) MxPS= 98 Ivl=1ms
T: Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=5000 MxCh= 6
B: Alloc= 0/800 us ( 0%), #Int= 0, #Iso= 0
D: Ver= 3.00 Cls=09(hub ) Sub=00 Prot=03 MxPS= 9 #Cfgs= 1
P: Vendor=1d6b ProdID=0003 Rev= 4.15
S: Manufacturer=Linux 4.15.0-43-generic xhci-hcd
S: Product=xHCI Host Controller
S: SerialNumber=0000:00:14.0
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr= 0mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
E: Ad=81(I) Atr=03(Int.) MxPS= 4 Ivl=256ms
Analysis
由信息P: Vendor=0ac8 ProdID=3420 Rev= 1.fa知此信息(ProdID=3240)为摄像头信息.
3 捕捉视频
3.1 camorama软件
安装
sudo apt-get install camorama
启动
camorama
camorama界面:
图3.1 Camorama视频捕捉软件
3.2 cheese视频捕捉软件
安装
sudo apt-get install cheese
启动
cheese
Cheese软件界面:
图3.2 Cheese视频捕捉软件
# 4 总结
- Ubuntu使用USB摄像头,需安装USB驱动;
- 注意查看摄像头使用的协议;
linux下uvc协议访问usb摄像头,Ubuntu调用USB摄像头相关推荐
- linux 下通过smbclient访问windows共享目录
linux 下通过smbclient访问windows共享目录 sudo apt-get install samba #---------------------------------------- ...
- LINUX下使用https访问站点
Linux下使用https访问站点 一:https简介: http传输协议传输数据是以明文的方式传送的,所以用户的任何数据封包都可能被监听窃取,为了提高系统的安全性,需要用到https协议,这样方式采 ...
- linux 下使用 curl 访问带多参数,GET掉参数解决方案
linux 下使用 curl 访问带多参数,GET掉参数解决方案 参考文章: (1)linux 下使用 curl 访问带多参数,GET掉参数解决方案 (2)https://www.cnblogs.co ...
- python和sqlserver应用_Windows和Linux下使用Python访问SqlServer的方法介绍
经常用Python写demo来验证方案的可行性,最近遇到了Python访问SqlServer的问题,这里总结下. 一.Windows下配置Python访问Sqlserver 环境:Windows 7 ...
- Ubuntu调用USB摄像头
FreeBSD Webcam:传送门 1 查看摄像头USB驱动 CMD ls /dev/v* Result /dev/vcs /dev/vcs4 /dev/vcsa1 /dev/vcsa5 /dev/ ...
- linux 下 storm环境搭建,Storm在Ubuntu环境下的单机部署
Storm在Ubuntu环境下的单机部署 目录 查看Ubuntu 安装JDK 安装Pythod 安装Zookeeper 安装ZeroMQ 安装Jzmp 安装Storm 查看Ubuntu是32位还是64 ...
- linux share目录 多个机器访问,如何在linux下网上邻居访问另一台机windows共享的目录?(急)...
已经装好 samba-client 不知怎么用,请帮忙! | 随着Linux的普及,如何共享Linux下的文件成为用户关心的问题.其实,几乎所有的Linux发行套件都提供了一个很好的工具Samba-- ...
- linux下tomcat无法访问问题(换一种说法:无法访问8080端口)
有时候linux下的tomcat其他机器无法访问,比如主机无法访问linux虚拟机的tomcat,这是因为tocat的端口,linux没有对外开放,所以只能localhost访问,但是别的机器访问不了 ...
- Linux下用户空间访问I/O端口的相关函数
Linux下设置端口权限的系统调用有两个:ioperm和iopl函数. ioperm 功能描述 为调用进程设置I/O端口访问权限,从端口地址from起始,共设置num个值为turn_on.ioperm ...
最新文章
- 基于layer mobile手机端弹出框,询问框(PC端推荐layer和artDialog:http://download.csdn.net/download/cometwo/9437895)...
- 《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之44---QChat 技术...
- 【转载】Deep learning:十九(RBM简单理解)
- Python黑客入门:暴力破解zip,零基础也可以学会!
- 如何建立程序代码包的联接?
- mysql50道题 查询和,Mysql Sql 语句练习题 (50道)
- JAVA格式化当前日期或者取年月日
- eos操作系统_EOS相机统一的用户界面
- 极客学院.java学习笔记
- 童程童美机器人编程上海虹口校区_呼市童程童美少儿编程学习中心
- oppo 手机侧滑快捷菜单_[图]OPPO又出脑洞设计:弹出/侧滑第二块手机屏幕
- 2017年个人工作总结
- windows 10卸载(注销)WSL,注销(卸载)当前安装的Linux的Windows子系统
- ucosii 知识点总结
- Docker 核心技术 NameSpace, CGroup, AUFS, DeviceMapper
- tomcat乱码怎么解决
- jsp java session_JSP Session
- [UIDevice currentDevice] setValue 强制屏幕旋转不生效
- SCI之拼图和插图技巧及注意事项
- 与其说我害怕成为普通人,还不如说我害怕生活,害怕找不到一种自己喜欢的方式去度过人生...