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=256msT: 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=10msT: 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=1msT: 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驱动; - 注意查看摄像头使用的协议;
[参考文献]
[1]https://blog.csdn.net/hktkfly6/article/details/80613980
[2]https://blog.csdn.net/carina_cao/article/details/80801452
Ubuntu调用USB摄像头相关推荐
- linux下uvc协议访问usb摄像头,Ubuntu调用USB摄像头
FreeBSD Webcam:传送门 1 查看摄像头USB驱动 CMD ls /dev/v* Result /dev/vcs /dev/vcs4 /dev/vcsa1 /dev/vcsa5 /dev/ ...
- ubuntu上python使用opencv调用usb摄像头无故掉线以后重连摄像头。
项目中使用opencv调用usb摄像头,运行过程中,会出现摄像头掉线的情况.猜测掉线原因是硬件相关,可能是摄像头,也可能是usb线和端口. 这里主要介绍两种掉线情况以及代码重连摄像头的方式. 1.第一 ...
- 讯为iTOP4412开发板ARM-linux 使用OPENCV调用USB摄像头
讯为iTOP4412开发板ARM-linux 使用OPENCV调用USB摄像头 首先要在内核里面确定有添加USB摄像头的驱动,这个在讯为官方文档里面有所以就不展开讲了. 主要问题是如何让opencv能 ...
- 五十、opencv调用USB摄像头并保存图片
@Author: Runsen opencv OpenCV是计算机视觉的一个模块. OpenCV可以通过图像处理减少图像噪声,调整图像亮度.颜色或者对比度等等.想要进一步系统了解OpenCV图像处理基 ...
- AndroidUSBCamera调用USB摄像头问题
UVC_ERROR_INVALID_DEVICE not open camera:err=-50 由于客户需求,笔者最近在测试大型android平板设备,但是所使用的厂商提供的设备并未继承前后置摄像头 ...
- C#调用usb摄像头的实现方法
1.下载aforge类库,下载地址:,我下载的版本是:aforge.net framework-2.2.5.exe: 2.下载安装好后,将下载类库中的release文件夹复制到c#项目的可执行文件文件 ...
- C++中调用usb摄像头并保存图片【学习记录第1篇】
[学习记录第1篇]C++中通过OPENCV调用usb摄像头并保存图片 准备 外置USB摄像头代码 外置USB摄像头运行结果 外置USB超声波探头代码 外置USB超声波探头运行结果 第一篇博客的感想 准 ...
- C# 调用USB摄像头
目录 C#调用USB摄像头使用AForge类库进行开发 1.AForge安装 2.下载完毕后进行USB摄像头类封装 C#调用USB摄像头使用AForge类库进行开发 1.AForge安装 右击工程,在 ...
- Jetson NX YOLOV目标检测学习笔记1----CV调用USB摄像头
1.相关的包安装(安装步骤自行百度) python 版本3.6.9 pip3 install opencv-python=='xxxx' 其中xxx为对应版本号(注意:opencv我用到的版本是ope ...
最新文章
- 富士康遭黑客巨额勒索 企业如何应对数据安全风险?
- 【redis】2.redis可视化工具安装使用
- 循环调用dll库的界面时,首次正常,再次无响应
- java 8大happen-before原则超全面详解
- 喜马拉雅音频下载工具
- php 数组导出csv_php导出CSV抽象类实例
- JAVA --BYTECODE
- Struts2拦截SQL注入
- CCNA之三:RIP协议
- python `__hash__`
- 01Hypertext Preprocessor
- 教大家一个免费复制粘贴百度文库文字的方法
- 服务器换完主板后无盘进不了系统,NF主板集成网卡无盘无法启动的解决方案
- couldn't recognize data in image file问题的解决方案
- 无线蓝牙耳机什么牌子的好?好的无线蓝牙耳机推荐
- 2022年美国大学生数学建模(MCM/ICM)C题:量化交易策略
- Matlab中安装NURBS工具箱及使用
- java计算机毕业设计高校学生综合素质测评系统源码+mysql数据库+系统+lw文档+部署
- Wannafly挑战赛20 A 染色(暴力/思维)
- 有视频APP上线,一对一交友源码和抖音短视频源码稳步前行