之前我用 STM32 驱动过 OV7725 CMOS 图像传感器,再加上上个学期室友做的创新实践项目用到了 USB 摄像头,这些玩意就逐渐引起了我的兴趣。考虑到这些玩意价格也不贵,于是就买了几个研究了一下。
以下依次介绍某山寨 USB 摄像头、ThinkPad X200 摄像头模块、蓝色妖姬 M2200 、天敏 S603HD 和天敏 D805HD 。
请点击图像来查看全尺寸大图。
山寨 VGA 摄像头
这是室友为创新实践项目在广埠屯花 15 块买的山寨 USB 摄像头,640×480 分辨率。
公模 + 杂牌。
主要的部件都集中在这个小壳子里。
背面的照明 LED 开关和四颗螺丝。
卸下螺丝,开壳。
内部是一小块 PCB ,用一颗螺丝固定。一般而言摄像头都会刻意使用黑色的阻焊剂,而这个山寨摄像头则是使用的和普通 PCB 一样的绿色阻焊剂。这样做的后果待会儿揭晓。
电路板背面。除了两个固定镜头座的螺丝以外,还有一枚主控芯片,没有存储设置用的 EEPROM 。这只山寨摄像头用了硬封的芯片,算是山寨货中质量比较好的了。USB 线缆和 LED 开关的连接还打了胶以便固定。
主控是台湾珏创的 eSP268 ,8051 核心,最大只支持到 1280×1024 ,自身不带 JPEG 压缩但是可以传送传感器压制好的 MJPEG 流,属于非常鸡肋的东西了。但是现在很多摄像头都用它,因为很多的摄像头都很鸡肋。
这款芯片的集成度很高,在外部没有看到 LDO 或者 EEPROM 。
回到正面,拧出镜头。一般光学尺寸为 1/3 英寸或者更小的传感器都使用这种 M12×0.5 螺纹的镜头接口(简称 M12 口),由两颗螺丝固定,塑料镜头座的螺丝孔间距一半是 20mm ,金属的一般是 22mm 。监控摄像机、USB 摄像头有不少都是 M12 口的,这也给镜头互换提供了便利。
15 块钱的东西,可想而知镜头就非常简陋了。这是一只单片塑料非球面镜头,带有红外截止滤光片。
非球面镜表面特写。
卸下镜头座以后就可以看到这只非常小的 CMOS 彩色图像传感器了。作为山寨摄像头,采用 HC-49 封装的晶体并且焊得四平八稳也是不容易的。
传感器的型号不明,估计光学尺寸 1/6 英寸。
为了达到创新实践项目的要求,首先需要一个好欺负的镜头——这个镜头的红外截止滤光片暴露在最外面,比较好下手。接下来就是去掉它,换上 760nm 的近红外窄带滤光片,然后在红外光源下用摄像头拍摄手掌血管。
(你以为我那不靠谱室友真的会自己动手做项目么?)
拿美工刀撬掉了红外截止滤光片。
装上红外 LED 和处理好的镜头。
为了尽量补偿绿色阻焊剂造成的影响,需要在背面贴上一层黑纸。
通电开灯测试。手机摄像头的红外截止滤光片比较差一点,可以照到一些红外光,实际上这些 LED 是非常亮的。相机红外截止滤光片的质量则是非常的好,一点红外光都照不到。
最后是 760nm 的窄带滤光片,使用的时候罩在镜头上。
接下来是 lsusb 和 ffmpeg 调用 Video4Linux 时的输出。
$ lsusb -vv Bus 002 Device 019: ID 1e4e:0102 Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 239 Miscellaneous Device bDeviceSubClass 2 ? bDeviceProtocol 1 Interface Association bMaxPacketSize0 64 idVendor 0x1e4e idProduct 0x0102 bcdDevice 0.02 iManufacturer 1 Etron Technology, Inc. iProduct 2 USB2.0 Camera iSerial 0 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 539 bNumInterfaces 2 bConfigurationValue 1 iConfiguration 0 bmAttributes 0x80 (Bus Powered) MaxPower 100mA Interface Association: bLength 8 bDescriptorType 11 bFirstInterface 0 bInterfaceCount 2 bFunctionClass 14 Video bFunctionSubClass 3 Video Interface Collection bFunctionProtocol 0 iFunction 2 USB2.0 Camera Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 14 Video bInterfaceSubClass 1 Video Control bInterfaceProtocol 0 iInterface 2 USB2.0 Camera VideoControl Interface Descriptor: bLength 13 bDescriptorType 36 bDescriptorSubtype 1 (HEADER) bcdUVC 1.00 wTotalLength 77 dwClockFrequency 30.000000MHz bInCollection 1 baInterfaceNr( 0) 1 VideoControl Interface Descriptor: bLength 18 bDescriptorType 36 bDescriptorSubtype 2 (INPUT_TERMINAL) bTerminalID 1 wTerminalType 0x0201 Camera Sensor bAssocTerminal 0 iTerminal 0 wObjectiveFocalLengthMin 0 wObjectiveFocalLengthMax 0 wOcularFocalLength 0 bControlSize 3 bmControls 0x0000000e Auto-Exposure Mode Auto-Exposure Priority Exposure Time (Absolute) VideoControl Interface Descriptor: bLength 9 bDescriptorType 36 bDescriptorSubtype 3 (OUTPUT_TERMINAL) bTerminalID 2 wTerminalType 0x0101 USB Streaming bAssocTerminal 0 bSourceID 4 iTerminal 0 VideoControl Interface Descriptor: bLength 11 bDescriptorType 36 bDescriptorSubtype 5 (PROCESSING_UNIT) Warning: Descriptor too short bUnitID 3 bSourceID 1 wMaxMultiplier 0 bControlSize 2 bmControls 0x0000147f Brightness Contrast Hue Saturation Sharpness Gamma White Balance Temperature Power Line Frequency White Balance Temperature, Auto iProcessing 0 bmVideoStandards 0x1a NTSC - 525/60 SECAM - 625/50 NTSC - 625/50 VideoControl Interface Descriptor: bLength 26 bDescriptorType 36 bDescriptorSubtype 6 (EXTENSION_UNIT) bUnitID 4 guidExtensionCode {adccb1c2-f6ab-b848-8e37-32d4f3a3feec} bNumControl 8 bNrPins 1 baSourceID( 0) 3 bControlSize 1 bmControls( 0) 0x3f iExtension 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x82 EP 2 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 4 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 0 bNumEndpoints 0 bInterfaceClass 14 Video bInterfaceSubClass 2 Video Streaming bInterfaceProtocol 0 iInterface 0 VideoStreaming Interface Descriptor: bLength 14 bDescriptorType 36 bDescriptorSubtype 1 (INPUT_HEADER) bNumFormats 1 wTotalLength 223 bEndPointAddress 129 bmInfo 0 bTerminalLink 2 bStillCaptureMethod 2 bTriggerSupport 1 bTriggerUsage 1 bControlSize 1 bmaControls( 0) 27 VideoStreaming Interface Descriptor: bLength 27 bDescriptorType 36 bDescriptorSubtype 4 (FORMAT_UNCOMPRESSED) bFormatIndex 1 bNumFrameDescriptors 5 guidFormat {59555932-0000-1000-8000-00aa00389b71} bBitsPerPixel 16 bDefaultFrameIndex 1 bAspectRatioX 0 bAspectRatioY 0 bmInterlaceFlags 0x00 Interlaced stream or variable: No Fields per frame: 2 fields Field 1 first: No Field pattern: Field 1 only bCopyProtect 0 VideoStreaming Interface Descriptor: bLength 30 bDescriptorType 36 bDescriptorSubtype 5 (FRAME_UNCOMPRESSED) bFrameIndex 1 bmCapabilities 0x00 Still image unsupported wWidth 640 wHeight 480 dwMinBitRate 147456000 dwMaxBitRate 147456000 dwMaxVideoFrameBufferSize 614400 dwDefaultFrameInterval 333333 bFrameIntervalType 1 dwFrameInterval( 0) 333333 VideoStreaming Interface Descriptor: bLength 30 bDescriptorType 36 bDescriptorSubtype 5 (FRAME_UNCOMPRESSED) bFrameIndex 2 bmCapabilities 0x00 Still image unsupported wWidth 352 wHeight 288 dwMinBitRate 48660480 dwMaxBitRate 48660480 dwMaxVideoFrameBufferSize 202752 dwDefaultFrameInterval 333333 bFrameIntervalType 1 dwFrameInterval( 0) 333333 VideoStreaming Interface Descriptor: bLength 30 bDescriptorType 36 bDescriptorSubtype 5 (FRAME_UNCOMPRESSED) bFrameIndex 3 bmCapabilities 0x00 Still image unsupported wWidth 320 wHeight 240 dwMinBitRate 36864000 dwMaxBitRate 36864000 dwMaxVideoFrameBufferSize 153600 dwDefaultFrameInterval 333333 bFrameIntervalType 1 dwFrameInterval( 0) 333333 VideoStreaming Interface Descriptor: bLength 30 bDescriptorType 36 bDescriptorSubtype 5 (FRAME_UNCOMPRESSED) bFrameIndex 4 bmCapabilities 0x00 Still image unsupported wWidth 176 wHeight 144 dwMinBitRate 12165120 dwMaxBitRate 12165120 dwMaxVideoFrameBufferSize 50688 dwDefaultFrameInterval 333333 bFrameIntervalType 1 dwFrameInterval( 0) 333333 VideoStreaming Interface Descriptor: bLength 30 bDescriptorType 36 bDescriptorSubtype 5 (FRAME_UNCOMPRESSED) bFrameIndex 5 bmCapabilities 0x00 Still image unsupported wWidth 160 wHeight 120 dwMinBitRate 9216000 dwMaxBitRate 9216000 dwMaxVideoFrameBufferSize 38400 dwDefaultFrameInterval 333333 bFrameIntervalType 1 dwFrameInterval( 0) 333333 VideoStreaming Interface Descriptor: bLength 26 bDescriptorType 36 bDescriptorSubtype 3 (STILL_IMAGE_FRAME) bEndpointAddress 0 bNumImageSizePatterns 5 wWidth( 0) 640 wHeight( 0) 480 wWidth( 1) 352 wHeight( 1) 288 wWidth( 2) 320 wHeight( 2) 240 wWidth( 3) 176 wHeight( 3) 144 wWidth( 4) 160 wHeight( 4) 120 bNumCompressionPatterns 5 VideoStreaming Interface Descriptor: bLength 6 bDescriptorType 36 bDescriptorSubtype 13 (COLORFORMAT) bColorPrimaries 1 (BT.709,sRGB) bTransferCharacteristics 1 (BT.709) bMatrixCoefficients 4 (SMPTE 170M (BT.601)) Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 1 bNumEndpoints 1 bInterfaceClass 14 Video bInterfaceSubClass 2 Video Streaming bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 5 Transfer Type Isochronous Synch Type Asynchronous Usage Type Data wMaxPacketSize 0x00a0 1x 160 bytes bInterval 1 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 2 bNumEndpoints 1 bInterfaceClass 14 Video bInterfaceSubClass 2 Video Streaming bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 5 Transfer Type Isochronous Synch Type Asynchronous Usage Type Data wMaxPacketSize 0x00d0 1x 208 bytes bInterval 1 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 3 bNumEndpoints 1 bInterfaceClass 14 Video bInterfaceSubClass 2 Video Streaming bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 5 Transfer Type Isochronous Synch Type Asynchronous Usage Type Data wMaxPacketSize 0x0300 1x 768 bytes bInterval 1 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 4 bNumEndpoints 1 bInterfaceClass 14 Video bInterfaceSubClass 2 Video Streaming bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 5 Transfer Type Isochronous Synch Type Asynchronous Usage Type Data wMaxPacketSize 0x030c 1x 780 bytes bInterval 1 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 5 bNumEndpoints 1 bInterfaceClass 14 Video bInterfaceSubClass 2 Video Streaming bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 5 Transfer Type Isochronous Synch Type Asynchronous Usage Type Data wMaxPacketSize 0x032c 1x 812 bytes bInterval 1 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 6 bNumEndpoints 1 bInterfaceClass 14 Video bInterfaceSubClass 2 Video Streaming bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 5 Transfer Type Isochronous Synch Type Asynchronous Usage Type Data wMaxPacketSize 0x03d0 1x 976 bytes bInterval 1 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 7 bNumEndpoints 1 bInterfaceClass 14 Video bInterfaceSubClass 2 Video Streaming bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 5 Transfer Type Isochronous Synch Type Asynchronous Usage Type Data wMaxPacketSize 0x03fc 1x 1020 bytes bInterval 1 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 8 bNumEndpoints 1 bInterfaceClass 14 Video bInterfaceSubClass 2 Video Streaming bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 5 Transfer Type Isochronous Synch Type Asynchronous Usage Type Data wMaxPacketSize 0x0400 1x 1024 bytes bInterval 1 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 9 bNumEndpoints 1 bInterfaceClass 14 Video bInterfaceSubClass 2 Video Streaming bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 5 Transfer Type Isochronous Synch Type Asynchronous Usage Type Data wMaxPacketSize 0x0a58 2x 600 bytes bInterval 1 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 10 bNumEndpoints 1 bInterfaceClass 14 Video bInterfaceSubClass 2 Video Streaming bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 5 Transfer Type Isochronous Synch Type Asynchronous Usage Type Data wMaxPacketSize 0x0b00 2x 768 bytes bInterval 1 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 11 bNumEndpoints 1 bInterfaceClass 14 Video bInterfaceSubClass 2 Video Streaming bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 5 Transfer Type Isochronous Synch Type Asynchronous Usage Type Data wMaxPacketSize 0x1334 3x 820 bytes bInterval 1 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 12 bNumEndpoints 1 bInterfaceClass 14 Video bInterfaceSubClass 2 Video Streaming bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 5 Transfer Type Isochronous Synch Type Asynchronous Usage Type Data wMaxPacketSize 0x13fc 3x 1020 bytes bInterval 1 Device Qualifier (for other device speed): bLength 10 bDescriptorType 6 bcdUSB 2.00 bDeviceClass 239 Miscellaneous Device bDeviceSubClass 2 ? bDeviceProtocol 1 Interface Association bMaxPacketSize0 64 bNumConfigurations 1 Device Status: 0x0000 (Bus Powered) $ avconv -f video4linux2 -list_formats all -i /dev/video1 avconv version 0.8.4-4:0.8.4-0ubuntu0.12.04.1, Copyright (c) 2000-2012 the Libav developers built on Nov 6 2012 16:51:33 with gcc 4.6.3 [video4linux2 @ 0x157cba0] R : yuyv422 : YUV 4:2:2 (YUYV) : 640x480 352x288 320x240 176x144 160x120 /dev/video1: Immediate exit requested
然后是样张。
先前说过绿色的阻焊剂会有问题。把电路板从遮光良好的外壳内拿出来后,当电路板后方的光强较强时,传感器会对电路板感光,形成上图这样的像。它会和正常的像叠加在一起。如果使用黑色的阻焊剂,光线大部分会被阻焊剂吸收,因此不会有这样的问题。
普通的前照式传感器背面比正面灵敏得多,而且没有滤光片阵列的衰减,因而当遮光措施不当时仅需少许漏光就容易影响成像。
微距样张。噪声较为明显,毕竟传感器面积小。
昏暗环境下的样张。
改造后拍摄的手掌血管的照片。我的手掌比较肥,所以效果不是很好。另外这种图像也不是很好对焦,毕竟收集到的光经过了组织的散射,本来就是模糊的。
图像之所以是黑白的,并不是因为我做了处理,而是因为 CMOS 彩色图像传感器用的滤光片阵列上的三种滤光片均被设计成对近红外区域高透。这样同一个传感器既可以用于正常光照下的彩色图像捕获,也可用于低光照条件下的高亮度近红外图像获取。
ThinkPad X200 摄像头模块
这玩意是我花了 25 块钱在淘宝上买的,有效像素两百万,由 Chicony 制造,原本是给 ThinkPad 使用的。由于便宜而且分辨率高,所以我就买了一块。铁架和贴纸都是赠品,可惜用不到。
摄像头模块正面。和很多机内摄像头模块类似,此模块采用 3.3V 供电的 USB 接口,也就是说需要一个额外的 LDO 。模块提供了摄像指示灯。
崭新的贴着贴纸的 FPC 插座,可惜马上就要进垃圾桶了。
理光的 R5U877 图像处理器,这是一个性能相当强劲的货,VGA (640×480) 的传感器可以跑到 120fps ,SXGA (1024×768) / UXGA (1600×1200) / FullHD (1920×1080) 则可以跑到 30fps ,QXGA (2048×1536) 也可以跑到 15fps 。支持最大 300 万像素的 SMIA CMOS 传感器,支持 300 万象素图像的实时 MJPEG 压缩,固件代码从 I2C EEPROM 或者 SPI NOR Flash 中读取。当然,这玩意的发热量也有点大。
储存图像处理器固件的 Pm25LV512 闪存,容量 512Kbits (64KBytes) 。PMC 产的小容量 SPI 闪存似乎用得很多,我笔电上的 KBC 也是用它家的 Pm25LV010A 储存固件。
图像处理器使用的 12MHz 贴片有源晶体振荡器。
型号不明 SOT23-6 封装的小芯片 ,应该是为传感器提供模拟电源的 LDO 。
模块背面,基本是空的。
FPC 插座背面标明了针脚定义,这太方便了。
下面准备拆除 FPC 插座。首先掰开两边焊死的金属固定卡子,然后将主体卸下,最后清理掉两个卡子。
FPC 插座已经成功拆除。下面焊上 3.3V 输出的 1117 LDO 和 USB 线缆。
全部焊好后的样子。位子比较狭小,没办法处理得比较好看了。
上机测试,一切 OK 。
拿热缩膜封好,完事。
lsusb 和 ffmpeg 输出:
$ lsusb -vv Bus 002 Device 008: ID 17ef:4816 Lenovo Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 239 Miscellaneous Device bDeviceSubClass 2 ? bDeviceProtocol 1 Interface Association bMaxPacketSize0 64 idVendor 0x17ef Lenovo idProduct 0x4816 bcdDevice 23.45 iManufacturer 1 Chicony Electronics Co., Ltd. iProduct 2 Integrated Camera iSerial 0 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 722 bNumInterfaces 2 bConfigurationValue 1 iConfiguration 0 bmAttributes 0x80 (Bus Powered) MaxPower 200mA Interface Association: bLength 8 bDescriptorType 11 bFirstInterface 0 bInterfaceCount 2 bFunctionClass 14 Video bFunctionSubClass 3 Video Interface Collection bFunctionProtocol 0 iFunction 4 Integrated Camera Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 14 Video bInterfaceSubClass 1 Video Control bInterfaceProtocol 0 iInterface 4 Integrated Camera VideoControl Interface Descriptor: bLength 13 bDescriptorType 36 bDescriptorSubtype 1 (HEADER) bcdUVC 1.00 wTotalLength 78 dwClockFrequency 30.000000MHz bInCollection 1 baInterfaceNr( 0) 1 VideoControl Interface Descriptor: bLength 18 bDescriptorType 36 bDescriptorSubtype 2 (INPUT_TERMINAL) bTerminalID 1 wTerminalType 0x0201 Camera Sensor bAssocTerminal 4 iTerminal 0 wObjectiveFocalLengthMin 0 wObjectiveFocalLengthMax 0 wOcularFocalLength 0 bControlSize 3 bmControls 0x00040a04 Auto-Exposure Priority Zoom (Absolute) PanTilt (Absolute) Privacy VideoControl Interface Descriptor: bLength 11 bDescriptorType 36 bDescriptorSubtype 5 (PROCESSING_UNIT) Warning: Descriptor too short bUnitID 2 bSourceID 1 wMaxMultiplier 0 bControlSize 2 bmControls 0x0000013f Brightness Contrast Hue Saturation Sharpness Gamma Backlight Compensation iProcessing 0 bmVideoStandards 0x1b None NTSC - 525/60 SECAM - 625/50 NTSC - 625/50 VideoControl Interface Descriptor: bLength 27 bDescriptorType 36 bDescriptorSubtype 6 (EXTENSION_UNIT) bUnitID 3 guidExtensionCode {0a3e1874-8254-1a48-b402-48b8b8c49cc8} bNumControl 10 bNrPins 1 baSourceID( 0) 2 bControlSize 2 bmControls( 0) 0xff bmControls( 1) 0x03 iExtension 0 VideoControl Interface Descriptor: bLength 9 bDescriptorType 36 bDescriptorSubtype 3 (OUTPUT_TERMINAL) bTerminalID 4 wTerminalType 0x0101 USB Streaming bAssocTerminal 0 bSourceID 3 iTerminal 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0010 1x 16 bytes bInterval 8 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 0 bNumEndpoints 0 bInterfaceClass 14 Video bInterfaceSubClass 2 Video Streaming bInterfaceProtocol 0 iInterface 0 VideoStreaming Interface Descriptor: bLength 15 bDescriptorType 36 bDescriptorSubtype 1 (INPUT_HEADER) bNumFormats 2 wTotalLength 533 bEndPointAddress 130 bmInfo 1 bTerminalLink 4 bStillCaptureMethod 1 bTriggerSupport 0 bTriggerUsage 0 bControlSize 1 bmaControls( 0) 27 bmaControls( 1) 27 VideoStreaming Interface Descriptor: bLength 27 bDescriptorType 36 bDescriptorSubtype 4 (FORMAT_UNCOMPRESSED) bFormatIndex 1 bNumFrameDescriptors 8 guidFormat {59555932-0000-1000-8000-00aa00389b71} bBitsPerPixel 16 bDefaultFrameIndex 1 bAspectRatioX 0 bAspectRatioY 0 bmInterlaceFlags 0x02 Interlaced stream or variable: No Fields per frame: 1 fields Field 1 first: No Field pattern: Field 1 only bCopyProtect 0 VideoStreaming Interface Descriptor: bLength 30 bDescriptorType 36 bDescriptorSubtype 5 (FRAME_UNCOMPRESSED) bFrameIndex 1 bmCapabilities 0x01 Still image supported wWidth 640 wHeight 480 dwMinBitRate 147456000 dwMaxBitRate 147456000 dwMaxVideoFrameBufferSize 614400 dwDefaultFrameInterval 333333 bFrameIntervalType 1 dwFrameInterval( 0) 333333 VideoStreaming Interface Descriptor: bLength 30 bDescriptorType 36 bDescriptorSubtype 5 (FRAME_UNCOMPRESSED) bFrameIndex 2 bmCapabilities 0x01 Still image supported wWidth 352 wHeight 288 dwMinBitRate 48660480 dwMaxBitRate 48660480 dwMaxVideoFrameBufferSize 202752 dwDefaultFrameInterval 333333 bFrameIntervalType 1 dwFrameInterval( 0) 333333 VideoStreaming Interface Descriptor: bLength 30 bDescriptorType 36 bDescriptorSubtype 5 (FRAME_UNCOMPRESSED) bFrameIndex 3 bmCapabilities 0x01 Still image supported wWidth 320 wHeight 240 dwMinBitRate 36864000 dwMaxBitRate 36864000 dwMaxVideoFrameBufferSize 153600 dwDefaultFrameInterval 333333 bFrameIntervalType 1 dwFrameInterval( 0) 333333 VideoStreaming Interface Descriptor: bLength 30 bDescriptorType 36 bDescriptorSubtype 5 (FRAME_UNCOMPRESSED) bFrameIndex 4 bmCapabilities 0x01 Still image supported wWidth 800 wHeight 600 dwMinBitRate 115200000 dwMaxBitRate 115200000 dwMaxVideoFrameBufferSize 960000 dwDefaultFrameInterval 666666 bFrameIntervalType 1 dwFrameInterval( 0) 666666 VideoStreaming Interface Descriptor: bLength 30 bDescriptorType 36 bDescriptorSubtype 5 (FRAME_UNCOMPRESSED) bFrameIndex 5 bmCapabilities 0x01 Still image supported wWidth 1024 wHeight 768 dwMinBitRate 150994944 dwMaxBitRate 150994944 dwMaxVideoFrameBufferSize 1572864 dwDefaultFrameInterval 833333 bFrameIntervalType 1 dwFrameInterval( 0) 833333 VideoStreaming Interface Descriptor: bLength 30 bDescriptorType 36 bDescriptorSubtype 5 (FRAME_UNCOMPRESSED) bFrameIndex 6 bmCapabilities 0x01 Still image supported wWidth 1280 wHeight 720 dwMinBitRate 110592000 dwMaxBitRate 110592000 dwMaxVideoFrameBufferSize 1843200 dwDefaultFrameInterval 1333333 bFrameIntervalType 1 dwFrameInterval( 0) 1333333 VideoStreaming Interface Descriptor: bLength 30 bDescriptorType 36 bDescriptorSubtype 5 (FRAME_UNCOMPRESSED) bFrameIndex 7 bmCapabilities 0x01 Still image supported wWidth 1280 wHeight 800 dwMinBitRate 122880000 dwMaxBitRate 122880000 dwMaxVideoFrameBufferSize 2048000 dwDefaultFrameInterval 1333333 bFrameIntervalType 1 dwFrameInterval( 0) 1333333 VideoStreaming Interface Descriptor: bLength 30 bDescriptorType 36 bDescriptorSubtype 5 (FRAME_UNCOMPRESSED) bFrameIndex 8 bmCapabilities 0x01 Still image supported wWidth 1600 wHeight 1200 dwMinBitRate 153600000 dwMaxBitRate 153600000 dwMaxVideoFrameBufferSize 3840000 dwDefaultFrameInterval 2000000 bFrameIntervalType 1 dwFrameInterval( 0) 2000000 VideoStreaming Interface Descriptor: bLength 11 bDescriptorType 36 bDescriptorSubtype 6 (FORMAT_MJPEG) bFormatIndex 2 bNumFrameDescriptors 8 bFlags 0 Fixed-size samples: No bDefaultFrameIndex 1 bAspectRatioX 0 bAspectRatioY 0 bmInterlaceFlags 0x02 Interlaced stream or variable: No Fields per frame: 2 fields Field 1 first: No Field pattern: Field 1 only bCopyProtect 0 VideoStreaming Interface Descriptor: bLength 30 bDescriptorType 36 bDescriptorSubtype 7 (FRAME_MJPEG) bFrameIndex 1 bmCapabilities 0x01 Still image supported wWidth 640 wHeight 480 dwMinBitRate 221184000 dwMaxBitRate 221184000 dwMaxVideoFrameBufferSize 921600 dwDefaultFrameInterval 333333 bFrameIntervalType 1 dwFrameInterval( 0) 333333 VideoStreaming Interface Descriptor: bLength 30 bDescriptorType 36 bDescriptorSubtype 7 (FRAME_MJPEG) bFrameIndex 2 bmCapabilities 0x01 Still image supported wWidth 352 wHeight 288 dwMinBitRate 72990720 dwMaxBitRate 72990720 dwMaxVideoFrameBufferSize 304128 dwDefaultFrameInterval 333333 bFrameIntervalType 1 dwFrameInterval( 0) 333333 VideoStreaming Interface Descriptor: bLength 30 bDescriptorType 36 bDescriptorSubtype 7 (FRAME_MJPEG) bFrameIndex 3 bmCapabilities 0x01 Still image supported wWidth 320 wHeight 240 dwMinBitRate 55296000 dwMaxBitRate 55296000 dwMaxVideoFrameBufferSize 230400 dwDefaultFrameInterval 333333 bFrameIntervalType 1 dwFrameInterval( 0) 333333 VideoStreaming Interface Descriptor: bLength 30 bDescriptorType 36 bDescriptorSubtype 7 (FRAME_MJPEG) bFrameIndex 4 bmCapabilities 0x01 Still image supported wWidth 800 wHeight 600 dwMinBitRate 345600000 dwMaxBitRate 345600000 dwMaxVideoFrameBufferSize 1440000 dwDefaultFrameInterval 333333 bFrameIntervalType 1 dwFrameInterval( 0) 333333 VideoStreaming Interface Descriptor: bLength 30 bDescriptorType 36 bDescriptorSubtype 7 (FRAME_MJPEG) bFrameIndex 5 bmCapabilities 0x01 Still image supported wWidth 1024 wHeight 768 dwMinBitRate 283115520 dwMaxBitRate 283115520 dwMaxVideoFrameBufferSize 2359296 dwDefaultFrameInterval 666666 bFrameIntervalType 1 dwFrameInterval( 0) 666666 VideoStreaming Interface Descriptor: bLength 30 bDescriptorType 36 bDescriptorSubtype 7 (FRAME_MJPEG) bFrameIndex 6 bmCapabilities 0x01 Still image supported wWidth 1280 wHeight 720 dwMinBitRate 331776000 dwMaxBitRate 331776000 dwMaxVideoFrameBufferSize 2764800 dwDefaultFrameInterval 666666 bFrameIntervalType 1 dwFrameInterval( 0) 666666 VideoStreaming Interface Descriptor: bLength 30 bDescriptorType 36 bDescriptorSubtype 7 (FRAME_MJPEG) bFrameIndex 7 bmCapabilities 0x01 Still image supported wWidth 1280 wHeight 800 dwMinBitRate 368640000 dwMaxBitRate 368640000 dwMaxVideoFrameBufferSize 3072000 dwDefaultFrameInterval 666666 bFrameIntervalType 1 dwFrameInterval( 0) 666666 VideoStreaming Interface Descriptor: bLength 30 bDescriptorType 36 bDescriptorSubtype 7 (FRAME_MJPEG) bFrameIndex 8 bmCapabilities 0x01 Still image supported wWidth 1600 wHeight 1200 dwMinBitRate 691200000 dwMaxBitRate 691200000 dwMaxVideoFrameBufferSize 5760000 dwDefaultFrameInterval 666666 bFrameIntervalType 1 dwFrameInterval( 0) 666666 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 1 bNumEndpoints 1 bInterfaceClass 14 Video bInterfaceSubClass 2 Video Streaming bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x82 EP 2 IN bmAttributes 5 Transfer Type Isochronous Synch Type Asynchronous Usage Type Data wMaxPacketSize 0x0bc8 2x 968 bytes bInterval 1 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 2 bNumEndpoints 1 bInterfaceClass 14 Video bInterfaceSubClass 2 Video Streaming bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x82 EP 2 IN bmAttributes 5 Transfer Type Isochronous Synch Type Asynchronous Usage Type Data wMaxPacketSize 0x13ec 3x 1004 bytes bInterval 1 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 3 bNumEndpoints 1 bInterfaceClass 14 Video bInterfaceSubClass 2 Video Streaming bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x82 EP 2 IN bmAttributes 5 Transfer Type Isochronous Synch Type Asynchronous Usage Type Data wMaxPacketSize 0x13fc 3x 1020 bytes bInterval 1 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 4 bNumEndpoints 1 bInterfaceClass 14 Video bInterfaceSubClass 2 Video Streaming bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x82 EP 2 IN bmAttributes 5 Transfer Type Isochronous Synch Type Asynchronous Usage Type Data wMaxPacketSize 0x1400 3x 1024 bytes bInterval 1 Device Qualifier (for other device speed): bLength 10 bDescriptorType 6 bcdUSB 2.00 bDeviceClass 239 Miscellaneous Device bDeviceSubClass 2 ? bDeviceProtocol 1 Interface Association bMaxPacketSize0 64 bNumConfigurations 1 Device Status: 0x0000 (Bus Powered) $ avconv -f video4linux2 -list_formats all -i /dev/video1 avconv version 0.8.4-4:0.8.4-0ubuntu0.12.04.1, Copyright (c) 2000-2012 the Libav developers built on Nov 6 2012 16:51:33 with gcc 4.6.3 [video4linux2 @ 0x1169ba0] R : yuyv422 : YUV 4:2:2 (YUYV) : 640x480 352x288 320x240 800x600 1024x768 1280x720 1280x800 1600x1200 [video4linux2 @ 0x1169ba0] C : mjpeg : MJPEG : 640x480 352x288 320x240 800x600 1024x768 1280x720 1280x800 1600x1200 /dev/video1: Immediate exit requested
样张:
对于这种需要控制厚度的模块来说镜头的成像质量往往是硬伤,不仅有极大的相差(图中的色差很明显),而且镜头往往还是定焦的,对焦很不清晰。
由于传感器的光学尺寸较小,暗处噪声大是不可避免的了。
套上放大镜后的微距样张。ISP 的锐化开得有点高。
最后还有 UXGA @ 15fps 的视频片段。大概是因为传感器的限制,UXGA 只能跑到 15fps ,任何更低的分辨率只能跑到 30fps 。 clip1-web
蓝色妖姬 M2200
这款摄像头可以说是国内走高端路线的小牌厂商的代表。总的来说,其外壳和 PCB 做工不算精致,但是传感器和镜头不错。
侧面外观,带了一个快门键。
这玩意的外壳估计占了不少价钱,结构比较复杂,一步步拆开用了比较长的时间。
继续拆,终于快到主体部分了。
再拆……
摄像头的旋转带有分段的阻尼感,从这个结构中来。
另一侧的快门键。
主体由两颗螺丝固定。
电路板。和大多数厂商一样,采用了黑色的 PCB 阻焊层来防止漏光。
USB 电缆上用了热缩管和线箍,而且打了胶,算是比较负责了。
USB 线材还算不错,带了屏蔽。不知道是不是 Isochronous Endpoint 对线材的要求比 Bulk 高。
一只 marking 为 1650 的 3.3V LDO 。USB 电缆的焊工比较寒酸,意料之中的。
炮筒晶振,低端摄像头的标配了。毕竟 HC-49 太占空间,贴片的又用不起。
中星微的 VC0342 主控,可以说跟 eSP268 在同一级别。貌似 VIMICRO 收购了 Z-Star Microelectronics ,摄像头主控这个产品线是收购得来的。
储存设定信息的 24C64 I2C EEPROM ,里面应该主要是 CMOS 各个寄存器的设定值,以及 USB VID/PID/String Descriptor 。
PCB 正面,一个 M12 镜头和两个 LED 占了大部分的面积,另外还有个粗糙的 MIC 。
镜头和镜头座。
镜头是国内镜头厂商 STAR LENS 制造的,最外面看到的是红外截止滤光片。
可以看出是非球面的(照出来比较困难)。
侧面的快门键。
拆下来的 MIC 。
1/4 英寸的 CMOS 传感器。淘宝的页面上宣称是 OV7740 。
和某经销商的图片比对了下,发现应该不假。OmniVision 其它的 VGA 传感器都不是这种外观。
lsusb 和 ffmpeg 输出:
$ lsusb -vv Bus 002 Device 011: ID 0ac8:3420 Z-Star Microelectronics Corp. Venus USB2.0 Camera Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 239 Miscellaneous Device bDeviceSubClass 2 ? bDeviceProtocol 1 Interface Association bMaxPacketSize0 64 idVendor 0x0ac8 Z-Star Microelectronics Corp. idProduct 0x3420 Venus USB2.0 Camera bcdDevice 1.00 iManufacturer 1 Vimicro Corp. iProduct 2 Venus USB2.0 Camera iSerial 0 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 607 bNumInterfaces 4 bConfigurationValue 1 iConfiguration 0 bmAttributes 0x80 (Bus Powered) MaxPower 320mA Interface Association: bLength 8 bDescriptorType 11 bFirstInterface 0 bInterfaceCount 2 bFunctionClass 14 Video bFunctionSubClass 3 Video Interface Collection bFunctionProtocol 0 iFunction 2 Venus USB2.0 Camera Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 14 Video bInterfaceSubClass 1 Video Control bInterfaceProtocol 0 iInterface 2 Venus USB2.0 Camera VideoControl Interface Descriptor: bLength 13 bDescriptorType 36 bDescriptorSubtype 1 (HEADER) bcdUVC 1.00 wTotalLength 79 dwClockFrequency 30.000000MHz bInCollection 1 baInterfaceNr( 0) 1 VideoControl Interface Descriptor: bLength 18 bDescriptorType 36 bDescriptorSubtype 2 (INPUT_TERMINAL) bTerminalID 1 wTerminalType 0x0201 Camera Sensor bAssocTerminal 0 iTerminal 0 wObjectiveFocalLengthMin 0 wObjectiveFocalLengthMax 0 wOcularFocalLength 0 bControlSize 3 bmControls 0x00000000 VideoControl Interface Descriptor: bLength 11 bDescriptorType 36 bDescriptorSubtype 5 (PROCESSING_UNIT) Warning: Descriptor too short bUnitID 2 bSourceID 1 wMaxMultiplier 0 bControlSize 2 bmControls 0x0000147b Brightness Contrast Saturation Sharpness Gamma White Balance Temperature Power Line Frequency White Balance Temperature, Auto iProcessing 0 bmVideoStandards 0x 9 None SECAM - 625/50 VideoControl Interface Descriptor: bLength 9 bDescriptorType 36 bDescriptorSubtype 3 (OUTPUT_TERMINAL) bTerminalID 3 wTerminalType 0x0101 USB Streaming bAssocTerminal 0 bSourceID 2 iTerminal 0 VideoControl Interface Descriptor: bLength 28 bDescriptorType 36 bDescriptorSubtype 6 (EXTENSION_UNIT) bUnitID 4 guidExtensionCode {e3deaebb-c2ec-4d42-802c-72f2eb3dfb57} bNumControl 8 bNrPins 1 baSourceID( 0) 1 bControlSize 3 bmControls( 0) 0x59 bmControls( 1) 0x80 bmControls( 2) 0x80 iExtension 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x000a 1x 10 bytes bInterval 5 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 0 bNumEndpoints 0 bInterfaceClass 14 Video bInterfaceSubClass 2 Video Streaming bInterfaceProtocol 0 iInterface 0 VideoStreaming Interface Descriptor: bLength 14 bDescriptorType 36 bDescriptorSubtype 1 (INPUT_HEADER) bNumFormats 1 wTotalLength 243 bEndPointAddress 130 bmInfo 0 bTerminalLink 3 bStillCaptureMethod 2 bTriggerSupport 1 bTriggerUsage 1 bControlSize 1 bmaControls( 0) 27 VideoStreaming Interface Descriptor: bLength 27 bDescriptorType 36 bDescriptorSubtype 4 (FORMAT_UNCOMPRESSED) bFormatIndex 1 bNumFrameDescriptors 5 guidFormat {59555932-0000-1000-8000-00aa00389b71} bBitsPerPixel 16 bDefaultFrameIndex 1 bAspectRatioX 0 bAspectRatioY 0 bmInterlaceFlags 0x00 Interlaced stream or variable: No Fields per frame: 2 fields Field 1 first: No Field pattern: Field 1 only bCopyProtect 0 VideoStreaming Interface Descriptor: bLength 34 bDescriptorType 36 bDescriptorSubtype 5 (FRAME_UNCOMPRESSED) bFrameIndex 1 bmCapabilities 0x00 Still image unsupported wWidth 640 wHeight 480 dwMinBitRate 768000 dwMaxBitRate 196608000 dwMaxVideoFrameBufferSize 614400 dwDefaultFrameInterval 333333 bFrameIntervalType 2 dwFrameInterval( 0) 333333 dwFrameInterval( 1) 666667 VideoStreaming Interface Descriptor: bLength 34 bDescriptorType 36 bDescriptorSubtype 5 (FRAME_UNCOMPRESSED) bFrameIndex 2 bmCapabilities 0x00 Still image unsupported wWidth 352 wHeight 288 dwMinBitRate 768000 dwMaxBitRate 196608000 dwMaxVideoFrameBufferSize 202752 dwDefaultFrameInterval 333333 bFrameIntervalType 2 dwFrameInterval( 0) 333333 dwFrameInterval( 1) 666667 VideoStreaming Interface Descriptor: bLength 34 bDescriptorType 36 bDescriptorSubtype 5 (FRAME_UNCOMPRESSED) bFrameIndex 3 bmCapabilities 0x00 Still image unsupported wWidth 320 wHeight 240 dwMinBitRate 768000 dwMaxBitRate 196608000 dwMaxVideoFrameBufferSize 153600 dwDefaultFrameInterval 333333 bFrameIntervalType 2 dwFrameInterval( 0) 333333 dwFrameInterval( 1) 666667 VideoStreaming Interface Descriptor: bLength 34 bDescriptorType 36 bDescriptorSubtype 5 (FRAME_UNCOMPRESSED) bFrameIndex 4 bmCapabilities 0x00 Still image unsupported wWidth 176 wHeight 144 dwMinBitRate 768000 dwMaxBitRate 196608000 dwMaxVideoFrameBufferSize 50688 dwDefaultFrameInterval 333333 bFrameIntervalType 2 dwFrameInterval( 0) 333333 dwFrameInterval( 1) 666667 VideoStreaming Interface Descriptor: bLength 34 bDescriptorType 36 bDescriptorSubtype 5 (FRAME_UNCOMPRESSED) bFrameIndex 5 bmCapabilities 0x00 Still image unsupported wWidth 160 wHeight 120 dwMinBitRate 768000 dwMaxBitRate 196608000 dwMaxVideoFrameBufferSize 38400 dwDefaultFrameInterval 333333 bFrameIntervalType 2 dwFrameInterval( 0) 333333 dwFrameInterval( 1) 666667 VideoStreaming Interface Descriptor: bLength 26 bDescriptorType 36 bDescriptorSubtype 3 (STILL_IMAGE_FRAME) bEndpointAddress 0 bNumImageSizePatterns 5 wWidth( 0) 640 wHeight( 0) 480 wWidth( 1) 352 wHeight( 1) 288 wWidth( 2) 320 wHeight( 2) 240 wWidth( 3) 176 wHeight( 3) 144 wWidth( 4) 160 wHeight( 4) 120 bNumCompressionPatterns 5 VideoStreaming Interface Descriptor: bLength 6 bDescriptorType 36 bDescriptorSubtype 13 (COLORFORMAT) bColorPrimaries 1 (BT.709,sRGB) bTransferCharacteristics 1 (BT.709) bMatrixCoefficients 4 (SMPTE 170M (BT.601)) Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 1 bNumEndpoints 1 bInterfaceClass 14 Video bInterfaceSubClass 2 Video Streaming bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x82 EP 2 IN bmAttributes 5 Transfer Type Isochronous Synch Type Asynchronous Usage Type Data wMaxPacketSize 0x0080 1x 128 bytes bInterval 1 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 2 bNumEndpoints 1 bInterfaceClass 14 Video bInterfaceSubClass 2 Video Streaming bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x82 EP 2 IN bmAttributes 5 Transfer Type Isochronous Synch Type Asynchronous Usage Type Data wMaxPacketSize 0x0200 1x 512 bytes bInterval 1 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 3 bNumEndpoints 1 bInterfaceClass 14 Video bInterfaceSubClass 2 Video Streaming bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x82 EP 2 IN bmAttributes 5 Transfer Type Isochronous Synch Type Asynchronous Usage Type Data wMaxPacketSize 0x0400 1x 1024 bytes bInterval 1 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 4 bNumEndpoints 1 bInterfaceClass 14 Video bInterfaceSubClass 2 Video Streaming bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x82 EP 2 IN bmAttributes 5 Transfer Type Isochronous Synch Type Asynchronous Usage Type Data wMaxPacketSize 0x0b00 2x 768 bytes bInterval 1 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 5 bNumEndpoints 1 bInterfaceClass 14 Video bInterfaceSubClass 2 Video Streaming bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x82 EP 2 IN bmAttributes 5 Transfer Type Isochronous Synch Type Asynchronous Usage Type Data wMaxPacketSize 0x0c00 2x 1024 bytes bInterval 1 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 6 bNumEndpoints 1 bInterfaceClass 14 Video bInterfaceSubClass 2 Video Streaming bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x82 EP 2 IN bmAttributes 5 Transfer Type Isochronous Synch Type Asynchronous Usage Type Data wMaxPacketSize 0x1380 3x 896 bytes bInterval 1 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 7 bNumEndpoints 1 bInterfaceClass 14 Video bInterfaceSubClass 2 Video Streaming bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x82 EP 2 IN bmAttributes 5 Transfer Type Isochronous Synch Type Asynchronous Usage Type Data wMaxPacketSize 0x1400 3x 1024 bytes bInterval 1 Interface Association: bLength 8 bDescriptorType 11 bFirstInterface 2 bInterfaceCount 2 bFunctionClass 1 Audio bFunctionSubClass 2 Streaming bFunctionProtocol 0 iFunction 3 Venus USB2.0 Camera (Audio) Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 2 bAlternateSetting 0 bNumEndpoints 0 bInterfaceClass 1 Audio bInterfaceSubClass 1 Control Device bInterfaceProtocol 0 iInterface 3 Venus USB2.0 Camera (Audio) AudioControl Interface Descriptor: bLength 9 bDescriptorType 36 bDescriptorSubtype 1 (HEADER) bcdADC 1.00 wTotalLength 39 bInCollection 1 baInterfaceNr( 0) 3 AudioControl Interface Descriptor: bLength 12 bDescriptorType 36 bDescriptorSubtype 2 (INPUT_TERMINAL) bTerminalID 1 wTerminalType 0x0201 Microphone bAssocTerminal 0 bNrChannels 1 wChannelConfig 0x0000 iChannelNames 0 iTerminal 0 AudioControl Interface Descriptor: bLength 9 bDescriptorType 36 bDescriptorSubtype 6 (FEATURE_UNIT) bUnitID 2 bSourceID 1 bControlSize 1 bmaControls( 0) 0x00 bmaControls( 1) 0x03 Mute Control Volume Control iFeature 0 AudioControl Interface Descriptor: bLength 9 bDescriptorType 36 bDescriptorSubtype 3 (OUTPUT_TERMINAL) bTerminalID 3 wTerminalType 0x0101 USB Streaming bAssocTerminal 1 bSourceID 2 iTerminal 0 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 3 bAlternateSetting 0 bNumEndpoints 0 bInterfaceClass 1 Audio bInterfaceSubClass 2 Streaming bInterfaceProtocol 0 iInterface 0 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 3 bAlternateSetting 1 bNumEndpoints 1 bInterfaceClass 1 Audio bInterfaceSubClass 2 Streaming bInterfaceProtocol 0 iInterface 0 AudioStreaming Interface Descriptor: bLength 7 bDescriptorType 36 bDescriptorSubtype 1 (AS_GENERAL) bTerminalLink 3 bDelay 1 frames wFormatTag 1 PCM AudioStreaming Interface Descriptor: bLength 29 bDescriptorType 36 bDescriptorSubtype 2 (FORMAT_TYPE) bFormatType 1 (FORMAT_TYPE_I) bNrChannels 1 bSubframeSize 2 bBitResolution 16 bSamFreqType 7 Discrete tSamFreq[ 0] 8000 tSamFreq[ 1] 11025 tSamFreq[ 2] 16000 tSamFreq[ 3] 22050 tSamFreq[ 4] 32000 tSamFreq[ 5] 44100 tSamFreq[ 6] 48000 Endpoint Descriptor: bLength 9 bDescriptorType 5 bEndpointAddress 0x83 EP 3 IN bmAttributes 1 Transfer Type Isochronous Synch Type None Usage Type Data wMaxPacketSize 0x0062 1x 98 bytes bInterval 4 bRefresh 0 bSynchAddress 0 AudioControl Endpoint Descriptor: bLength 7 bDescriptorType 37 bDescriptorSubtype 1 (EP_GENERAL) bmAttributes 0x01 Sampling Frequency bLockDelayUnits 0 Undefined wLockDelay 0 Undefined Device Qualifier (for other device speed): bLength 10 bDescriptorType 6 bcdUSB 2.00 bDeviceClass 239 Miscellaneous Device bDeviceSubClass 2 ? bDeviceProtocol 1 Interface Association bMaxPacketSize0 64 bNumConfigurations 1 Device Status: 0x0000 (Bus Powered) $ avconv -f video4linux2 -list_formats all -i /dev/video1 avconv version 0.8.4-4:0.8.4-0ubuntu0.12.04.1, Copyright (c) 2000-2012 the Libav developers built on Nov 6 2012 16:51:33 with gcc 4.6.3 [video4linux2 @ 0x1d49ba0] R : yuyv422 : YUV 4:2:2 (YUYV) : 640x480 352x288 320x240 176x144 160x120 /dev/video1: Immediate exit requested
样张:
超微距拍耳棉。
超微距拍万用板上的过孔。默认锐化开得比较高。
有些时候颜色表现很糟糕,貌似光线一暗就这样。OV7725 也是这个风格。
微距拍 TSOP-48 封装的引脚。
微距拍贴片 LED 。微距下景深很浅,能看清板子的时候看不清 LED 。
当看清楚 LED 时相隔不到 1mm 的基板就完全看不清了。
IS902 主控板上过孔里残留的锡珠。右侧是 0603 封装的 MLCC 。
微距纸张表面。
最后给出一段低光环境下拍摄的视频,效果还是很不错的,3W LED 下的整个寝室基本都能看清,毕竟有 6800mV/(Lux·s) 的灵敏度,在 FSI CMOS 里面不多见。用的是 150° 的广角镜头。 FOV150
天敏 S603HD
10moons 的 S603HD 是一款百元内的 720P 摄像头。在市场里充斥着 VGA 产品并且把软件插值像素标得老高的今天,这已经很不容易了。
这款摄像头带有摄像指示灯、快门键和硬件电源开关。
背面。
摄像头被设计成使用夹子固定。
一颗很长的螺母充当了转轴。
螺母特写。
要取下摄像头主体,需要卸下脚贴下面的一颗螺丝。
主体和夹子底座分离。
底座上带有球状的结构使得摄像头能够自由转动。
找不到明显的突破口,为了拆机,只好暴力拆下了前后的装饰板。
后面的装饰板下面果然有螺丝,不过装饰板应该是向直边侧滑开才对。
前面就没这么幸运了,这一面的装饰板是熔接死的。
卸下前装饰板后,LED 的罩子就掉下来了。
开壳。内部依然是黑色阻焊层的 PCB , 做工规整。
摄像头的主控是松翰的 SN9C259 ,虽然不及理光的控制器强大,但是好歹比中星微、珏创之流要强。
存储固件和设置的是一颗 PMC 的 Pm25LD512 型 SPI 闪存,容量 64KBytes 。
线缆的处理还欠佳,在这点上比不上蓝色妖姬。
来看看板子的正面。
又是标着 1650 的 LDO 。
炮筒晶体。
线缆的焊点饱满,不错。
相比之下话筒焊得非常糟糕。
卸下镜头外的调整圈套筒。
卸下 M12 镜头。
仍然是 STAR LENS 的镜头,应该跟蓝色妖姬的一样。天敏官网上给出的信息显示,这个镜头组成为 2P2G + IR Cut ,视场角 ~65° ,光圈 F2.8 ,焦距 3.5mm 。参数给得这么详细自然要给个业界良心的评级了。
卸下镜头座,露出传感器。
传感器特写。官网的参数和板子上的丝印都说明这是 NovaTech 的 NT99140 。NovaTech 传感器的客户主要是行车记录仪一类的厂商,其资料并不公开,少数泄漏的资料里也没啥关键的参数,甚至连其网站都没找到。
比较有趣的是,天敏的官网曾经有一段时间把这些详细的参数拿掉了,不过后来又加回来了。
lsusb 和 ffmpeg 输出:
$ lsusb -vv Bus 002 Device 019: ID 1b71:0056 Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 239 Miscellaneous Device bDeviceSubClass 2 ? bDeviceProtocol 1 Interface Association bMaxPacketSize0 64 idVendor 0x1b71 idProduct 0x0056 bcdDevice 0.00 iManufacturer 2 Sonix Technology Co., Ltd. iProduct 1 USB 2.0 Camera iSerial 0 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 1991 bNumInterfaces 4 bConfigurationValue 1 iConfiguration 0 bmAttributes 0x80 (Bus Powered) MaxPower 500mA Interface Association: bLength 8 bDescriptorType 11 bFirstInterface 0 bInterfaceCount 2 bFunctionClass 14 Video bFunctionSubClass 3 Video Interface Collection bFunctionProtocol 0 iFunction 5 HD 720P Webcam Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 14 Video bInterfaceSubClass 1 Video Control bInterfaceProtocol 0 iInterface 5 HD 720P Webcam VideoControl Interface Descriptor: bLength 13 bDescriptorType 36 bDescriptorSubtype 1 (HEADER) bcdUVC 1.00 wTotalLength 77 dwClockFrequency 15.000000MHz bInCollection 1 baInterfaceNr( 0) 1 VideoControl Interface Descriptor: bLength 9 bDescriptorType 36 bDescriptorSubtype 3 (OUTPUT_TERMINAL) bTerminalID 2 wTerminalType 0x0101 USB Streaming bAssocTerminal 0 bSourceID 4 iTerminal 0 VideoControl Interface Descriptor: bLength 26 bDescriptorType 36 bDescriptorSubtype 6 (EXTENSION_UNIT) bUnitID 4 guidExtensionCode {7033f028-1163-2e4a-ba2c-6890eb334016} bNumControl 8 bNrPins 1 baSourceID( 0) 3 bControlSize 1 bmControls( 0) 0x0f iExtension 0 VideoControl Interface Descriptor: bLength 18 bDescriptorType 36 bDescriptorSubtype 2 (INPUT_TERMINAL) bTerminalID 1 wTerminalType 0x0201 Camera Sensor bAssocTerminal 0 iTerminal 0 wObjectiveFocalLengthMin 0 wObjectiveFocalLengthMax 0 wOcularFocalLength 0 bControlSize 3 bmControls 0x00000000 VideoControl Interface Descriptor: bLength 11 bDescriptorType 36 bDescriptorSubtype 5 (PROCESSING_UNIT) Warning: Descriptor too short bUnitID 3 bSourceID 1 wMaxMultiplier 0 bControlSize 2 bmControls 0x0000073f Brightness Contrast Hue Saturation Sharpness Gamma Backlight Compensation Gain Power Line Frequency iProcessing 0 bmVideoStandards 0x20 PAL - 525/60 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x83 EP 3 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0010 1x 16 bytes bInterval 6 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 0 bNumEndpoints 0 bInterfaceClass 14 Video bInterfaceSubClass 2 Video Streaming bInterfaceProtocol 0 iInterface 5 HD 720P Webcam VideoStreaming Interface Descriptor: bLength 15 bDescriptorType 36 bDescriptorSubtype 1 (INPUT_HEADER) bNumFormats 2 wTotalLength 1643 bEndPointAddress 129 bmInfo 0 bTerminalLink 2 bStillCaptureMethod 2 bTriggerSupport 1 bTriggerUsage 1 bControlSize 1 bmaControls( 0) 11 bmaControls( 1) 11 VideoStreaming Interface Descriptor: bLength 11 bDescriptorType 36 bDescriptorSubtype 6 (FORMAT_MJPEG) bFormatIndex 1 bNumFrameDescriptors 15 bFlags 0 Fixed-size samples: No bDefaultFrameIndex 1 bAspectRatioX 0 bAspectRatioY 0 bmInterlaceFlags 0x00 Interlaced stream or variable: No Fields per frame: 1 fields Field 1 first: No Field pattern: Field 1 only bCopyProtect 0 VideoStreaming Interface Descriptor: bLength 50 bDescriptorType 36 bDescriptorSubtype 7 (FRAME_MJPEG) bFrameIndex 1 bmCapabilities 0x00 Still image unsupported wWidth 1280 wHeight 720 dwMinBitRate 73751560 dwMaxBitRate 442509360 dwMaxVideoFrameBufferSize 1843789 dwDefaultFrameInterval 333333 bFrameIntervalType 6 dwFrameInterval( 0) 333333 dwFrameInterval( 1) 400000 dwFrameInterval( 2) 500000 dwFrameInterval( 3) 666666 dwFrameInterval( 4) 1000000 dwFrameInterval( 5) 2000000 VideoStreaming Interface Descriptor: bLength 50 bDescriptorType 36 bDescriptorSubtype 7 (FRAME_MJPEG) bFrameIndex 2 bmCapabilities 0x00 Still image unsupported wWidth 640 wHeight 480 dwMinBitRate 24599560 dwMaxBitRate 147597360 dwMaxVideoFrameBufferSize 614989 dwDefaultFrameInterval 333333 bFrameIntervalType 6 dwFrameInterval( 0) 333333 dwFrameInterval( 1) 400000 dwFrameInterval( 2) 500000 dwFrameInterval( 3) 666666 dwFrameInterval( 4) 1000000 dwFrameInterval( 5) 2000000 VideoStreaming Interface Descriptor: bLength 50 bDescriptorType 36 bDescriptorSubtype 7 (FRAME_MJPEG) bFrameIndex 3 bmCapabilities 0x00 Still image unsupported wWidth 640 wHeight 360 dwMinBitRate 18455560 dwMaxBitRate 110733360 dwMaxVideoFrameBufferSize 461389 dwDefaultFrameInterval 333333 bFrameIntervalType 6 dwFrameInterval( 0) 333333 dwFrameInterval( 1) 400000 dwFrameInterval( 2) 500000 dwFrameInterval( 3) 666666 dwFrameInterval( 4) 1000000 dwFrameInterval( 5) 2000000 VideoStreaming Interface Descriptor: bLength 50 bDescriptorType 36 bDescriptorSubtype 7 (FRAME_MJPEG) bFrameIndex 4 bmCapabilities 0x00 Still image unsupported wWidth 544 wHeight 288 dwMinBitRate 12557320 dwMaxBitRate 75343920 dwMaxVideoFrameBufferSize 313933 dwDefaultFrameInterval 333333 bFrameIntervalType 6 dwFrameInterval( 0) 333333 dwFrameInterval( 1) 400000 dwFrameInterval( 2) 500000 dwFrameInterval( 3) 666666 dwFrameInterval( 4) 1000000 dwFrameInterval( 5) 2000000 VideoStreaming Interface Descriptor: bLength 54 bDescriptorType 36 bDescriptorSubtype 7 (FRAME_MJPEG) bFrameIndex 5 bmCapabilities 0x00 Still image unsupported wWidth 432 wHeight 240 dwMinBitRate 8294400 dwMaxBitRate 99532800 dwMaxVideoFrameBufferSize 207360 dwDefaultFrameInterval 166666 bFrameIntervalType 7 dwFrameInterval( 0) 166666 dwFrameInterval( 1) 333333 dwFrameInterval( 2) 400000 dwFrameInterval( 3) 500000 dwFrameInterval( 4) 666666 dwFrameInterval( 5) 1000000 dwFrameInterval( 6) 2000000 VideoStreaming Interface Descriptor: bLength 54 bDescriptorType 36 bDescriptorSubtype 7 (FRAME_MJPEG) bFrameIndex 6 bmCapabilities 0x00 Still image unsupported wWidth 352 wHeight 288 dwMinBitRate 8110080 dwMaxBitRate 97320960 dwMaxVideoFrameBufferSize 202752 dwDefaultFrameInterval 166666 bFrameIntervalType 7 dwFrameInterval( 0) 166666 dwFrameInterval( 1) 333333 dwFrameInterval( 2) 400000 dwFrameInterval( 3) 500000 dwFrameInterval( 4) 666666 dwFrameInterval( 5) 1000000 dwFrameInterval( 6) 2000000 VideoStreaming Interface Descriptor: bLength 54 bDescriptorType 36 bDescriptorSubtype 7 (FRAME_MJPEG) bFrameIndex 7 bmCapabilities 0x00 Still image unsupported wWidth 320 wHeight 240 dwMinBitRate 6144000 dwMaxBitRate 73728000 dwMaxVideoFrameBufferSize 153600 dwDefaultFrameInterval 166666 bFrameIntervalType 7 dwFrameInterval( 0) 166666 dwFrameInterval( 1) 333333 dwFrameInterval( 2) 400000 dwFrameInterval( 3) 500000 dwFrameInterval( 4) 666666 dwFrameInterval( 5) 1000000 dwFrameInterval( 6) 2000000 VideoStreaming Interface Descriptor: bLength 50 bDescriptorType 36 bDescriptorSubtype 7 (FRAME_MJPEG) bFrameIndex 8 bmCapabilities 0x00 Still image unsupported wWidth 752 wHeight 416 dwMinBitRate 25050120 dwMaxBitRate 150300720 dwMaxVideoFrameBufferSize 626253 dwDefaultFrameInterval 333333 bFrameIntervalType 6 dwFrameInterval( 0) 333333 dwFrameInterval( 1) 400000 dwFrameInterval( 2) 500000 dwFrameInterval( 3) 666666 dwFrameInterval( 4) 1000000 dwFrameInterval( 5) 2000000 VideoStreaming Interface Descriptor: bLength 50 bDescriptorType 36 bDescriptorSubtype 7 (FRAME_MJPEG) bFrameIndex 9 bmCapabilities 0x00 Still image unsupported wWidth 800 wHeight 448 dwMinBitRate 28695560 dwMaxBitRate 172173360 dwMaxVideoFrameBufferSize 717389 dwDefaultFrameInterval 333333 bFrameIntervalType 6 dwFrameInterval( 0) 333333 dwFrameInterval( 1) 400000 dwFrameInterval( 2) 500000 dwFrameInterval( 3) 666666 dwFrameInterval( 4) 1000000 dwFrameInterval( 5) 2000000 VideoStreaming Interface Descriptor: bLength 50 bDescriptorType 36 bDescriptorSubtype 7 (FRAME_MJPEG) bFrameIndex 10 bmCapabilities 0x00 Still image unsupported wWidth 800 wHeight 600 dwMinBitRate 38423560 dwMaxBitRate 230541360 dwMaxVideoFrameBufferSize 960589 dwDefaultFrameInterval 333333 bFrameIntervalType 6 dwFrameInterval( 0) 333333 dwFrameInterval( 1) 400000 dwFrameInterval( 2) 500000 dwFrameInterval( 3) 666666 dwFrameInterval( 4) 1000000 dwFrameInterval( 5) 2000000 VideoStreaming Interface Descriptor: bLength 50 bDescriptorType 36 bDescriptorSubtype 7 (FRAME_MJPEG) bFrameIndex 11 bmCapabilities 0x00 Still image unsupported wWidth 864 wHeight 480 dwMinBitRate 38423560 dwMaxBitRate 230541360 dwMaxVideoFrameBufferSize 960589 dwDefaultFrameInterval 333333 bFrameIntervalType 6 dwFrameInterval( 0) 333333 dwFrameInterval( 1) 400000 dwFrameInterval( 2) 500000 dwFrameInterval( 3) 666666 dwFrameInterval( 4) 1000000 dwFrameInterval( 5) 2000000 VideoStreaming Interface Descriptor: bLength 50 bDescriptorType 36 bDescriptorSubtype 7 (FRAME_MJPEG) bFrameIndex 12 bmCapabilities 0x00 Still image unsupported wWidth 960 wHeight 544 dwMinBitRate 41802760 dwMaxBitRate 250816560 dwMaxVideoFrameBufferSize 1045069 dwDefaultFrameInterval 333333 bFrameIntervalType 6 dwFrameInterval( 0) 333333 dwFrameInterval( 1) 400000 dwFrameInterval( 2) 500000 dwFrameInterval( 3) 666666 dwFrameInterval( 4) 1000000 dwFrameInterval( 5) 2000000 VideoStreaming Interface Descriptor: bLength 50 bDescriptorType 36 bDescriptorSubtype 7 (FRAME_MJPEG) bFrameIndex 13 bmCapabilities 0x00 Still image unsupported wWidth 960 wHeight 720 dwMinBitRate 55319560 dwMaxBitRate 331917360 dwMaxVideoFrameBufferSize 1382989 dwDefaultFrameInterval 333333 bFrameIntervalType 6 dwFrameInterval( 0) 333333 dwFrameInterval( 1) 400000 dwFrameInterval( 2) 500000 dwFrameInterval( 3) 666666 dwFrameInterval( 4) 1000000 dwFrameInterval( 5) 2000000 VideoStreaming Interface Descriptor: bLength 50 bDescriptorType 36 bDescriptorSubtype 7 (FRAME_MJPEG) bFrameIndex 14 bmCapabilities 0x00 Still image unsupported wWidth 1024 wHeight 576 dwMinBitRate 55319560 dwMaxBitRate 331917360 dwMaxVideoFrameBufferSize 1382989 dwDefaultFrameInterval 333333 bFrameIntervalType 6 dwFrameInterval( 0) 333333 dwFrameInterval( 1) 400000 dwFrameInterval( 2) 500000 dwFrameInterval( 3) 666666 dwFrameInterval( 4) 1000000 dwFrameInterval( 5) 2000000 VideoStreaming Interface Descriptor: bLength 50 bDescriptorType 36 bDescriptorSubtype 7 (FRAME_MJPEG) bFrameIndex 15 bmCapabilities 0x00 Still image unsupported wWidth 1184 wHeight 656 dwMinBitRate 62159880 dwMaxBitRate 372959280 dwMaxVideoFrameBufferSize 1553997 dwDefaultFrameInterval 333333 bFrameIntervalType 6 dwFrameInterval( 0) 333333 dwFrameInterval( 1) 400000 dwFrameInterval( 2) 500000 dwFrameInterval( 3) 666666 dwFrameInterval( 4) 1000000 dwFrameInterval( 5) 2000000 VideoStreaming Interface Descriptor: bLength 78 bDescriptorType 36 bDescriptorSubtype 3 (STILL_IMAGE_FRAME) bEndpointAddress 0 bNumImageSizePatterns 18 wWidth( 0) 1280 wHeight( 0) 720 wWidth( 1) 1184 wHeight( 1) 656 wWidth( 2) 960 wHeight( 2) 720 wWidth( 3) 1024 wHeight( 3) 576 wWidth( 4) 960 wHeight( 4) 544 wWidth( 5) 800 wHeight( 5) 600 wWidth( 6) 864 wHeight( 6) 480 wWidth( 7) 800 wHeight( 7) 448 wWidth( 8) 752 wHeight( 8) 416 wWidth( 9) 640 wHeight( 9) 480 wWidth(10) 640 wHeight(10) 360 wWidth(11) 544 wHeight(11) 288 wWidth(12) 432 wHeight(12) 240 wWidth(13) 352 wHeight(13) 288 wWidth(14) 320 wHeight(14) 240 wWidth(15) 320 wHeight(15) 176 wWidth(16) 176 wHeight(16) 144 wWidth(17) 160 wHeight(17) 120 bNumCompressionPatterns 18 VideoStreaming Interface Descriptor: bLength 27 bDescriptorType 36 bDescriptorSubtype 4 (FORMAT_UNCOMPRESSED) bFormatIndex 2 bNumFrameDescriptors 15 guidFormat {59555932-0000-1000-8000-00aa00389b71} bBitsPerPixel 16 bDefaultFrameIndex 1 bAspectRatioX 0 bAspectRatioY 0 bmInterlaceFlags 0x00 Interlaced stream or variable: No Fields per frame: 2 fields Field 1 first: No Field pattern: Field 1 only bCopyProtect 0 VideoStreaming Interface Descriptor: bLength 50 bDescriptorType 36 bDescriptorSubtype 5 (FRAME_UNCOMPRESSED) bFrameIndex 1 bmCapabilities 0x00 Still image unsupported wWidth 640 wHeight 480 dwMinBitRate 24576000 dwMaxBitRate 147456000 dwMaxVideoFrameBufferSize 614400 dwDefaultFrameInterval 333333 bFrameIntervalType 6 dwFrameInterval( 0) 333333 dwFrameInterval( 1) 400000 dwFrameInterval( 2) 500000 dwFrameInterval( 3) 666666 dwFrameInterval( 4) 1000000 dwFrameInterval( 5) 2000000 VideoStreaming Interface Descriptor: bLength 50 bDescriptorType 36 bDescriptorSubtype 5 (FRAME_UNCOMPRESSED) bFrameIndex 2 bmCapabilities 0x00 Still image unsupported wWidth 640 wHeight 360 dwMinBitRate 18432000 dwMaxBitRate 110592000 dwMaxVideoFrameBufferSize 460800 dwDefaultFrameInterval 333333 bFrameIntervalType 6 dwFrameInterval( 0) 333333 dwFrameInterval( 1) 400000 dwFrameInterval( 2) 500000 dwFrameInterval( 3) 666666 dwFrameInterval( 4) 1000000 dwFrameInterval( 5) 2000000 VideoStreaming Interface Descriptor: bLength 50 bDescriptorType 36 bDescriptorSubtype 5 (FRAME_UNCOMPRESSED) bFrameIndex 3 bmCapabilities 0x00 Still image unsupported wWidth 544 wHeight 288 dwMinBitRate 12533760 dwMaxBitRate 75202560 dwMaxVideoFrameBufferSize 313344 dwDefaultFrameInterval 333333 bFrameIntervalType 6 dwFrameInterval( 0) 333333 dwFrameInterval( 1) 400000 dwFrameInterval( 2) 500000 dwFrameInterval( 3) 666666 dwFrameInterval( 4) 1000000 dwFrameInterval( 5) 2000000 VideoStreaming Interface Descriptor: bLength 54 bDescriptorType 36 bDescriptorSubtype 5 (FRAME_UNCOMPRESSED) bFrameIndex 4 bmCapabilities 0x00 Still image unsupported wWidth 432 wHeight 240 dwMinBitRate 8294400 dwMaxBitRate 99532800 dwMaxVideoFrameBufferSize 207360 dwDefaultFrameInterval 166666 bFrameIntervalType 7 dwFrameInterval( 0) 166666 dwFrameInterval( 1) 333333 dwFrameInterval( 2) 400000 dwFrameInterval( 3) 500000 dwFrameInterval( 4) 666666 dwFrameInterval( 5) 1000000 dwFrameInterval( 6) 2000000 VideoStreaming Interface Descriptor: bLength 54 bDescriptorType 36 bDescriptorSubtype 5 (FRAME_UNCOMPRESSED) bFrameIndex 5 bmCapabilities 0x00 Still image unsupported wWidth 352 wHeight 288 dwMinBitRate 8110080 dwMaxBitRate 97320960 dwMaxVideoFrameBufferSize 202752 dwDefaultFrameInterval 166666 bFrameIntervalType 7 dwFrameInterval( 0) 166666 dwFrameInterval( 1) 333333 dwFrameInterval( 2) 400000 dwFrameInterval( 3) 500000 dwFrameInterval( 4) 666666 dwFrameInterval( 5) 1000000 dwFrameInterval( 6) 2000000 VideoStreaming Interface Descriptor: bLength 54 bDescriptorType 36 bDescriptorSubtype 5 (FRAME_UNCOMPRESSED) bFrameIndex 6 bmCapabilities 0x00 Still image unsupported wWidth 320 wHeight 240 dwMinBitRate 6144000 dwMaxBitRate 73728000 dwMaxVideoFrameBufferSize 153600 dwDefaultFrameInterval 166666 bFrameIntervalType 7 dwFrameInterval( 0) 166666 dwFrameInterval( 1) 333333 dwFrameInterval( 2) 400000 dwFrameInterval( 3) 500000 dwFrameInterval( 4) 666666 dwFrameInterval( 5) 1000000 dwFrameInterval( 6) 2000000 VideoStreaming Interface Descriptor: bLength 42 bDescriptorType 36 bDescriptorSubtype 5 (FRAME_UNCOMPRESSED) bFrameIndex 7 bmCapabilities 0x00 Still image unsupported wWidth 752 wHeight 416 dwMinBitRate 25026560 dwMaxBitRate 100106240 dwMaxVideoFrameBufferSize 625664 dwDefaultFrameInterval 500000 bFrameIntervalType 4 dwFrameInterval( 0) 500000 dwFrameInterval( 1) 666666 dwFrameInterval( 2) 1000000 dwFrameInterval( 3) 2000000 VideoStreaming Interface Descriptor: bLength 42 bDescriptorType 36 bDescriptorSubtype 5 (FRAME_UNCOMPRESSED) bFrameIndex 8 bmCapabilities 0x00 Still image unsupported wWidth 800 wHeight 448 dwMinBitRate 28672000 dwMaxBitRate 114688000 dwMaxVideoFrameBufferSize 716800 dwDefaultFrameInterval 500000 bFrameIntervalType 4 dwFrameInterval( 0) 500000 dwFrameInterval( 1) 666666 dwFrameInterval( 2) 1000000 dwFrameInterval( 3) 2000000 VideoStreaming Interface Descriptor: bLength 42 bDescriptorType 36 bDescriptorSubtype 5 (FRAME_UNCOMPRESSED) bFrameIndex 9 bmCapabilities 0x00 Still image unsupported wWidth 864 wHeight 480 dwMinBitRate 33177600 dwMaxBitRate 132710400 dwMaxVideoFrameBufferSize 829440 dwDefaultFrameInterval 500000 bFrameIntervalType 4 dwFrameInterval( 0) 500000 dwFrameInterval( 1) 666666 dwFrameInterval( 2) 1000000 dwFrameInterval( 3) 2000000 VideoStreaming Interface Descriptor: bLength 42 bDescriptorType 36 bDescriptorSubtype 5 (FRAME_UNCOMPRESSED) bFrameIndex 10 bmCapabilities 0x00 Still image unsupported wWidth 800 wHeight 600 dwMinBitRate 38400000 dwMaxBitRate 153600000 dwMaxVideoFrameBufferSize 960000 dwDefaultFrameInterval 500000 bFrameIntervalType 4 dwFrameInterval( 0) 500000 dwFrameInterval( 1) 666666 dwFrameInterval( 2) 1000000 dwFrameInterval( 3) 2000000 VideoStreaming Interface Descriptor: bLength 42 bDescriptorType 36 bDescriptorSubtype 5 (FRAME_UNCOMPRESSED) bFrameIndex 11 bmCapabilities 0x00 Still image unsupported wWidth 960 wHeight 544 dwMinBitRate 41779200 dwMaxBitRate 167116800 dwMaxVideoFrameBufferSize 1044480 dwDefaultFrameInterval 500000 bFrameIntervalType 4 dwFrameInterval( 0) 500000 dwFrameInterval( 1) 666666 dwFrameInterval( 2) 1000000 dwFrameInterval( 3) 2000000 VideoStreaming Interface Descriptor: bLength 38 bDescriptorType 36 bDescriptorSubtype 5 (FRAME_UNCOMPRESSED) bFrameIndex 12 bmCapabilities 0x00 Still image unsupported wWidth 1024 wHeight 576 dwMinBitRate 47185920 dwMaxBitRate 141557760 dwMaxVideoFrameBufferSize 1179648 dwDefaultFrameInterval 666666 bFrameIntervalType 3 dwFrameInterval( 0) 666666 dwFrameInterval( 1) 1000000 dwFrameInterval( 2) 2000000 VideoStreaming Interface Descriptor: bLength 38 bDescriptorType 36 bDescriptorSubtype 5 (FRAME_UNCOMPRESSED) bFrameIndex 13 bmCapabilities 0x00 Still image unsupported wWidth 960 wHeight 720 dwMinBitRate 55296000 dwMaxBitRate 165888000 dwMaxVideoFrameBufferSize 1382400 dwDefaultFrameInterval 666666 bFrameIntervalType 3 dwFrameInterval( 0) 666666 dwFrameInterval( 1) 1000000 dwFrameInterval( 2) 2000000 VideoStreaming Interface Descriptor: bLength 34 bDescriptorType 36 bDescriptorSubtype 5 (FRAME_UNCOMPRESSED) bFrameIndex 14 bmCapabilities 0x00 Still image unsupported wWidth 1184 wHeight 656 dwMinBitRate 62136320 dwMaxBitRate 124272640 dwMaxVideoFrameBufferSize 1553408 dwDefaultFrameInterval 1000000 bFrameIntervalType 2 dwFrameInterval( 0) 1000000 dwFrameInterval( 1) 2000000 VideoStreaming Interface Descriptor: bLength 34 bDescriptorType 36 bDescriptorSubtype 5 (FRAME_UNCOMPRESSED) bFrameIndex 15 bmCapabilities 0x00 Still image unsupported wWidth 1280 wHeight 720 dwMinBitRate 73728000 dwMaxBitRate 147456000 dwMaxVideoFrameBufferSize 1843200 dwDefaultFrameInterval 1000000 bFrameIntervalType 2 dwFrameInterval( 0) 1000000 dwFrameInterval( 1) 2000000 VideoStreaming Interface Descriptor: bLength 78 bDescriptorType 36 bDescriptorSubtype 3 (STILL_IMAGE_FRAME) bEndpointAddress 0 bNumImageSizePatterns 18 wWidth( 0) 1280 wHeight( 0) 720 wWidth( 1) 1184 wHeight( 1) 656 wWidth( 2) 960 wHeight( 2) 720 wWidth( 3) 1024 wHeight( 3) 576 wWidth( 4) 960 wHeight( 4) 544 wWidth( 5) 800 wHeight( 5) 600 wWidth( 6) 864 wHeight( 6) 480 wWidth( 7) 800 wHeight( 7) 448 wWidth( 8) 752 wHeight( 8) 416 wWidth( 9) 640 wHeight( 9) 480 wWidth(10) 640 wHeight(10) 360 wWidth(11) 544 wHeight(11) 288 wWidth(12) 432 wHeight(12) 240 wWidth(13) 352 wHeight(13) 288 wWidth(14) 320 wHeight(14) 240 wWidth(15) 320 wHeight(15) 176 wWidth(16) 176 wHeight(16) 144 wWidth(17) 160 wHeight(17) 120 bNumCompressionPatterns 18 VideoStreaming Interface Descriptor: bLength 6 bDescriptorType 36 bDescriptorSubtype 13 (COLORFORMAT) bColorPrimaries 1 (BT.709,sRGB) bTransferCharacteristics 1 (BT.709) bMatrixCoefficients 4 (SMPTE 170M (BT.601)) Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 1 bNumEndpoints 1 bInterfaceClass 14 Video bInterfaceSubClass 2 Video Streaming bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 5 Transfer Type Isochronous Synch Type Asynchronous Usage Type Data wMaxPacketSize 0x0080 1x 128 bytes bInterval 1 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 2 bNumEndpoints 1 bInterfaceClass 14 Video bInterfaceSubClass 2 Video Streaming bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 5 Transfer Type Isochronous Synch Type Asynchronous Usage Type Data wMaxPacketSize 0x0100 1x 256 bytes bInterval 1 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 3 bNumEndpoints 1 bInterfaceClass 14 Video bInterfaceSubClass 2 Video Streaming bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 5 Transfer Type Isochronous Synch Type Asynchronous Usage Type Data wMaxPacketSize 0x0320 1x 800 bytes bInterval 1 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 4 bNumEndpoints 1 bInterfaceClass 14 Video bInterfaceSubClass 2 Video Streaming bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 5 Transfer Type Isochronous Synch Type Asynchronous Usage Type Data wMaxPacketSize 0x0b20 2x 800 bytes bInterval 1 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 5 bNumEndpoints 1 bInterfaceClass 14 Video bInterfaceSubClass 2 Video Streaming bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 5 Transfer Type Isochronous Synch Type Asynchronous Usage Type Data wMaxPacketSize 0x1320 3x 800 bytes bInterval 1 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 6 bNumEndpoints 1 bInterfaceClass 14 Video bInterfaceSubClass 2 Video Streaming bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 5 Transfer Type Isochronous Synch Type Asynchronous Usage Type Data wMaxPacketSize 0x1400 3x 1024 bytes bInterval 1 Interface Association: bLength 8 bDescriptorType 11 bFirstInterface 2 bInterfaceCount 2 bFunctionClass 1 Audio bFunctionSubClass 0 bFunctionProtocol 0 iFunction 4 USB Microphone Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 2 bAlternateSetting 0 bNumEndpoints 0 bInterfaceClass 1 Audio bInterfaceSubClass 1 Control Device bInterfaceProtocol 0 iInterface 4 USB Microphone AudioControl Interface Descriptor: bLength 9 bDescriptorType 36 bDescriptorSubtype 1 (HEADER) bcdADC 1.00 wTotalLength 41 bInCollection 1 baInterfaceNr( 0) 3 AudioControl Interface Descriptor: bLength 12 bDescriptorType 36 bDescriptorSubtype 2 (INPUT_TERMINAL) bTerminalID 1 wTerminalType 0x0201 Microphone bAssocTerminal 0 bNrChannels 1 wChannelConfig 0x0000 iChannelNames 0 iTerminal 0 AudioControl Interface Descriptor: bLength 11 bDescriptorType 36 bDescriptorSubtype 6 (FEATURE_UNIT) bUnitID 2 bSourceID 1 bControlSize 2 bmaControls( 0) 0x01 bmaControls( 0) 0x00 Mute Control bmaControls( 1) 0x02 bmaControls( 1) 0x00 Volume Control iFeature 0 AudioControl Interface Descriptor: bLength 9 bDescriptorType 36 bDescriptorSubtype 3 (OUTPUT_TERMINAL) bTerminalID 3 wTerminalType 0x0101 USB Streaming bAssocTerminal 0 bSourceID 2 iTerminal 0 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 3 bAlternateSetting 0 bNumEndpoints 0 bInterfaceClass 1 Audio bInterfaceSubClass 2 Streaming bInterfaceProtocol 0 iInterface 0 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 3 bAlternateSetting 1 bNumEndpoints 1 bInterfaceClass 1 Audio bInterfaceSubClass 2 Streaming bInterfaceProtocol 0 iInterface 0 AudioStreaming Interface Descriptor: bLength 7 bDescriptorType 36 bDescriptorSubtype 1 (AS_GENERAL) bTerminalLink 3 bDelay 1 frames wFormatTag 1 PCM AudioStreaming Interface Descriptor: bLength 29 bDescriptorType 36 bDescriptorSubtype 2 (FORMAT_TYPE) bFormatType 1 (FORMAT_TYPE_I) bNrChannels 1 bSubframeSize 2 bBitResolution 16 bSamFreqType 7 Discrete tSamFreq[ 0] 8000 tSamFreq[ 1] 11025 tSamFreq[ 2] 16000 tSamFreq[ 3] 22050 tSamFreq[ 4] 24000 tSamFreq[ 5] 44100 tSamFreq[ 6] 48000 Endpoint Descriptor: bLength 9 bDescriptorType 5 bEndpointAddress 0x84 EP 4 IN bmAttributes 5 Transfer Type Isochronous Synch Type Asynchronous Usage Type Data wMaxPacketSize 0x0190 1x 400 bytes bInterval 4 bRefresh 0 bSynchAddress 0 AudioControl Endpoint Descriptor: bLength 7 bDescriptorType 37 bDescriptorSubtype 1 (EP_GENERAL) bmAttributes 0x01 Sampling Frequency bLockDelayUnits 0 Undefined wLockDelay 0 Undefined Device Qualifier (for other device speed): bLength 10 bDescriptorType 6 bcdUSB 2.00 bDeviceClass 239 Miscellaneous Device bDeviceSubClass 2 ? bDeviceProtocol 1 Interface Association bMaxPacketSize0 64 bNumConfigurations 1 Device Status: 0x0002 (Bus Powered) Remote Wakeup Enabled $ avconv -f video4linux2 -list_formats all -i /dev/video1 avconv version 0.8.4-4:0.8.4-0ubuntu0.12.04.1, Copyright (c) 2000-2012 the Libav developers built on Nov 6 2012 16:51:33 with gcc 4.6.3 [video4linux2 @ 0x2153ba0] C : mjpeg : MJPEG : 1280x720 640x480 640x360 544x288 432x240 352x288 320x240 752x416 800x448 800x600 864x480 960x544 960x720 1024x576 1184x656 [video4linux2 @ 0x2153ba0] R : yuyv422 : YUV 4:2:2 (YUYV) : 640x480 640x360 544x288 432x240 352x288 320x240 752x416 800x448 864x480 800x600 960x544 1024x576 960x720 1184x656 1280x720 /dev/video1: Immediate exit requested
样张:
成像还算清晰自然,虽然边缘处色差很明显。
微距拍摄纸张。
微距拍摄锡泊贴纸。
图像递归……
微距拍一个打过胶的电解电容顶部。暗处的噪声水平一般。
这个摄像头在 1280×720 的分辨率下可提供 30fps 的帧率,而 432×240 及以下分辨率帧率则可达 60fps ,和 50Hz 交流电造成的灯具频闪形成了 10Hz 左右的拍频,视频样本如下:capture-1
天敏 D805HD
天敏的 D805HD 是百元以内市场上唯一一款硬件像素数超过 130 万的产品,达到了 UXGA ( 1600×1200 ,192 万)的水平。
摄像头的底部是一个塑胶大吸盘,但是说实话没啥用,吸力不强。卸下四个螺丝可以拆开底座。
USB 电缆通过底座和长长的杆子连接到主机上。
白色钢琴烤漆质感的风格。
主体和连杆间的转轴处。
主机后面,各种金属网,搞得跟麦克风一样。
前面是镜头,其实还是 M12 接口的,之所以这么大是因为外壳大的缘故。
镜头上煞有介事地标着“ OPTICAL GLASS LENS F/1.8 F=3mm ”。官网还给出了视场角 60° ,以及 2P2G + IR Cut 的组成。没有 STAR LENS 的标,比前面的镜头略长。
拆开底座。
不动烙铁的话电缆就抽不出来了。
依然是大螺母做轴承。
取下镜头的外壳。
卸下螺丝,打开 外壳。
镜头外壳里外共有三层,这样调焦时不会感觉到镜头伸缩。
主板背面。依然是黑色的阻焊剂。整个布局十分紧凑,晶体和话筒只好焊得如此飘逸了。
依然是标着 1650 的不明 IC 。
依然是 12.000MHz 的炮筒晶体。
依然是松翰的 SN9C259 。能扛住 UXGA 及以上分辨率的 UVC 控制器实在不多见。
依然是 Pm25LD512 。
正面,这回线缆打胶了。
去掉镜头座。
板子上的丝印,注明了传感器和控制器。
OV2643 传感器,虽为前照式但是灵敏度还说得过去,有 1250mV/(Lux·s) 的灵敏度,光学尺寸 1/4 英寸。
主体尾部的金属网里面藏了一颗螺丝。
金属网是拿双面胶粘上去的,可以撬下来。
卸下螺丝,剩下的塑料圈和金属网也下来了。
尾部内部结构,空空如也,纯粹保持平衡和美观用的。
lsusb 和 ffmpeg 输出:
$ lsusb -vv Bus 002 Device 008: ID 1b71:0051 Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 239 Miscellaneous Device bDeviceSubClass 2 ? bDeviceProtocol 1 Interface Association bMaxPacketSize0 64 idVendor 0x1b71 idProduct 0x0051 bcdDevice 0.00 iManufacturer 2 Sonix Technology Co., Ltd. iProduct 1 USB 2.0 Camera iSerial 0 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 857 bNumInterfaces 4 bConfigurationValue 1 iConfiguration 0 bmAttributes 0x80 (Bus Powered) MaxPower 500mA Interface Association: bLength 8 bDescriptorType 11 bFirstInterface 0 bInterfaceCount 2 bFunctionClass 14 Video bFunctionSubClass 3 Video Interface Collection bFunctionProtocol 0 iFunction 5 USB Camera Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 14 Video bInterfaceSubClass 1 Video Control bInterfaceProtocol 0 iInterface 5 USB Camera VideoControl Interface Descriptor: bLength 13 bDescriptorType 36 bDescriptorSubtype 1 (HEADER) bcdUVC 1.00 wTotalLength 77 dwClockFrequency 15.000000MHz bInCollection 1 baInterfaceNr( 0) 1 VideoControl Interface Descriptor: bLength 9 bDescriptorType 36 bDescriptorSubtype 3 (OUTPUT_TERMINAL) bTerminalID 2 wTerminalType 0x0101 USB Streaming bAssocTerminal 0 bSourceID 4 iTerminal 0 VideoControl Interface Descriptor: bLength 26 bDescriptorType 36 bDescriptorSubtype 6 (EXTENSION_UNIT) bUnitID 4 guidExtensionCode {7033f028-1163-2e4a-ba2c-6890eb334016} bNumControl 8 bNrPins 1 baSourceID( 0) 3 bControlSize 1 bmControls( 0) 0x0f iExtension 0 VideoControl Interface Descriptor: bLength 18 bDescriptorType 36 bDescriptorSubtype 2 (INPUT_TERMINAL) bTerminalID 1 wTerminalType 0x0201 Camera Sensor bAssocTerminal 0 iTerminal 0 wObjectiveFocalLengthMin 0 wObjectiveFocalLengthMax 0 wOcularFocalLength 0 bControlSize 3 bmControls 0x00002a0e Auto-Exposure Mode Auto-Exposure Priority Exposure Time (Absolute) Zoom (Absolute) PanTilt (Absolute) Roll (Absolute) VideoControl Interface Descriptor: bLength 11 bDescriptorType 36 bDescriptorSubtype 5 (PROCESSING_UNIT) Warning: Descriptor too short bUnitID 3 bSourceID 1 wMaxMultiplier 0 bControlSize 2 bmControls 0x0000177f Brightness Contrast Hue Saturation Sharpness Gamma White Balance Temperature Backlight Compensation Gain Power Line Frequency White Balance Temperature, Auto iProcessing 0 bmVideoStandards 0x 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x83 EP 3 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0010 1x 16 bytes bInterval 6 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 0 bNumEndpoints 0 bInterfaceClass 14 Video bInterfaceSubClass 2 Video Streaming bInterfaceProtocol 0 iInterface 5 USB Camera VideoStreaming Interface Descriptor: bLength 14 bDescriptorType 36 bDescriptorSubtype 1 (INPUT_HEADER) bNumFormats 1 wTotalLength 509 bEndPointAddress 129 bmInfo 0 bTerminalLink 2 bStillCaptureMethod 2 bTriggerSupport 1 bTriggerUsage 1 bControlSize 1 bmaControls( 0) 27 VideoStreaming Interface Descriptor: bLength 27 bDescriptorType 36 bDescriptorSubtype 4 (FORMAT_UNCOMPRESSED) bFormatIndex 1 bNumFrameDescriptors 10 guidFormat {59555932-0000-1000-8000-00aa00389b71} bBitsPerPixel 16 bDefaultFrameIndex 1 bAspectRatioX 0 bAspectRatioY 0 bmInterlaceFlags 0x00 Interlaced stream or variable: No Fields per frame: 2 fields Field 1 first: No Field pattern: Field 1 only bCopyProtect 0 VideoStreaming Interface Descriptor: bLength 50 bDescriptorType 36 bDescriptorSubtype 5 (FRAME_UNCOMPRESSED) bFrameIndex 1 bmCapabilities 0x00 Still image unsupported wWidth 640 wHeight 480 dwMinBitRate 24576000 dwMaxBitRate 147456000 dwMaxVideoFrameBufferSize 614400 dwDefaultFrameInterval 333333 bFrameIntervalType 6 dwFrameInterval( 0) 333333 dwFrameInterval( 1) 400000 dwFrameInterval( 2) 500000 dwFrameInterval( 3) 666666 dwFrameInterval( 4) 1000000 dwFrameInterval( 5) 2000000 VideoStreaming Interface Descriptor: bLength 50 bDescriptorType 36 bDescriptorSubtype 5 (FRAME_UNCOMPRESSED) bFrameIndex 2 bmCapabilities 0x00 Still image unsupported wWidth 640 wHeight 360 dwMinBitRate 18432000 dwMaxBitRate 110592000 dwMaxVideoFrameBufferSize 460800 dwDefaultFrameInterval 333333 bFrameIntervalType 6 dwFrameInterval( 0) 333333 dwFrameInterval( 1) 400000 dwFrameInterval( 2) 500000 dwFrameInterval( 3) 666666 dwFrameInterval( 4) 1000000 dwFrameInterval( 5) 2000000 VideoStreaming Interface Descriptor: bLength 50 bDescriptorType 36 bDescriptorSubtype 5 (FRAME_UNCOMPRESSED) bFrameIndex 3 bmCapabilities 0x00 Still image unsupported wWidth 320 wHeight 240 dwMinBitRate 6144000 dwMaxBitRate 36864000 dwMaxVideoFrameBufferSize 153600 dwDefaultFrameInterval 333333 bFrameIntervalType 6 dwFrameInterval( 0) 333333 dwFrameInterval( 1) 400000 dwFrameInterval( 2) 500000 dwFrameInterval( 3) 666666 dwFrameInterval( 4) 1000000 dwFrameInterval( 5) 2000000 VideoStreaming Interface Descriptor: bLength 50 bDescriptorType 36 bDescriptorSubtype 5 (FRAME_UNCOMPRESSED) bFrameIndex 4 bmCapabilities 0x00 Still image unsupported wWidth 320 wHeight 184 dwMinBitRate 4710400 dwMaxBitRate 28262400 dwMaxVideoFrameBufferSize 117760 dwDefaultFrameInterval 333333 bFrameIntervalType 6 dwFrameInterval( 0) 333333 dwFrameInterval( 1) 400000 dwFrameInterval( 2) 500000 dwFrameInterval( 3) 666666 dwFrameInterval( 4) 1000000 dwFrameInterval( 5) 2000000 VideoStreaming Interface Descriptor: bLength 42 bDescriptorType 36 bDescriptorSubtype 5 (FRAME_UNCOMPRESSED) bFrameIndex 5 bmCapabilities 0x00 Still image unsupported wWidth 800 wHeight 456 dwMinBitRate 29184000 dwMaxBitRate 116736000 dwMaxVideoFrameBufferSize 729600 dwDefaultFrameInterval 500000 bFrameIntervalType 4 dwFrameInterval( 0) 500000 dwFrameInterval( 1) 666666 dwFrameInterval( 2) 1000000 dwFrameInterval( 3) 2000000 VideoStreaming Interface Descriptor: bLength 42 bDescriptorType 36 bDescriptorSubtype 5 (FRAME_UNCOMPRESSED) bFrameIndex 6 bmCapabilities 0x00 Still image unsupported wWidth 800 wHeight 600 dwMinBitRate 38400000 dwMaxBitRate 153600000 dwMaxVideoFrameBufferSize 960000 dwDefaultFrameInterval 500000 bFrameIntervalType 4 dwFrameInterval( 0) 500000 dwFrameInterval( 1) 666666 dwFrameInterval( 2) 1000000 dwFrameInterval( 3) 2000000 VideoStreaming Interface Descriptor: bLength 38 bDescriptorType 36 bDescriptorSubtype 5 (FRAME_UNCOMPRESSED) bFrameIndex 7 bmCapabilities 0x00 Still image unsupported wWidth 1280 wHeight 720 dwMinBitRate 73728000 dwMaxBitRate 221184000 dwMaxVideoFrameBufferSize 1843200 dwDefaultFrameInterval 666666 bFrameIntervalType 3 dwFrameInterval( 0) 666666 dwFrameInterval( 1) 1000000 dwFrameInterval( 2) 2000000 VideoStreaming Interface Descriptor: bLength 34 bDescriptorType 36 bDescriptorSubtype 5 (FRAME_UNCOMPRESSED) bFrameIndex 8 bmCapabilities 0x00 Still image unsupported wWidth 1280 wHeight 960 dwMinBitRate 98304000 dwMaxBitRate 176947200 dwMaxVideoFrameBufferSize 2457600 dwDefaultFrameInterval 1111111 bFrameIntervalType 2 dwFrameInterval( 0) 1111111 dwFrameInterval( 1) 2000000 VideoStreaming Interface Descriptor: bLength 30 bDescriptorType 36 bDescriptorSubtype 5 (FRAME_UNCOMPRESSED) bFrameIndex 9 bmCapabilities 0x00 Still image unsupported wWidth 1600 wHeight 904 dwMinBitRate 115712000 dwMaxBitRate 115712000 dwMaxVideoFrameBufferSize 2892800 dwDefaultFrameInterval 2000000 bFrameIntervalType 1 dwFrameInterval( 0) 2000000 VideoStreaming Interface Descriptor: bLength 30 bDescriptorType 36 bDescriptorSubtype 5 (FRAME_UNCOMPRESSED) bFrameIndex 10 bmCapabilities 0x00 Still image unsupported wWidth 1600 wHeight 1200 dwMinBitRate 153600000 dwMaxBitRate 153600000 dwMaxVideoFrameBufferSize 3840000 dwDefaultFrameInterval 2000000 bFrameIntervalType 1 dwFrameInterval( 0) 2000000 VideoStreaming Interface Descriptor: bLength 46 bDescriptorType 36 bDescriptorSubtype 3 (STILL_IMAGE_FRAME) bEndpointAddress 0 bNumImageSizePatterns 10 wWidth( 0) 1600 wHeight( 0) 1200 wWidth( 1) 1600 wHeight( 1) 900 wWidth( 2) 1280 wHeight( 2) 960 wWidth( 3) 1280 wHeight( 3) 720 wWidth( 4) 800 wHeight( 4) 600 wWidth( 5) 800 wHeight( 5) 450 wWidth( 6) 640 wHeight( 6) 480 wWidth( 7) 640 wHeight( 7) 360 wWidth( 8) 320 wHeight( 8) 240 wWidth( 9) 320 wHeight( 9) 180 bNumCompressionPatterns 10 VideoStreaming Interface Descriptor: bLength 6 bDescriptorType 36 bDescriptorSubtype 13 (COLORFORMAT) bColorPrimaries 1 (BT.709,sRGB) bTransferCharacteristics 1 (BT.709) bMatrixCoefficients 4 (SMPTE 170M (BT.601)) Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 1 bNumEndpoints 1 bInterfaceClass 14 Video bInterfaceSubClass 2 Video Streaming bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 5 Transfer Type Isochronous Synch Type Asynchronous Usage Type Data wMaxPacketSize 0x0080 1x 128 bytes bInterval 1 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 2 bNumEndpoints 1 bInterfaceClass 14 Video bInterfaceSubClass 2 Video Streaming bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 5 Transfer Type Isochronous Synch Type Asynchronous Usage Type Data wMaxPacketSize 0x0100 1x 256 bytes bInterval 1 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 3 bNumEndpoints 1 bInterfaceClass 14 Video bInterfaceSubClass 2 Video Streaming bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 5 Transfer Type Isochronous Synch Type Asynchronous Usage Type Data wMaxPacketSize 0x0320 1x 800 bytes bInterval 1 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 4 bNumEndpoints 1 bInterfaceClass 14 Video bInterfaceSubClass 2 Video Streaming bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 5 Transfer Type Isochronous Synch Type Asynchronous Usage Type Data wMaxPacketSize 0x0b20 2x 800 bytes bInterval 1 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 5 bNumEndpoints 1 bInterfaceClass 14 Video bInterfaceSubClass 2 Video Streaming bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 5 Transfer Type Isochronous Synch Type Asynchronous Usage Type Data wMaxPacketSize 0x1320 3x 800 bytes bInterval 1 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 6 bNumEndpoints 1 bInterfaceClass 14 Video bInterfaceSubClass 2 Video Streaming bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 5 Transfer Type Isochronous Synch Type Asynchronous Usage Type Data wMaxPacketSize 0x1400 3x 1024 bytes bInterval 1 Interface Association: bLength 8 bDescriptorType 11 bFirstInterface 2 bInterfaceCount 2 bFunctionClass 1 Audio bFunctionSubClass 0 bFunctionProtocol 0 iFunction 4 USB Microphone Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 2 bAlternateSetting 0 bNumEndpoints 0 bInterfaceClass 1 Audio bInterfaceSubClass 1 Control Device bInterfaceProtocol 0 iInterface 4 USB Microphone AudioControl Interface Descriptor: bLength 9 bDescriptorType 36 bDescriptorSubtype 1 (HEADER) bcdADC 1.00 wTotalLength 41 bInCollection 1 baInterfaceNr( 0) 3 AudioControl Interface Descriptor: bLength 12 bDescriptorType 36 bDescriptorSubtype 2 (INPUT_TERMINAL) bTerminalID 1 wTerminalType 0x0201 Microphone bAssocTerminal 0 bNrChannels 1 wChannelConfig 0x0000 iChannelNames 0 iTerminal 0 AudioControl Interface Descriptor: bLength 11 bDescriptorType 36 bDescriptorSubtype 6 (FEATURE_UNIT) bUnitID 2 bSourceID 1 bControlSize 2 bmaControls( 0) 0x01 bmaControls( 0) 0x00 Mute Control bmaControls( 1) 0x02 bmaControls( 1) 0x00 Volume Control iFeature 0 AudioControl Interface Descriptor: bLength 9 bDescriptorType 36 bDescriptorSubtype 3 (OUTPUT_TERMINAL) bTerminalID 3 wTerminalType 0x0101 USB Streaming bAssocTerminal 0 bSourceID 2 iTerminal 0 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 3 bAlternateSetting 0 bNumEndpoints 0 bInterfaceClass 1 Audio bInterfaceSubClass 2 Streaming bInterfaceProtocol 0 iInterface 0 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 3 bAlternateSetting 1 bNumEndpoints 1 bInterfaceClass 1 Audio bInterfaceSubClass 2 Streaming bInterfaceProtocol 0 iInterface 0 AudioStreaming Interface Descriptor: bLength 7 bDescriptorType 36 bDescriptorSubtype 1 (AS_GENERAL) bTerminalLink 3 bDelay 1 frames wFormatTag 1 PCM AudioStreaming Interface Descriptor: bLength 29 bDescriptorType 36 bDescriptorSubtype 2 (FORMAT_TYPE) bFormatType 1 (FORMAT_TYPE_I) bNrChannels 1 bSubframeSize 2 bBitResolution 16 bSamFreqType 7 Discrete tSamFreq[ 0] 8000 tSamFreq[ 1] 11025 tSamFreq[ 2] 16000 tSamFreq[ 3] 22050 tSamFreq[ 4] 24000 tSamFreq[ 5] 44100 tSamFreq[ 6] 48000 Endpoint Descriptor: bLength 9 bDescriptorType 5 bEndpointAddress 0x84 EP 4 IN bmAttributes 5 Transfer Type Isochronous Synch Type Asynchronous Usage Type Data wMaxPacketSize 0x0190 1x 400 bytes bInterval 4 bRefresh 0 bSynchAddress 0 AudioControl Endpoint Descriptor: bLength 7 bDescriptorType 37 bDescriptorSubtype 1 (EP_GENERAL) bmAttributes 0x01 Sampling Frequency bLockDelayUnits 0 Undefined wLockDelay 0 Undefined Device Qualifier (for other device speed): bLength 10 bDescriptorType 6 bcdUSB 2.00 bDeviceClass 239 Miscellaneous Device bDeviceSubClass 2 ? bDeviceProtocol 1 Interface Association bMaxPacketSize0 64 bNumConfigurations 1 Device Status: 0x0002 (Bus Powered) Remote Wakeup Enabled $ avconv -f video4linux2 -list_formats all -i /dev/video1 avconv version 0.8.4-4:0.8.4-0ubuntu0.12.04.1, Copyright (c) 2000-2012 the Libav developers built on Nov 6 2012 16:51:33 with gcc 4.6.3 [video4linux2 @ 0x20d3ba0] R : yuyv422 : YUV 4:2:2 (YUYV) : 640x480 640x360 320x240 320x184 800x456 800x600 1280x720 1280x960 1600x904 1600x1200 /dev/video1: Immediate exit requested
样张:
微距拍屏幕(未借助其他器材)。
成像质量不错,各个地方都很清晰,而且噪声不明显。
写了这么长,浏览器已经非常卡了……
Bonus:
OV7740 显微照片,Xperia U 配合读数显微镜拍摄。
OV7725 显微照片,疑似可以看到微透镜阵列。工具同上。
NT99140 显微照片,工具同上。
OV2643 显微照片,工具同上。
Acer Aspire 4741G 机内 130 万摄像头的 lsusb 和 ffmpeg 输出(暂时不打算拆开屏幕看本尊):
$ lsusb -vv Bus 002 Device 003: ID 0402:9665 ALi Corp. Gateway Webcam Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 239 Miscellaneous Device bDeviceSubClass 2 ? bDeviceProtocol 1 Interface Association bMaxPacketSize0 64 idVendor 0x0402 ALi Corp. idProduct 0x9665 Gateway Webcam bcdDevice 0.09 iManufacturer 3 XPA240SXX iProduct 1 1.3M WebCam iSerial 0 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 349 bNumInterfaces 2 bConfigurationValue 1 iConfiguration 0 bmAttributes 0x80 (Bus Powered) MaxPower 500mA Interface Association: bLength 8 bDescriptorType 11 bFirstInterface 0 bInterfaceCount 2 bFunctionClass 14 Video bFunctionSubClass 3 Video Interface Collection bFunctionProtocol 0 iFunction 1 1.3M WebCam Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 14 Video bInterfaceSubClass 1 Video Control bInterfaceProtocol 0 iInterface 1 1.3M WebCam VideoControl Interface Descriptor: bLength 13 bDescriptorType 36 bDescriptorSubtype 1 (HEADER) bcdUVC 1.00 wTotalLength 85 dwClockFrequency 30.000000MHz bInCollection 1 baInterfaceNr( 0) 1 VideoControl Interface Descriptor: bLength 18 bDescriptorType 36 bDescriptorSubtype 2 (INPUT_TERMINAL) bTerminalID 1 wTerminalType 0x0201 Camera Sensor bAssocTerminal 0 iTerminal 0 wObjectiveFocalLengthMin 0 wObjectiveFocalLengthMax 0 wOcularFocalLength 0 bControlSize 3 bmControls 0x00000000 VideoControl Interface Descriptor: bLength 9 bDescriptorType 36 bDescriptorSubtype 3 (OUTPUT_TERMINAL) bTerminalID 3 wTerminalType 0x0101 USB Streaming bAssocTerminal 0 bSourceID 6 iTerminal 0 VideoControl Interface Descriptor: bLength 7 bDescriptorType 36 bDescriptorSubtype 4 (SELECTOR_UNIT) bUnitID 4 bNrInPins 1 baSource( 0) 1 iSelector 0 VideoControl Interface Descriptor: bLength 11 bDescriptorType 36 bDescriptorSubtype 5 (PROCESSING_UNIT) Warning: Descriptor too short bUnitID 5 bSourceID 4 wMaxMultiplier 0 bControlSize 2 bmControls 0x0000053f Brightness Contrast Hue Saturation Sharpness Gamma Backlight Compensation Power Line Frequency iProcessing 0 bmVideoStandards 0x1b None NTSC - 525/60 SECAM - 625/50 NTSC - 625/50 VideoControl Interface Descriptor: bLength 27 bDescriptorType 36 bDescriptorSubtype 6 (EXTENSION_UNIT) bUnitID 6 guidExtensionCode {564c97a7-7ea7-904b-8cbf-1c71ec303000} bNumControl 16 bNrPins 1 baSourceID( 0) 5 bControlSize 2 bmControls( 0) 0xff bmControls( 1) 0xff iExtension 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x82 EP 2 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0008 1x 8 bytes bInterval 15 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 0 bNumEndpoints 0 bInterfaceClass 14 Video bInterfaceSubClass 2 Video Streaming bInterfaceProtocol 0 iInterface 0 VideoStreaming Interface Descriptor: bLength 14 bDescriptorType 36 bDescriptorSubtype 1 (INPUT_HEADER) bNumFormats 1 wTotalLength 169 bEndPointAddress 129 bmInfo 0 bTerminalLink 3 bStillCaptureMethod 0 bTriggerSupport 0 bTriggerUsage 0 bControlSize 1 bmaControls( 0) 27 VideoStreaming Interface Descriptor: bLength 27 bDescriptorType 36 bDescriptorSubtype 4 (FORMAT_UNCOMPRESSED) bFormatIndex 1 bNumFrameDescriptors 4 guidFormat {59555932-0000-1000-8000-00aa00389b71} bBitsPerPixel 16 bDefaultFrameIndex 1 bAspectRatioX 0 bAspectRatioY 0 bmInterlaceFlags 0x00 Interlaced stream or variable: No Fields per frame: 2 fields Field 1 first: No Field pattern: Field 1 only bCopyProtect 0 VideoStreaming Interface Descriptor: bLength 34 bDescriptorType 36 bDescriptorSubtype 5 (FRAME_UNCOMPRESSED) bFrameIndex 1 bmCapabilities 0x00 Still image unsupported wWidth 640 wHeight 480 dwMinBitRate 73728000 dwMaxBitRate 147456000 dwMaxVideoFrameBufferSize 614400 dwDefaultFrameInterval 333333 bFrameIntervalType 2 dwFrameInterval( 0) 333333 dwFrameInterval( 1) 666666 VideoStreaming Interface Descriptor: bLength 34 bDescriptorType 36 bDescriptorSubtype 5 (FRAME_UNCOMPRESSED) bFrameIndex 2 bmCapabilities 0x00 Still image unsupported wWidth 320 wHeight 240 dwMinBitRate 18432000 dwMaxBitRate 36864000 dwMaxVideoFrameBufferSize 153600 dwDefaultFrameInterval 333333 bFrameIntervalType 2 dwFrameInterval( 0) 333333 dwFrameInterval( 1) 666666 VideoStreaming Interface Descriptor: bLength 30 bDescriptorType 36 bDescriptorSubtype 5 (FRAME_UNCOMPRESSED) bFrameIndex 3 bmCapabilities 0x00 Still image unsupported wWidth 1280 wHeight 800 dwMinBitRate 122880000 dwMaxBitRate 122880000 dwMaxVideoFrameBufferSize 2048000 dwDefaultFrameInterval 1333333 bFrameIntervalType 1 dwFrameInterval( 0) 1333333 VideoStreaming Interface Descriptor: bLength 30 bDescriptorType 36 bDescriptorSubtype 5 (FRAME_UNCOMPRESSED) bFrameIndex 4 bmCapabilities 0x00 Still image unsupported wWidth 1280 wHeight 1024 dwMinBitRate 157286400 dwMaxBitRate 157286400 dwMaxVideoFrameBufferSize 2621440 dwDefaultFrameInterval 1333333 bFrameIntervalType 1 dwFrameInterval( 0) 1333333 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 1 bNumEndpoints 1 bInterfaceClass 14 Video bInterfaceSubClass 2 Video Streaming bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 5 Transfer Type Isochronous Synch Type Asynchronous Usage Type Data wMaxPacketSize 0x1400 3x 1024 bytes bInterval 1 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 2 bNumEndpoints 1 bInterfaceClass 14 Video bInterfaceSubClass 2 Video Streaming bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 5 Transfer Type Isochronous Synch Type Asynchronous Usage Type Data wMaxPacketSize 0x1400 3x 1024 bytes bInterval 1 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 3 bNumEndpoints 1 bInterfaceClass 14 Video bInterfaceSubClass 2 Video Streaming bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 5 Transfer Type Isochronous Synch Type Asynchronous Usage Type Data wMaxPacketSize 0x1400 3x 1024 bytes bInterval 1 Device Qualifier (for other device speed): bLength 10 bDescriptorType 6 bcdUSB 2.00 bDeviceClass 239 Miscellaneous Device bDeviceSubClass 2 ? bDeviceProtocol 1 Interface Association bMaxPacketSize0 64 bNumConfigurations 1 Device Status: 0x0000 (Bus Powered) $ avconv -f video4linux2 -list_formats all -i /dev/video0 avconv version 0.8.5-4:0.8.5-0ubuntu0.12.04.1, Copyright (c) 2000-2012 the Libav developers built on Jan 24 2013 18:01:36 with gcc 4.6.3 [video4linux2 @ 0x1769ba0] R : yuyv422 : YUV 4:2:2 (YUYV) : 640x480 320x240 1280x800 1280x1024 /dev/video0: Immediate exit requested
样张两张,感受下渣画质:
更新:由于老本( 4741G )子退役,所以还是拆开屏幕取出了不需要的组件。于是,现在就有该摄像头模块的照片了。
模块为建兴/光宝代工,型号似乎是 09P2SF119 ,在屏幕上的固定非常简单,没有用螺丝或者卡口。
拿下该模块。
扬智的 M5608C 主控,无资料可查。作为 Acer Lab Inc. ,为宏碁造造芯片没啥好奇怪的。
USB 输入出的共模、差模电感以及 MLCC 。旁边是 12MHz 的晶体。
USB 连接器。
疑似 LDO 。
固件版本贴纸。
撕去贴之后发现是 Microchip 的 24LC64 EEPROM 。
丝印标记,这是整块板子唯一一处丝印。
镜头组件,有用胶水粘住。
背面光溜溜的啥也没有。
我想買一個 8051 介面的射像頭不知有沒有人做 ?
你是要做基于 8051 的 UVC 摄像头还是要把摄像头的输出作为 8051 的输入?
如果是后者的话,几乎所有的 DVP 接口 CMOS 传感器加上 FIFO 以后都是可以的。淘宝上面这样的板子应该不少,至少有 SiLabs 家的 C8051 的。
请问您有S603HD的linux驱动么?我在内核配置UVC和gscpa都不能识别这个摄像头。。。
不可能啊,UVC 摄像头应该都支持的。内核模块是 uvcvideo ,如果 udev 的配置没问题的话,插上以后应该可以看到 /dev/video* 。看看内核输出?
呃。。其实我完全是菜鸟。。。的确看到有video0,但是怎么测试是否能正常工作呢(是在一个嵌入式开发板上)之前找到一个好像是利用V4L2+QT的程序(在虚拟机ubuntu下面是可以用的),但是下载到开发板之后运行报错,无法打开摄像头。。。然后看到网上有个人说利用cat /dev/video0 > /tmp/1.jpg 这样确实可以得到一个文件,但是有50多M而且也没法打开。。。求前辈指点啊!
原来是开发板啊。板子上的系统都有啥?v4l-info 和 ffmpeg 一类的玩意有吧?ffmpeg -f video4linux2 -i /dev/video0 1.jpg 试试。
FFmpeg version UNKNOWN, Copyright (c) 2000-2011 the FFmpeg developers
built on Jul 5 2012 09:40:05 with gcc 4.4.2
configuration: –prefix=/usr/local/mplayer –host-cc=gcc –cc=unicore32-linux-gcc –arch=unicore32 –enable-cross-compile –target-os=linux –enable-gpl –enable-postproc –disable-stripping –enable-shared –disable-static –extra-cflags=’-I./libhantro/source/inc -I./libhantro/source/mpeg4/ -I./libhantro/source/h264high/ -I./libhantro/source/h264high/legacy -I./libhantro/source/common/swhw -I./libhantro/source/config -I./libhantro/linux/h264high/ -I./libhantro/source/common ‘
libavutil 50. 40. 1 / 50. 40. 1
libavcodec 52.117. 0 / 52.117. 0
libavformat 52.106. 0 / 52.106. 0
libavdevice 52. 4. 0 / 52. 4. 0
libavfilter 1. 77. 1 / 1. 77. 1
libswscale 0. 13. 0 / 0. 13. 0
libpostproc 51. 2. 0 / 51. 2. 0
卡在这里不动了。。。
好奇怪的版本,有条件的话自己交叉编译下吧。另外之前 50M 的文件可以拷到电脑上用 ffmpeg 处理下看看。
挂载到OPENWRT下用应该不错。
是啊,可惜手头没啥空闲的好机器了。
博主动手能力好厉害。我对硬件一窍不通,有个问题请教一下,我要通过人体红外成像的原始数据(是raw吗),如果是,如何才能获取raw格式的数据?有没有可能获取每一个像素在不同曝光时间内的电信号数据,或者干脆是模拟信号数据?谢谢。
如果有可能,帮助我在raspberry上搞一个,材料费和工时分算。
人体红外成像用普通的 CMOS 是做不到的,需要专门的器件,很贵。普通的 CMOS 只能对近红外感光。
对了,不是要求成像,只要能对目标温度(如提问)近距离敏感,比如1-2米的距离,即可。普通的cmos或ccd能做到吗?
谢谢
不能。
你好
我最近在做一款红外camera Optris PI160的应用,但是在Linux下没有驱动,使用UVC驱动 获得图像数据很诡异。
root@ubuntu:/opt/testfolder2# ./usbcapture
camera device is open OK ! camera name is /dev/video0
/dev/video0 is a video capture device!
/dev/video0 does not support read i/o
/dev/video0 supports streaming i/o method!
The driver name is uvcvideo
The device name is PI-IMAGER
The device bus is usb-0000:02:03.0-1
Support format:
1.YUV 4:2:2 (YUYV)
VIDIOC_G_CROP:: Invalid argument
fault_pixel width = 160
fault_pixel_height = 121
fault_pixelformat = 56595559
fault_sizeimage = 38720
最后获得数据中间总是有0x3f
bb 3f c2 3f c1 3f c1 3f c1 3f c1 3f c1 3f c2 3f c2 3f c2 3f c2 3f c3 3f c2 3f c2 3f c2 3f c2 3f c3 3f c2 3f c3 3f c3 3f c2 3f c3 3f c3 3f c3 3f
请问,您知道这个怎么恢复图像吗?? 谢谢
可能这种机器输出的数据只有 Y 通道有效。
但是这是一款彩色的红外摄像头 在windows下用自带的软件可以得到彩色的图像
红外摄像头不是根据温度这一个量成像吗,彩色可能是处理 Y 通道得到的。
有道理,你知道一般将Y通道变为伪彩色的方法吗??
这个可以自己写程序吧,具体的方面没涉足过。
博主 太专业了, 高大上 OTZ
楼主你好,市场上所有的USB摄像头都是ISO传输的吗,我的板子不支持高速ISO模式,所以在找一款可以支持bulk模式的摄像头,这样的东西市场上存在吗?
符合 UVC 标准的应该都是 ISO 。Bulk 的话可能要自己用单片机处理。Sunplus 可能有一些 bulk 的 USB camera 芯片。
谢谢。 最近发现了市场上存在这样的摄像头,支持ISO和bulk。确实有点意外。
-,- 最近项目需要,采集YUV格式时分辨率能达800*600且帧率30的USB摄像头,楼主有遇到过吗。YUV和帧率30是不能让步的,分辨率越高越好。
这个用 USB 2.0 解决不了。你算一下码率就清楚了。你可以考虑 USB 3.0 或者 Raspberry Pi 上的原生摄像头。