UVC调试
USB video class(又称为USB video device class or UVC)就是USB device class视频产品在不需要安装任何的驱动程序下即插即用,包括摄像头、数字摄影机、模拟视频转换器、电视卡及静态视频相机。
Linux内核之中,已经集成了对UVCCamre的支持。
内核代码路径: \kernel-3.10\drivers\media\usb\uvc
若需要打开UVC CAMERA 需要在内核中配置:
MEDIA_SUPPORT = y
MEDIA_USB_SUPPORT = y
USB_VIDEO_CLASS = y
USB_VIDEO_CLASS_INPUT_EVDEV = y
如何查看当前的Camera是否支持UVC
插入摄像头,通过lsusb命令,找到当前UVCCamera的PID和VID
reyn@reyn-All-Series:~/reyn/k86m/k86m_debug/kernel-3.10$ lsusb
Bus 001 Device 002: ID 8087:8008 Intel Corp.
Bus 002 Device 002: ID 8087:8000 Intel Corp.
Bus 003 Device 002: ID 093a:2510 Pixart Imaging, Inc. Optical Mouse
Bus 003 Device 049: ID 058f:3842 Alcor Micro Corp.
然后执行一下命令lsusb -d 058f:3842 -v | grep "14 Video", 若支持UVC Camera则你会看到如下信息:
reyn@reyn-All-Series:~/reyn/k86m/k86m_debug/kernel-3.10$ lsusb -d 058f:3842 -v | grep "14 Video"
Couldn't open device, some information will be missing
bFunctionClass 14 Video
bInterfaceClass 14 Video
bInterfaceClass 14 Video
bInterfaceClass 14 Video
bInterfaceClass 14 Video
bInterfaceClass 14 Video
bInterfaceClass 14 Video
在UVC Camrera遇到问题时,可以通过以下命令,打开trace
sudo echo 0xffff > /sys/module/uvcvideo/parameters/trace 打开
sudo echo 0 > /sys/module/uvcvideo/parameters/trace 关闭
dmesg | grep uvc -a -a 命令是将起作为一个文本文件设备对待
若当前Camera不支持UVC ,可以通过以下命令,或许当前Camrea的详细配置描述符:
lsusb -d 058f:3842 -v
下面介绍一下USB协议关于摄像头的相关知识!
V4L2:
Video4Linux或V4L是一个视频截取及设备输出API,以及Linux的驱动程序框架,支持很多USB摄像头、电视调谐卡以及其他设备。
简单的讲V4L2就是用来管理UVC设备的并且能够提供视频相关的一些API。那么这些API怎么使用或者能被谁使用呢。在Linux系统上有很多的开源软件能够支持V4L2。常见的又FFmpeg、opencv、Skype、Mplayer等等。
VideoClass设备描述位于USB协议的Interface级,每个设备的Interface分为两类VideoControlInterface(仅仅只用一个)和VideoStreamingInterface(可以具有多个),而与设备的一个相关的所有的USB Interface被称作为一个VideoInterface Collection使用IAD(Interface Association Deor)描述符来描述。
目前内核支持的UVC camera的类型有 :
YUV 4:2:2 (YUYV)
YUV 4:2:0 (NV12)
MJPEG
YVU 4:2:0 (YV12)
YUV 4:2:0 (I420)
YUV 4:2:0 (M420)
YUV 4:2:2 (UYVY)
Greyscale 8-bit (Y800)
Greyscale 8-bit (Y8 )
Greyscale 10-bit (Y10 )
Greyscale 16-bit (Y16 )
RGB Bayer
RGB565
H.264
插入摄像头,如果在设备节点下出现/dev/video0; 则证明你的uvc camera在内核的驱动已经加载了,然后就可以用测试工具开始测试你的uvc摄像头了。
UVC调试的更多相关文章
- uvc摄像头代码解析1
一.FAQ 1.判断自己的摄像头是否支持uvc标准 输入lsusb //列出usb设备 [cpp] Bus 001 Device 001: ID 1d6b:0002 Linux Foundatio ...
- Android USB Camera(1) : 调试记录【转】
转自:http://blog.csdn.net/eternity9255/article/details/53069037 版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[-] 前言 ...
- 27、从零写UVC驱动之分析数据传输(设置ubuntu通过串口打印,指定打印到文件,ubuntu切换root用户)
A. 设置ubuntu让它从串口0输出printk信息a. 设置vmware添加serial port, 使用文件作为串口(在vmware中设置,文件是保存在windows中)b. 启动ubuntu, ...
- Hi3559AV100 NNIE RFCN开发:V4L2->VDEC->VPSS->NNIE->VGS->VO系统整体动态调试实现
下面随笔将给出Hi3559AV100 NNIE RFCN开发:V4L2->VDEC->VPSS->NNIE->VGS->VO系统整体动态调试实现,最终的效果是:USB摄像 ...
- C# Web应用调试开启外部访问
在用C#开发Web应用时有个痛点,就是本机用VS开启Web应用调试时外部机器无法访问此Web应用.这里将会介绍如何通过设置允许局域网和外网机器访问本机的Web应用. 目录 1. 设置内网访问 2. 设 ...
- NodeJs之调试
关于调试 当我们只专注于前端的时候,我们习惯性F12,这会给我们带来安全与舒心的感觉. 但是当我们使用NodeJs来开发后台的时候,我想噩梦来了. 但是也别泰国担心,NodeJs的调试是很不方便!这是 ...
- 微信公众号开发之VS远程调试
目录 (一)微信公众号开发之VS远程调试 (二)微信公众号开发之基础梳理 (三)微信公众号开发之自动消息回复和自定义菜单 前言 微信公众平台消息接口的工作原理大概可以这样理解:从用户端到公众号端一个流 ...
- 写出易调试的SQL(修订版)
h4 { background: #698B22 !important; color: #FFFFFF; font-family: "微软雅黑", "宋体", ...
- tomcat开发远程调试端口以及利用eclipse进行远程调试
一.tomcat开发远程调试端口 方法1 WIN系统 在catalina.bat里: SET CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compi ...
随机推荐
- Linux的bash快捷键
Ctrl-A 相当于HOME键,用于将光标定位到本行最前面 Ctrl-E 相当于End键,即将光标移动到本行末尾 Ctrl-B 相当于左箭头键,用于将光标向左移动一格 Ctrl-F 相当于右箭头键,用 ...
- babel使用中不想使用 严格模式 如何去除?
使用babel进行es6转es5时,默认转化之后是严格模式,有些时候我们想去除严格模式. 解决方法如下 安装 babel-plugin-transform-remove-strict-mode 依赖 ...
- CentOS 编译源码安装MySQL-5.6.16
mysql5.6.16的安装和之前的5.5.5.1有些不同,编译的时候不再使用./configure来进行了,使用了cmake命令来进行编译项目. 1.准备编译环境 yum -y installmak ...
- python入门4(冒泡排序)
在学习了最基本的python语法后,我们来实践一个最简单的冒泡排序,检验一下自己是否入门. def bubble_sort(lists): # 冒泡排序 count = len(lists) for ...
- Java 内存模型基础
一.并发编程模型的两个关键问题 1. 线程之间如何通信 通信是指线程之间以何种机制来交换信息. 在命令式编程中,线程之间的通信机制有两种:共享内存和消息传递. 在共享内存的并发模型里,线程之间共享程序 ...
- TCP流嗅探和连接跟踪工具tcpick
TCP流嗅探和连接跟踪工具tcpick 由于网络通信协议众多,TCP连接状态众多,所以TCP分析较为复杂.Kali Linux提供一款专用工具tcpick.该工具支持在线实时嗅探和离线文件嗅探.它 ...
- 你见过这些JavaScript的陷阱吗?
一.成员操作符 Number.prototype.testFn=function () { console.log(this<0, this.valueOf()); } var num = -1 ...
- Winform 串口通讯之地磅
继上次的读卡之后,要做一个地磅的读取. 下面是我在读卡Demo上改的读取地磅的. 地磅是一直向串口发送数据的,所以需要截取数据来一直判断数据是否合法,然后计算出结果. 其中遇到了一个小问题,文末有介绍 ...
- [UOJ430]line
首先有个暴力DP,设$s_i=\sum\limits_{j\geq i}w_j$,有$f_i=\min\limits_{l_i\lt j\leq i}f_{j-1}+s_{i+1}\max\{t_{j ...
- 【SPFA】POJ1511-Invitation Cards
[题目大意] 给出一张有向图,以1位源点,求“从源点出发到各点的距离”和“与各点返回源点的距离和”相加得到的和. [思路] 毫无疑问是最短路径,但是这数据量就算是SPFA也绝壁会超时啊,抱着必死的心态 ...