使用到工具USBlyzer导出数据,但是会发现一些还有部分解析未完全。我们将借助UVCView.x86(https://files.cnblogs.com/files/libra13179/77772349UVCView.x86.rar)来进一步来分析。(懒人专用)

Connection Status Device connected
Current Configuration 1
Speed High (480 Mbit/s)
Device Address 4
Number Of Open Pipes 1
Device Descriptor USB2.0 UVC PC Camera
Offset Field Size Value Description
0 bLength 1 12h  
1 bDescriptorType 1 01h Device
2 bcdUSB 2 0200h USB Spec 2.0
4 bDeviceClass 1 EFh Miscellaneous
5 bDeviceSubClass 1 02h Common Class
6 bDeviceProtocol 1 01h Interface Association Descriptor
7 bMaxPacketSize0 1 40h 64 bytes
8 idVendor 2 05E3h Genesys Logic, Inc.
10 idProduct 2 0510h  
12 bcdDevice 2 0319h 3.19
14 iManufacturer 1 02h  
15 iProduct 1 03h "USB2.0 UVC PC Camera"
16 iSerialNumber 1 00h  
17 bNumConfigurations 1 01h  
Configuration Descriptor 1 Bus Powered, 200 mA
Offset Field Size Value Description
0 bLength 1 09h  
1 bDescriptorType 1 02h Configuration
2 wTotalLength 2 01A9h  
4 bNumInterfaces 1 02h  
5 bConfigurationValue 1 01h  
6 iConfiguration 1 00h  
7 bmAttributes 1 80h Bus Powered
  4..0: Reserved   ...00000   
  5: Remote Wakeup   ..0.....  No
  6: Self Powered   .0......  No, Bus Powered
  7: Reserved (set to one)
(bus-powered for
1.0)
  1.......   
8 bMaxPower 1 64h 200 mA
Interface Association Descriptor Video Interface Collection
Offset Field Size Value Description
0 bLength 1 08h  
1 bDescriptorType 1 0Bh Interface Association
2 bFirstInterface 1 00h  
3 bInterfaceCount 1 02h  
4 bFunctionClass 1 0Eh Video
5 bFunctionSubClass 1 03h Video Interface Collection
6 bFunctionProtocol 1 00h  
7 iFunction 1 01h  
Interface Descriptor 0/0 Video, 1 Endpoint
Offset Field Size Value Description
0 bLength 1 09h  
1 bDescriptorType 1 04h Interface
2 bInterfaceNumber 1 00h  
3 bAlternateSetting 1 00h  
4 bNumEndpoints 1 01h  
5 bInterfaceClass 1 0Eh Video
6 bInterfaceSubClass 1 01h Video Control
7 bInterfaceProtocol 1 00h  
8 iInterface 1 01h  
Video Control Interface Header Descriptor
Offset Field Size Value Description
0 bLength 1 0Dh  
1 bDescriptorType 1 24h Video Control Interface Header
2   11 01 00 01 69 00 00 87 93 
03 01 01 
 
 
          ===>Class-Specific Video Control Interface Header Descriptor<===
bLength: 0x0D
bDescriptorType: 0x24
bDescriptorSubtype: 0x01
bcdVDC: 0x0100
wTotalLength: 0x0069 -> Validated
dwClockFrequency: 0x03938700 = () Hz
bInCollection: 0x01
baInterfaceNr[]: 0x01
 
Video Control Output Terminal Descriptor
Offset Field Size Value Description
0 bLength 1 09h  
1 bDescriptorType 1 24h Video Control Output Terminal
2   7 03 04 01 01 00 02 00   
 
          ===>Video Control Output Terminal Descriptor<===
bLength: 0x09
bDescriptorType: 0x24
bDescriptorSubtype: 0x03
bTerminalID: 0x04
wTerminalType: 0x0101 = (TT_STREAMING)
bAssocTerminal: 0x00
bSourceID: 0x02
iTerminal: 0x00
Video Control Extension Unit Descriptor
Offset Field Size Value Description
0 bLength 1 1Bh  
1 bDescriptorType 1 24h Video Control Extension Unit
2   25 06 02 0B 36 5D 5E 5F E4 
81 45 9B 0B 37 46 69 BA 
05 D4 10 01 05 02 FF 00 
00 
 
          ===>Video Control Extension Unit Descriptor<===
bLength: 0x1B
bDescriptorType: 0x24
bDescriptorSubtype: 0x06
bUnitID: 0x02
guidExtensionCode: {5E5D360B-E45F--9B0B-374669BA05D4}
bNumControls: 0x10
bNrInPins: 0x01
===>List of Connected Units and Terminal ID's
baSourceID[]: 0x05
bControlSize: 0x02
bmControls : 0xFF 0x00
D00 = yes - Vendor-Specific (Optional)
D01 = yes - Vendor-Specific (Optional)
D02 = yes - Vendor-Specific (Optional)
D03 = yes - Vendor-Specific (Optional)
D04 = yes - Vendor-Specific (Optional)
D05 = yes - Vendor-Specific (Optional)
D06 = yes - Vendor-Specific (Optional)
D07 = yes - Vendor-Specific (Optional)
D08 = no - Vendor-Specific (Optional)
D09 = no - Vendor-Specific (Optional)
D10 = no - Vendor-Specific (Optional)
D11 = no - Vendor-Specific (Optional)
D12 = no - Vendor-Specific (Optional)
D13 = no - Vendor-Specific (Optional)
D14 = no - Vendor-Specific (Optional)
D15 = no - Vendor-Specific (Optional)
iExtension: 0x00
Video Control Extension Unit Descriptor
Offset Field Size Value Description
0 bLength 1 1Bh  
1 bDescriptorType 1 24h Video Control Extension Unit
2   25 06 05 03 DF DA EC E3 8F 
27 4D 89 3B A1 8D 25 AE 
EE 09 10 01 03 02 FF 03 
00 
 
          ===>Video Control Extension Unit Descriptor<===
bLength: 0x1B
bDescriptorType: 0x24
bDescriptorSubtype: 0x06
bUnitID: 0x05
guidExtensionCode: {ECDADF03-8FE3-4D27-893B-A18D25AEEE09}
bNumControls: 0x10
bNrInPins: 0x01
===>List of Connected Units and Terminal ID's
baSourceID[]: 0x03
bControlSize: 0x02
bmControls : 0xFF 0x03
D00 = yes - Vendor-Specific (Optional)
D01 = yes - Vendor-Specific (Optional)
D02 = yes - Vendor-Specific (Optional)
D03 = yes - Vendor-Specific (Optional)
D04 = yes - Vendor-Specific (Optional)
D05 = yes - Vendor-Specific (Optional)
D06 = yes - Vendor-Specific (Optional)
D07 = yes - Vendor-Specific (Optional)
D08 = yes - Vendor-Specific (Optional)
D09 = yes - Vendor-Specific (Optional)
D10 = no - Vendor-Specific (Optional)
D11 = no - Vendor-Specific (Optional)
D12 = no - Vendor-Specific (Optional)
D13 = no - Vendor-Specific (Optional)
D14 = no - Vendor-Specific (Optional)
D15 = no - Vendor-Specific (Optional)
iExtension: 0x00
Video Control Input Terminal Descriptor
Offset Field Size Value Description
0 bLength 1 12h  
1 bDescriptorType 1 24h Video Control Input Terminal
2   16 02 01 01 02 00 00 00 00 
00 00 00 00 03 00 00 00 
 
          ===>Video Control Input Terminal Descriptor<===
bLength: 0x12
bDescriptorType: 0x24
bDescriptorSubtype: 0x02
bTerminalID: 0x01
wTerminalType: 0x0201 = (ITT_CAMERA)
bAssocTerminal: 0x00
iTerminal: 0x00
===>Camera Input Terminal Data
wObjectiveFocalLengthMin: 0x0000
wObjectiveFocalLengthMax: 0x0000
wOcularFocalLength: 0x0000
bControlSize: 0x03
bmControls : 0x00 0x00 0x00
D00 = no - Scanning Mode
D01 = no - Auto-Exposure Mode
D02 = no - Auto-Exposure Priority
D03 = no - Exposure Time (Absolute)
D04 = no - Exposure Time (Relative)
D05 = no - Focus (Absolute)
D06 = no - Focus (Relative)
D07 = no - Iris (Absolute)
D08 = no - Iris (Relative)
D09 = no - Zoom (Absolute)
D10 = no - Zoom (Relative)
D11 = no - Pan (Absolute)
D12 = no - Pan (Relative)
D13 = no - Roll (Absolute)
D14 = no - Roll (Relative)
D15 = no - Tilt (Absolute)
D16 = no - Tilt (Relative)
D17 = no - Focus Auto
D18 = no - Reserved
D19 = no - Reserved
D20 = no - Reserved
D21 = no - Reserved
D22 = no - Reserved
D23 = no - Reserved
Video Control Processing Unit Descriptor
Offset Field Size Value Description
0 bLength 1 0Bh  
1 bDescriptorType 1 24h Video Control Processing Unit
2   9 05 03 01 00 00 02 7F 17 
00 
 
 
          ===>Video Control Processing Unit Descriptor<===
bLength: 0x0B
bDescriptorType: 0x24
bDescriptorSubtype: 0x05
bUnitID: 0x03
bSourceID: 0x01
wMaxMultiplier: 0x0000
bControlSize: 0x02
bmControls : 0x7F 0x17
D00 = yes - Brightness
D01 = yes - Contrast
D02 = yes - Hue
D03 = yes - Saturation
D04 = yes - Sharpness
D05 = yes - Gamma
D06 = yes - White Balance Temperature
D07 = no - White Balance Component
D08 = yes - Backlight Compensation
D09 = yes - Gain
D10 = yes - Power Line Frequency
D11 = no - Hue, Auto
D12 = yes - White Balance Temperature, Auto
D13 = no - White Balance Component, Auto
D14 = no - Digital Multiplier
D15 = no - Digital Multiplier Limit
iProcessing: 0x00
Endpoint Descriptor 83 3 In, Interrupt, 4 ms
Offset Field Size Value Description
0 bLength 1 07h  
1 bDescriptorType 1 05h Endpoint
2 bEndpointAddress 1 83h 3 In
3 bmAttributes 1 03h Interrupt
  1..0: Transfer Type   ......11  Interrupt
  7..2: Reserved   000000..   
4 wMaxPacketSize 2 0017h 23 bytes
6 bInterval 1 06h 4 ms
Video Control Interrupt Endpoint Descriptor
Offset Field Size Value Description
0 bLength 1 05h  
1 bDescriptorType 1 25h Video Control Interrupt Endpoint
2   3 03 17 00   
 
          ===>Class-specific VC Interrupt Endpoint Descriptor<===
bLength: 0x05
bDescriptorType: 0x25
bDescriptorSubType: 0x03
wMaxTransferSize: 0x0017 = () Bytes
Interface Descriptor 1/0 Video, 0 Endpoints
Offset Field Size Value Description
0 bLength 1 09h  
1 bDescriptorType 1 04h Interface
2 bInterfaceNumber 1 01h  
3 bAlternateSetting 1 00h  
4 bNumEndpoints 1 00h  
5 bInterfaceClass 1 0Eh Video
6 bInterfaceSubClass 1 02h Video Streaming
7 bInterfaceProtocol 1 00h  
8 iInterface 1 00h  
Video Streaming Interface Input Header Descriptor
Offset Field Size Value Description
0 bLength 1 0Eh  
1 bDescriptorType 1 24h Video Streaming Interface Input Header
2   12 01 01 01 01 81 00 04 02 
01 01 01 00 
 
          ===>Video Class-Specific VS Video Input Header Descriptor<===
bLength: 0x0E
bDescriptorType: 0x24
bDescriptorSubtype: 0x01
bNumFormats: 0x01
wTotalLength: 0x0101 -> Validated
bEndpointAddress: 0x81 -> Direction: IN - EndpointID:
bmInfo: 0x00 -> Dynamic Format Change not Supported
bTerminalLink: 0x04
bStillCaptureMethod: 0x02 -> Still Capture Method
bTriggerSupport: 0x01 -> Hardware Triggering Support
bTriggerUsage: 0x01 -> Host will notify client application of button event
bControlSize: 0x01
Video Payload Format 0x00
D00 = no - Key Frame Rate
D01 = no - P Frame Rate
D02 = no - Compression Quality
D03 = no - Compression Window Size
D04 = no - Generate Key Frame
D05 = no - Update Frame Segment
D06 = no - Reserved
D07 = no - Reserved
Video Streaming Uncompressed Video Format Descriptor
Offset Field Size Value Description
0 bLength 1 1Bh  
1 bDescriptorType 1 24h Video Streaming Uncompressed Video Format
2   25 04 01 06 59 55 59 32 00 
00 10 00 80 00 00 AA 00 
38 9B 71 10 01 00 00 00 
00 
 
          ===>Video Streaming Uncompressed Format Type Descriptor<===
bLength: 0x1B
bDescriptorType: 0x24
bDescriptorSubtype: 0x04
bFormatIndex: 0x01
bNumFrameDescriptors: 0x06
guidFormat: {----00AA00389B71} = YUY2 Format
bBitsPerPixel: 0x10
bDefaultFrameIndex: 0x01
bAspectRatioX: 0x00
bAspectRatioY: 0x00
bmInterlaceFlags: 0x00
D0 = 0x00 Interlaced stream or variable: No
D1 = 0x00 Fields per frame: fields
D2 = 0x00 Field first: No
D3 = 0x00 Reserved
D4.. = 0x00 Field patterns -> Field only
D6.. = 0x00 Display Mode -> Bob only
bCopyProtect: 0x00 -> Duplication Unrestricted

补充一下关于Layout of a GUID Data Structure

Therefore, for a GUID defined as {32595559-0000-0010-8000-00AA00389B71}, as described
in the table above, the little-endian byte-stream representation would be:
0x59, 0x55, 0x59, 0x32, 0x00, 0x00, 0x10, 0x00, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71

Video Streaming Uncompressed Video Frame Descriptor
Offset Field Size Value Description
0 bLength 1 1Eh  
1 bDescriptorType 1 24h Video Streaming Uncompressed Video Frame
2   28 05 01 00 80 02 E0 01 00 
60 EA 00 00 60 EA 00 00 
60 09 00 80 1A 06 00 01 
80 1A 06 00 
 
          ===>Video Streaming Uncompressed Frame Type Descriptor<===
bLength: 0x1E
bDescriptorType: 0x24
bDescriptorSubtype: 0x05
bFrameIndex: 0x01
bmCapabilities: 0x00
wWidth: 0x0280
wHeight: 0x01E0
dwMinBitRate: 0x00EA6000
dwMaxBitRate: 0x00EA6000
dwMaxVideoFrameBufferSize: 0x00096000
dwDefaultFrameInterval: 0x00061A80
bFrameIntervalType: 0x01
===>Additional Discrete Frame Type Data
dwFrameInterval[]: 0x00061A80
Video Streaming Uncompressed Video Frame Descriptor
Offset Field Size Value Description
0 bLength 1 1Eh  
1 bDescriptorType 1 24h Video Streaming Uncompressed Video Frame
2   28 05 02 00 A0 00 78 00 00 
A6 0E 00 00 A6 0E 00 00 
96 00 00 80 1A 06 00 01 
80 1A 06 00 
 
 
          ===>Video Streaming Uncompressed Frame Type Descriptor<===
bLength: 0x1E
bDescriptorType: 0x24
bDescriptorSubtype: 0x05
bFrameIndex: 0x02
bmCapabilities: 0x00
wWidth: 0x00A0
wHeight: 0x0078
dwMinBitRate: 0x000EA600
dwMaxBitRate: 0x000EA600
dwMaxVideoFrameBufferSize: 0x00009600
dwDefaultFrameInterval: 0x00061A80
bFrameIntervalType: 0x01
===>Additional Discrete Frame Type Data
dwFrameInterval[]: 0x00061A80
Video Streaming Uncompressed Video Frame Descriptor
Offset Field Size Value Description
0 bLength 1 1Eh  
1 bDescriptorType 1 24h Video Streaming Uncompressed Video Frame
2   28 05 03 00 B0 00 90 00 00 
56 13 00 00 56 13 00 00 
C6 00 00 80 1A 06 00 01 
80 1A 06 00 
 
          ===>Video Streaming Uncompressed Frame Type Descriptor<===
bLength: 0x1E
bDescriptorType: 0x24
bDescriptorSubtype: 0x05
bFrameIndex: 0x03
bmCapabilities: 0x00
wWidth: 0x00B0
wHeight: 0x0090
dwMinBitRate: 0x00135600
dwMaxBitRate: 0x00135600
dwMaxVideoFrameBufferSize: 0x0000C600
dwDefaultFrameInterval: 0x00061A80
bFrameIntervalType: 0x01
===>Additional Discrete Frame Type Data
dwFrameInterval[]: 0x00061A80
Video Streaming Uncompressed Video Frame Descriptor

Offset Field Size Value Description
0 bLength 1 1Eh  
1 bDescriptorType 1 24h Video Streaming Uncompressed Video Frame
2   28 05 04 00 40 01 F0 00 00 
98 3A 00 00 98 3A 00 00 
58 02 00 80 1A 06 00 01 
80 1A 06 00 
 

          ===>Video Streaming Uncompressed Frame Type Descriptor<===
bLength: 0x1E
bDescriptorType: 0x24
bDescriptorSubtype: 0x05
bFrameIndex: 0x04
bmCapabilities: 0x00
wWidth: 0x0140
wHeight: 0x00F0
dwMinBitRate: 0x003A9800
dwMaxBitRate: 0x003A9800
dwMaxVideoFrameBufferSize: 0x00025800
dwDefaultFrameInterval: 0x00061A80
bFrameIntervalType: 0x01
===>Additional Discrete Frame Type Data
dwFrameInterval[]: 0x00061A80
Video Streaming Uncompressed Video Frame Descriptor
Offset Field Size Value Description
0 bLength 1 1Eh  
1 bDescriptorType 1 24h Video Streaming Uncompressed Video Frame
2   28 05 05 00 60 01 20 01 00 
58 4D 00 00 58 4D 00 00 
18 03 00 80 1A 06 00 01 
80 1A 06 00 
 
          ===>Video Streaming Uncompressed Frame Type Descriptor<===
bLength: 0x1E
bDescriptorType: 0x24
bDescriptorSubtype: 0x05
bFrameIndex: 0x05
bmCapabilities: 0x00
wWidth: 0x0160
wHeight: 0x0120
dwMinBitRate: 0x004D5800
dwMaxBitRate: 0x004D5800
dwMaxVideoFrameBufferSize: 0x00031800
dwDefaultFrameInterval: 0x00061A80
bFrameIntervalType: 0x01
===>Additional Discrete Frame Type Data
dwFrameInterval[]: 0x00061A80
Video Streaming Uncompressed Video Frame Descriptor

Offset Field Size Value Description
0 bLength 1 1Eh  
1 bDescriptorType 1 24h Video Streaming Uncompressed Video Frame
2   28 05 06 00 80 02 E0 01 00 
60 EA 00 00 60 EA 00 00 
60 09 00 80 1A 06 00 01 
80 1A 06 00 
 
          ===>Video Streaming Uncompressed Frame Type Descriptor<===
bLength: 0x1E
bDescriptorType: 0x24
bDescriptorSubtype: 0x05
bFrameIndex: 0x06
bmCapabilities: 0x00
wWidth: 0x0280
wHeight: 0x01E0
dwMinBitRate: 0x00EA6000
dwMaxBitRate: 0x00EA6000
dwMaxVideoFrameBufferSize: 0x00096000
dwDefaultFrameInterval: 0x00061A80
bFrameIntervalType: 0x01
===>Additional Discrete Frame Type Data
dwFrameInterval[]: 0x00061A80
Video Streaming Still Image Frame Descriptor

Offset Field Size Value Description
0 bLength 1 1Eh  
1 bDescriptorType 1 24h Video Streaming Still Image Frame
2   28 03 00 06 80 02 E0 01 A0 
00 78 00 B0 00 90 00 40 
01 F0 00 60 01 20 01 80 
02 E0 01 00 
 

          ===>Still Image Frame Type Descriptor<===
bLength: 0x1E
bDescriptorType: 0x24
bDescriptorSubtype: 0x03
bEndpointAddress: 0x00
bNumImageSizePatterns: 0x06
wWidth[]: 0x0280
wHeight[]: 0x01E0
wWidth[]: 0x00A0
wHeight[]: 0x0078
wWidth[]: 0x00B0
wHeight[]: 0x0090
wWidth[]: 0x0140
wHeight[]: 0x00F0
wWidth[]: 0x0160
wHeight[]: 0x0120
wWidth[]: 0x0280
wHeight[]: 0x01E0
bNumCompressionPattern: 0x00
Video Streaming Color Matching Descriptor
Offset Field Size Value Description
0 bLength 1 06h  
1 bDescriptorType 1 24h Video Streaming Color Matching
2   4 0D 01 01 04   
          ===>Color Matching Descriptor<===
bLength: 0x06
bDescriptorType: 0x24
bDescriptorSubtype: 0x0D
bColorPrimaries: 0x01
bTransferCharacteristics: 0x01
bMatrixCoefficients: 0x04

Interface Descriptor 1/1 Video, 1 Endpoint

Offset Field Size Value Description
0 bLength 1 09h  
1 bDescriptorType 1 04h Interface
2 bInterfaceNumber 1 01h  
3 bAlternateSetting 1 01h  
4 bNumEndpoints 1 01h  
5 bInterfaceClass 1 0Eh Video
6 bInterfaceSubClass 1 02h Video Streaming
7 bInterfaceProtocol 1 00h  
8 iInterface 1 00h  
Endpoint Descriptor 81 1 In, Isochronous, 125 us
Offset Field Size Value Description
0 bLength 1 07h  
1 bDescriptorType 1 05h Endpoint
2 bEndpointAddress 1 81h 1 In
3 bmAttributes 1 05h Isochronous, Asynchronous, Data
  1..0: Transfer Type   ......01  Isochronous
  3..2: Sync Type   ....01..  Asynchronous
  5..4: Usage Type   ..00....  Data
  7..6: Reserved   00......   
4 wMaxPacketSize 2 1400h 1024 bytes, 2 additional transactions (3 per microframe)
6 bInterval 1 01h 125 us

来分析一个UVC的摄像头的枚举信息的更多相关文章

  1. 如何分析一个QT类

    作者:gnuhpc  出处:http://www.cnblogs.com/gnuhpc/ 我们以QLineEdit这个类为例来看看如何学习分析一个QT类. 1.Public Types: 这是一个在这 ...

  2. 分析一个socket通信: server/client

    分析一个socket通信: server/client1 server 1. 创建一个server_socket文件,并绑定端口,然后监听端口 (socket, bind, listen) 2. 查询 ...

  3. 分析一个MySQL并发事务示例

    小结: 1. https://mp.weixin.qq.com/s/hdDl95a6ayVtCoEc3RiLwQ 分析一个MySQL并发事务示例 性能与架构 1月12日   MySQL实战45讲 从原 ...

  4. 从零开始的程序逆向之路基础篇 第二章——用OllyDbg(OD)分析一个简单的软件

    作者:Crazyman_Army 原文来自:https://bbs.ichunqiu.com/thread-43469-1-1.html 0x00知识回顾 (由于笔者省事,没开XP虚拟机,而且没关闭A ...

  5. 在Linux下,如何分析一个程序达到性能瓶颈的原因

    0.在Linux下,如何分析一个程序达到性能瓶颈的原因,请分别从CPU.内存.IO.网络的角度判断是谁导致的瓶颈?注意现在的机器CPU是多核 1.用sar -n DEV 1 10 2.用iotop命令 ...

  6. 实验作业:使gdb跟踪分析一个系统调用内核函数

    实验作业:使gdb跟踪分析一个系统调用内核函数(我使用的是getuid) 20135313吴子怡.北京电子科技学院 [第一部分] 根据视频演示的步骤,先做第一部分,步骤如下 ①更新menu代码到最新版 ...

  7. 如何分析一个已有的Delphi项目源代码

    分析一个已有的Delphi项目,应该从以下入手(按先后顺序):1. 编译条件,包括自定义的Condition以及inc文件里的标识2. 主项目文件dpr,因为窗体的windows消息循环只是程序的一部 ...

  8. 基于Linux C的socketEthereal程序和Package分析 (一个)

     执行测试平台:CentOS 6.5发行版,内核版本号3.11 1. Linux抓包源程序 在OSI七层模型中.网卡工作在物理层和数据链路层的MAC子层. 进行网络通信时.源主机通过socket( ...

  9. [Android] 分析一个CalledFromWrongThreadException崩溃

    1 问题描述 问题本身比较清晰简单,但推敲的过程中发现了不少有意思的东西. 在C++ SDK回调JNI至Java Observer函数中,直接操作了UI界面textView.setText(msg), ...

随机推荐

  1. 推荐两个小工具MediaInfo 和 netpersec

    [转载请注明出处]:http://blog.csdn.net/longlong530 流媒体服开发的时候常用的两个工具, 1. MediaInfo     下载路径:(http://w.x.baidu ...

  2. C#对Mongodb数组对象操作

    Mongo对数据的存储非常随意,需要修改对象中的数组对象时,就会变得比较复杂. 类中的类对象可以直接通过“.”例如:Department.User.name 类中的对象User是数组时可以用Depar ...

  3. 1.Linux命令

    所有文章都只做学习记录用! 一.Linux开发板操作命令 1.查看命令:  系统相关:           **任务管理器: gnome-system-monitor 查看系统版 :uname -a ...

  4. Python类方法、静态方法与实例方法 -----类里面不需要实例化参数 和没带self的函数 调用此函数的方法

    来源: https://www.cnblogs.com/blackmatrix/p/5606364.html 静态方法是指类中无需实例参与即可调用的方法(不需要self参数),在调用过程中,无需将类实 ...

  5. 配置Flink依赖的pom文件时报错:flink-clients_2.11 & flink-streaming-java_2.11

    在配置eclipse上的pom文件时,在配置到flink-clients_2.11 和 flink-streaming-java_2.11这两个jar包的时候不管怎么弄都报错而且包一大堆错. 最难受的 ...

  6. springboot(三 使用mybatis +springboot 完成简单的增删改查)

    先说一些注解: @EnableAutoConfiguration 可以帮助SpringBoot应用将所有符合条件的@Configuration配置都加载到当前SpringBoot创建并使用的IoC容器 ...

  7. 廖雪峰Java4反射与泛型-3范型-3编写泛型

    编写泛型类比普通的类要麻烦,而且很少编写泛型类. 1.编写一个泛型类: 按照某种类型(例如String)编写类 标记所有的特定类型例如String 把特定类型替换为T,并申明 Pair.java pa ...

  8. Python twilio发短信实践

    twilio注册地址   注册的时候可能会报错   最好是*** -->注册-->注册完毕后代码运行是不需要***的 https://www.twilio.com/console 需要pi ...

  9. Linux下使用curl查看http请求各阶段耗时

    1. 准备文件模版(curl.txt) \n time_namelookup: %{time_namelookup}\n time_connect: %{time_connect}\n time_ap ...

  10. Spring事务管理的demo

    事务是逻辑上的一组操作,这组操作要么全部成功,要么全部失败,最为典型的就是银行转账的案例: A要向B转账,现在A,B各自账户中有1000元,A要给B转200元,那么这个转账就必须保证是一个事务,防止中 ...