当前位置: 首页 > news >正文

Ubuntu调用USB摄像头

原文地址:Ubuntu调用USB摄像头 - 码农教程

时间:2019-01-13

本文章向大家介绍Ubuntu调用USB摄像头,主要包括Ubuntu调用USB摄像头使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

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驱动; - 注意查看摄像头使用的协议;


[参考文献]


ubuntu 使用USB摄像头(还有mplayer方式)_hktkfly6的专栏-CSDN博客_ubuntu调用usb摄像头



Ubuntu下的tensorflow:ubuntu16.04+python+opencv调用usb摄像头_Carina_Cao的博客-CSDN博客

相关文章:

  • ERROR: libcudnn_adv_infer.so.8 is not a symbolic link
  • ROS error: Could not find the GUI, install the ‘joint_state_publisher_gui‘ package
  • ROS error: cannot launch node of type [arbotix_python/arbotix_driver]: arbotix_python
  • ROS error: robot_voice/iat_publish/usr/bin/ld: 找不到 -lmsc
  • ROS fatal error: alsa/asoundlib.h: 没有那个文件或目录
  • ROS ERROR: cannot launch node of type [usb_cam/usb_cam_node]: usb_camROS path [0]=/opt/ros/m
  • ROS Error: Could NOT find move_base_msgs
  • ROS Error: [rospack] Error: package ‘map_server‘ not found
  • How to remove PPA repository on Ubuntu and Debian
  • 用appimagelauncher安装markdown编辑工具marktext
  • ROS ERROR: “Qt5::Gui“ references the file “/usr/lib/x86_64-linux-gnu/libEGL.so“ not exist
  • Linux下使用nmap扫描端口
  • ​​​​​​​Installing ROS on the Raspberry Pi
  • Ubuntu系统下通过remmina远程登陆raspberry pi
  • Ubuntu 键盘鼠标失效怎么办
  • 2017届校招提前批面试回顾
  • CSS 提示工具(Tooltip)
  • CSS进阶篇--用CSS开启硬件加速来提高网站性能
  •  D - 粉碎叛乱F - 其他起义
  • download使用浅析
  • IDEA 插件开发入门教程
  • js ES6 求数组的交集,并集,还有差集
  • MySQL主从复制读写分离及奇怪的问题
  • nfs客户端进程变D,延伸linux的lock
  • Nginx 通过 Lua + Redis 实现动态封禁 IP
  • Rancher-k8s加速安装文档
  • Spark in action on Kubernetes - Playground搭建与架构浅析
  • Traffic-Sign Detection and Classification in the Wild 论文笔记
  • ucore操作系统实验笔记 - 重新理解中断
  • Vue UI框架库开发介绍
  • Webpack 4x 之路 ( 四 )
  • 基于axios的vue插件,让http请求更简单
  • 基于Volley网络库实现加载多种网络图片(包括GIF动态图片、圆形图片、普通图片)...
  • 聚簇索引和非聚簇索引
  • 手写一个CommonJS打包工具(一)
  • 微信公众号开发小记——5.python微信红包
  • 我感觉这是史上最牛的防sql注入方法类
  • 由插件封装引出的一丢丢思考
  • 深度学习之轻量级神经网络在TWS蓝牙音频处理器上的部署
  • 3月7日云栖精选夜读 | RSA 2019安全大会:企业资产管理成行业新风向标,云上安全占绝对优势 ...
  • # 手柄编程_北通阿修罗3动手评:一款兼具功能、操控性的电竞手柄
  • #android不同版本废弃api,新api。
  • #鸿蒙生态创新中心#揭幕仪式在深圳湾科技生态园举行
  • $.ajax()
  • (PyTorch)TCN和RNN/LSTM/GRU结合实现时间序列预测
  • (初研) Sentence-embedding fine-tune notebook
  • (二)Eureka服务搭建,服务注册,服务发现
  • (附源码)springboot掌上博客系统 毕业设计063131
  • (附源码)SSM环卫人员管理平台 计算机毕设36412
  • (附源码)ssm基于jsp高校选课系统 毕业设计 291627
  • (实战)静默dbca安装创建数据库 --参数说明+举例
  • (学习日记)2024.01.09
  • (原创)boost.property_tree解析xml的帮助类以及中文解析问题的解决
  • (轉貼) UML中文FAQ (OO) (UML)
  • .NET Core 中的路径问题