测试环境:Ubuntu 12.04 64bit,摄像头:现代(HYUNDAI)HYC-S200
首先说下结果,现代(HYUNDAI)HYC-S200在 上述的测试环境中可用,
和笔记本不同,台式机需要单独配备摄像头和麦克风。自己在亚马逊上挑选了个廉价的 现代(HYUNDAI)HYC-S200 ,当时理所当然认为是支持Linux的,没多想就下了单,但实际使用并不是即插即用,下午折腾3个小时才搞定。
首先插上后使用Skype视频通话,发现摄像头和摄像头上的麦克风都不起作用。安装了camorama:
sudo apt-get install camorama
无效,然后又安装了cheese:
sudo apt-get install cheese
摄像头能正常显示图像了,但上面这两个程序并非驱动,为什么能使摄像头驱动起来至今没有搞懂。但此时依然没有声音,尝试了网上介绍的很多方法,结果却在插拔插拔的过程中麦克风有效果了,在Settings中的Sound下,如果麦克风有效,则如下图:
插上麦克风,点击Record sound from里面对应的设备后,右侧的Input level会随声音大小变化,
另外如果只是维持很小的变化而没有声音,那应该是没有识别这个麦克风设备,很小的那点儿变化是噪音。
如果麦克风总没有声音,把摄像头拔下?重新插下吧,也许就解决了问题。
另外还要注意视频?若出现图像“花”了,那可能是USB口供电不足的原因,特别是插在机箱前面的USB口上容易出现这个问题,如果你的机器有USB口供电不足的问题,推荐大家购买有源USB集线器 。
觉得该款摄像头成像效果不好,毕竟比较便宜。如果资金充足,建议购买品质较好的摄像头,
Linux 下摄像头驱动支持情况(arm linux 同样适用) 一文介绍了如何选购Linux支持的摄像头:
Linux UVC driver(uvc) 该驱动适用于符合USB视频类(USB Video Class)规范的摄像头设备,
它包括V4L2内核设备驱动和用户空间工具补丁。大多数大容量存储器设备(如优盘)都遵循USB规范,因而仅用一个单一驱
动就可以操作它们。与此类似,UVC兼容外设只需要一个通用驱动即可。
USB摄像头大体上可以二分为UVC cameras和non-UVC cameras。推荐购买UVC
cameras。UVC是一个开放的标准,拥有维护良好的驱动,它属于内核代码的一部分。插入摄像头后就可以工作,而无须编译或安装额外的驱动。non-
UVC cameras通常情况下不比UVC
cameras工作出色,前者的驱动并不遵循通用的协议,需要针对每种摄像头做出单独的处理,这往往需要一个逆向工程的探索过程。
判断一个摄像头是否属于UVC规范可以使用下面方法:
1.使用lsusb命令或其它硬件信息查看工具找出摄像头的设备号(Vendor ID)和产品号(Product
ID),如现代(HYUNDAI)HYC-S200摄像头是1871:2000,lsusb中输出的完整信息是:Bus 001 Device 066:
ID 1871:2000 Aveo Technology Corp.
2.查找是否有视频类接口信息
lsusb -d 1871:2000-v | grep "14 Video"
如果该摄像头兼容UVC,则会输出类似信息
bFunctionClass 14 Video
bInterfaceClass 14 Video
bInterfaceClass 14 Video
bInterfaceClass 14 Video
若无以上信息,则是non-UVC设备。
项目主页:http://linux-uvc.berlios.de/
在Linux下摄像头驱动有三种存在形式,内置于内核(within the kernel),做为一个外挂的模块(module),或者是预编译的二进制程序(pre-compiled binary)。
Linux内核树会不断合并优秀的驱动。从2.4内核起,ov5xx驱动就已经是内核代码的一部分。从2.6.26开始,Linux内核原生包
含uvc
驱动。2.6.27内核又吸收进了gspca/spca5xx系列驱动。常见的Linux发行版所配置的内核,一般都已将这些驱动选项打开,而无需用户另
外编译。
另外,该文作者推荐:如果你想买一个摄像头,推荐买Logitech的,买符合UVC驱动的。