Logitech HD Pro Webcam C920

From MyLabWiki
Revision as of 20:03, 13 June 2012 by Alex (Talk | contribs)

Jump to: navigation, search

Logitech's first camera that supports hardware H.264 encoding up to 1920x1080 @ 30 fps.


Supported formats

 # v4l2-ctl --list-formats
 
 ioctl: VIDIOC_ENUM_FMT
       Index       : 0
       Type        : Video Capture
       Pixel Format: 'YUYV'
       Name        : YUV 4:2:2 (YUYV)
 
       Index       : 1
       Type        : Video Capture
       Pixel Format: 'H264' (compressed)
       Name        : H.264
 
       Index       : 2
       Type        : Video Capture
       Pixel Format: 'MJPG' (compressed)
       Name        : MJPEG

Notice the high definition formats when using compressed mode:

 # v4l2-ctl --list-formats
 
 ioctl: VIDIOC_ENUM_FMT
     Index       : 0
     Type        : Video Capture
     Pixel Format: 'YUYV' 
     Name        : YUV 4:2:2 (YUYV)
           Size: Discrete 640x480
                 Interval: Discrete 0.033 s (30.000 fps)
                 Interval: Discrete 0.042 s (24.000 fps)
                 Interval: Discrete 0.050 s (20.000 fps)
                 Interval: Discrete 0.067 s (15.000 fps)
                 Interval: Discrete 0.100 s (10.000 fps)
                 Interval: Discrete 0.133 s (7.500 fps)
                 Interval: Discrete 0.200 s (5.000 fps)
           Size: Discrete 160x90
                 Interval: Discrete 0.033 s (30.000 fps)
                 Interval: Discrete 0.042 s (24.000 fps)
                 Interval: Discrete 0.050 s (20.000 fps)
                 Interval: Discrete 0.067 s (15.000 fps)
                 Interval: Discrete 0.100 s (10.000 fps)
                 Interval: Discrete 0.133 s (7.500 fps)
                 Interval: Discrete 0.200 s (5.000 fps)
           Size: Discrete 160x120
                 Interval: Discrete 0.033 s (30.000 fps)
                 Interval: Discrete 0.042 s (24.000 fps)
                 Interval: Discrete 0.050 s (20.000 fps)
                 Interval: Discrete 0.067 s (15.000 fps)
                 Interval: Discrete 0.100 s (10.000 fps)
                 Interval: Discrete 0.133 s (7.500 fps)
                 Interval: Discrete 0.200 s (5.000 fps)
           Size: Discrete 176x144
                 Interval: Discrete 0.033 s (30.000 fps)
                 Interval: Discrete 0.042 s (24.000 fps)
                 Interval: Discrete 0.050 s (20.000 fps)
                 Interval: Discrete 0.067 s (15.000 fps)
                 Interval: Discrete 0.100 s (10.000 fps)
                 Interval: Discrete 0.133 s (7.500 fps)
                 Interval: Discrete 0.200 s (5.000 fps)
           Size: Discrete 320x180
                 Interval: Discrete 0.033 s (30.000 fps)
                 Interval: Discrete 0.042 s (24.000 fps)
                 Interval: Discrete 0.050 s (20.000 fps)
                 Interval: Discrete 0.067 s (15.000 fps)
                 Interval: Discrete 0.100 s (10.000 fps)
                 Interval: Discrete 0.133 s (7.500 fps)
                 Interval: Discrete 0.200 s (5.000 fps)
           Size: Discrete 320x240
                 Interval: Discrete 0.033 s (30.000 fps)
                 Interval: Discrete 0.042 s (24.000 fps)
                 Interval: Discrete 0.050 s (20.000 fps)
                 Interval: Discrete 0.067 s (15.000 fps)
                 Interval: Discrete 0.100 s (10.000 fps)
                 Interval: Discrete 0.133 s (7.500 fps)
                 Interval: Discrete 0.200 s (5.000 fps)
           Size: Discrete 352x288
                 Interval: Discrete 0.033 s (30.000 fps)
                 Interval: Discrete 0.042 s (24.000 fps)
                 Interval: Discrete 0.050 s (20.000 fps)
                 Interval: Discrete 0.067 s (15.000 fps)
                 Interval: Discrete 0.100 s (10.000 fps)
                 Interval: Discrete 0.133 s (7.500 fps)
                 Interval: Discrete 0.200 s (5.000 fps)
           Size: Discrete 432x240
                 Interval: Discrete 0.033 s (30.000 fps)
                 Interval: Discrete 0.042 s (24.000 fps)
                 Interval: Discrete 0.050 s (20.000 fps)
                 Interval: Discrete 0.067 s (15.000 fps)
                 Interval: Discrete 0.100 s (10.000 fps)
                 Interval: Discrete 0.133 s (7.500 fps)
                 Interval: Discrete 0.200 s (5.000 fps)
           Size: Discrete 640x360
                 Interval: Discrete 0.033 s (30.000 fps)
                 Interval: Discrete 0.042 s (24.000 fps)
                 Interval: Discrete 0.050 s (20.000 fps)
                 Interval: Discrete 0.067 s (15.000 fps)
                 Interval: Discrete 0.100 s (10.000 fps)
                 Interval: Discrete 0.133 s (7.500 fps)
                 Interval: Discrete 0.200 s (5.000 fps)
           Size: Discrete 800x448
                 Interval: Discrete 0.033 s (30.000 fps)
                 Interval: Discrete 0.042 s (24.000 fps)
                 Interval: Discrete 0.050 s (20.000 fps)
                 Interval: Discrete 0.067 s (15.000 fps)
                 Interval: Discrete 0.100 s (10.000 fps)
                 Interval: Discrete 0.133 s (7.500 fps)
                 Interval: Discrete 0.200 s (5.000 fps)
           Size: Discrete 800x600
                 Interval: Discrete 0.042 s (24.000 fps)
                 Interval: Discrete 0.050 s (20.000 fps)
                 Interval: Discrete 0.067 s (15.000 fps)
                 Interval: Discrete 0.100 s (10.000 fps)
                 Interval: Discrete 0.133 s (7.500 fps)
                 Interval: Discrete 0.200 s (5.000 fps)
           Size: Discrete 864x480
                 Interval: Discrete 0.042 s (24.000 fps)
                 Interval: Discrete 0.050 s (20.000 fps)
                 Interval: Discrete 0.067 s (15.000 fps)
                 Interval: Discrete 0.100 s (10.000 fps)
                 Interval: Discrete 0.133 s (7.500 fps)
                 Interval: Discrete 0.200 s (5.000 fps)
           Size: Discrete 960x720
                 Interval: Discrete 0.067 s (15.000 fps)
                 Interval: Discrete 0.100 s (10.000 fps)
                 Interval: Discrete 0.133 s (7.500 fps)
                 Interval: Discrete 0.200 s (5.000 fps)
           Size: Discrete 1024x576
                 Interval: Discrete 0.067 s (15.000 fps)
                 Interval: Discrete 0.100 s (10.000 fps)
                 Interval: Discrete 0.133 s (7.500 fps)
                 Interval: Discrete 0.200 s (5.000 fps)
           Size: Discrete 1280x720
                 Interval: Discrete 0.100 s (10.000 fps)
                 Interval: Discrete 0.133 s (7.500 fps)
                 Interval: Discrete 0.200 s (5.000 fps)
           Size: Discrete 1600x896
                 Interval: Discrete 0.133 s (7.500 fps)
                 Interval: Discrete 0.200 s (5.000 fps)
           Size: Discrete 1920x1080
                 Interval: Discrete 0.200 s (5.000 fps)
           Size: Discrete 2304x1296
                 Interval: Discrete 0.500 s (2.000 fps)
           Size: Discrete 2304x1536
                 Interval: Discrete 0.500 s (2.000 fps)
 
     Index       : 1
     Type        : Video Capture
     Pixel Format: 'H264' (compressed)
     Name        : H.264
           Size: Discrete 640x480
                 Interval: Discrete 0.033 s (30.000 fps)
                 Interval: Discrete 0.042 s (24.000 fps)
                 Interval: Discrete 0.050 s (20.000 fps)
                 Interval: Discrete 0.067 s (15.000 fps)
                 Interval: Discrete 0.100 s (10.000 fps)
                 Interval: Discrete 0.133 s (7.500 fps)
                 Interval: Discrete 0.200 s (5.000 fps)
           Size: Discrete 160x90
                 Interval: Discrete 0.033 s (30.000 fps)
                 Interval: Discrete 0.042 s (24.000 fps)
                 Interval: Discrete 0.050 s (20.000 fps)
                 Interval: Discrete 0.067 s (15.000 fps)
                 Interval: Discrete 0.100 s (10.000 fps)
                 Interval: Discrete 0.133 s (7.500 fps)
                 Interval: Discrete 0.200 s (5.000 fps)
           Size: Discrete 160x120
                 Interval: Discrete 0.033 s (30.000 fps)
                 Interval: Discrete 0.042 s (24.000 fps)
                 Interval: Discrete 0.050 s (20.000 fps)
                 Interval: Discrete 0.067 s (15.000 fps)
                 Interval: Discrete 0.100 s (10.000 fps)
                 Interval: Discrete 0.133 s (7.500 fps)
                 Interval: Discrete 0.200 s (5.000 fps)
           Size: Discrete 176x144
                 Interval: Discrete 0.033 s (30.000 fps)
                 Interval: Discrete 0.042 s (24.000 fps)
                 Interval: Discrete 0.050 s (20.000 fps)
                 Interval: Discrete 0.067 s (15.000 fps)
                 Interval: Discrete 0.100 s (10.000 fps)
                 Interval: Discrete 0.133 s (7.500 fps)
                 Interval: Discrete 0.200 s (5.000 fps)
           Size: Discrete 320x180
                 Interval: Discrete 0.033 s (30.000 fps)
                 Interval: Discrete 0.042 s (24.000 fps)
                 Interval: Discrete 0.050 s (20.000 fps)
                 Interval: Discrete 0.067 s (15.000 fps)
                 Interval: Discrete 0.100 s (10.000 fps)
                 Interval: Discrete 0.133 s (7.500 fps)
                 Interval: Discrete 0.200 s (5.000 fps)
           Size: Discrete 320x240
                 Interval: Discrete 0.033 s (30.000 fps)
                 Interval: Discrete 0.042 s (24.000 fps)
                 Interval: Discrete 0.050 s (20.000 fps)
                 Interval: Discrete 0.067 s (15.000 fps)
                 Interval: Discrete 0.100 s (10.000 fps)
                 Interval: Discrete 0.133 s (7.500 fps)
                 Interval: Discrete 0.200 s (5.000 fps)
           Size: Discrete 352x288
                 Interval: Discrete 0.033 s (30.000 fps)
                 Interval: Discrete 0.042 s (24.000 fps)
                 Interval: Discrete 0.050 s (20.000 fps)
                 Interval: Discrete 0.067 s (15.000 fps)
                 Interval: Discrete 0.100 s (10.000 fps)
                 Interval: Discrete 0.133 s (7.500 fps)
                 Interval: Discrete 0.200 s (5.000 fps)
           Size: Discrete 432x240
                 Interval: Discrete 0.033 s (30.000 fps)
                 Interval: Discrete 0.042 s (24.000 fps)
                 Interval: Discrete 0.050 s (20.000 fps)
                 Interval: Discrete 0.067 s (15.000 fps)
                 Interval: Discrete 0.100 s (10.000 fps)
                 Interval: Discrete 0.133 s (7.500 fps)
                 Interval: Discrete 0.200 s (5.000 fps)
           Size: Discrete 640x360
                 Interval: Discrete 0.033 s (30.000 fps)
                 Interval: Discrete 0.042 s (24.000 fps)
                 Interval: Discrete 0.050 s (20.000 fps)
                 Interval: Discrete 0.067 s (15.000 fps)
                 Interval: Discrete 0.100 s (10.000 fps)
                 Interval: Discrete 0.133 s (7.500 fps)
                 Interval: Discrete 0.200 s (5.000 fps)
           Size: Discrete 800x448
                 Interval: Discrete 0.033 s (30.000 fps)
                 Interval: Discrete 0.042 s (24.000 fps)
                 Interval: Discrete 0.050 s (20.000 fps)
                 Interval: Discrete 0.067 s (15.000 fps)
                 Interval: Discrete 0.100 s (10.000 fps)
                 Interval: Discrete 0.133 s (7.500 fps)
                 Interval: Discrete 0.200 s (5.000 fps)
           Size: Discrete 800x600
                 Interval: Discrete 0.033 s (30.000 fps)
                 Interval: Discrete 0.042 s (24.000 fps)
                 Interval: Discrete 0.050 s (20.000 fps)
                 Interval: Discrete 0.067 s (15.000 fps)
                 Interval: Discrete 0.100 s (10.000 fps)
                 Interval: Discrete 0.133 s (7.500 fps)
                 Interval: Discrete 0.200 s (5.000 fps)
           Size: Discrete 864x480
                 Interval: Discrete 0.033 s (30.000 fps)
                 Interval: Discrete 0.042 s (24.000 fps)
                 Interval: Discrete 0.050 s (20.000 fps)
                 Interval: Discrete 0.067 s (15.000 fps)
                 Interval: Discrete 0.100 s (10.000 fps)
                 Interval: Discrete 0.133 s (7.500 fps)
                 Interval: Discrete 0.200 s (5.000 fps)
           Size: Discrete 960x720
                 Interval: Discrete 0.033 s (30.000 fps)
                 Interval: Discrete 0.042 s (24.000 fps)
                 Interval: Discrete 0.050 s (20.000 fps)
                 Interval: Discrete 0.067 s (15.000 fps)
                 Interval: Discrete 0.100 s (10.000 fps)
                 Interval: Discrete 0.133 s (7.500 fps)
                 Interval: Discrete 0.200 s (5.000 fps)
           Size: Discrete 1024x576
                 Interval: Discrete 0.033 s (30.000 fps)
                 Interval: Discrete 0.042 s (24.000 fps)
                 Interval: Discrete 0.050 s (20.000 fps)
                 Interval: Discrete 0.067 s (15.000 fps)
                 Interval: Discrete 0.100 s (10.000 fps)
                 Interval: Discrete 0.133 s (7.500 fps)
                 Interval: Discrete 0.200 s (5.000 fps)
           Size: Discrete 1280x720
                 Interval: Discrete 0.033 s (30.000 fps)
                 Interval: Discrete 0.042 s (24.000 fps)
                 Interval: Discrete 0.050 s (20.000 fps)
                 Interval: Discrete 0.067 s (15.000 fps)
                 Interval: Discrete 0.100 s (10.000 fps)
                 Interval: Discrete 0.133 s (7.500 fps)
                 Interval: Discrete 0.200 s (5.000 fps)
           Size: Discrete 1600x896
                 Interval: Discrete 0.033 s (30.000 fps)
                 Interval: Discrete 0.042 s (24.000 fps)
                 Interval: Discrete 0.050 s (20.000 fps)
                 Interval: Discrete 0.067 s (15.000 fps)
                 Interval: Discrete 0.100 s (10.000 fps)
                 Interval: Discrete 0.133 s (7.500 fps)
                 Interval: Discrete 0.200 s (5.000 fps)
           Size: Discrete 1920x1080
                 Interval: Discrete 0.033 s (30.000 fps)
                 Interval: Discrete 0.042 s (24.000 fps)
                 Interval: Discrete 0.050 s (20.000 fps)
                 Interval: Discrete 0.067 s (15.000 fps)
                 Interval: Discrete 0.100 s (10.000 fps)
                 Interval: Discrete 0.133 s (7.500 fps)
                 Interval: Discrete 0.200 s (5.000 fps)
 
     Index       : 2
     Type        : Video Capture
     Pixel Format: 'MJPG' (compressed)
     Name        : MJPEG
           Size: Discrete 640x480
                 Interval: Discrete 0.033 s (30.000 fps)
                 Interval: Discrete 0.042 s (24.000 fps)
                 Interval: Discrete 0.050 s (20.000 fps)
                 Interval: Discrete 0.067 s (15.000 fps)
                 Interval: Discrete 0.100 s (10.000 fps)
                 Interval: Discrete 0.133 s (7.500 fps)
                 Interval: Discrete 0.200 s (5.000 fps)
           Size: Discrete 160x90
                 Interval: Discrete 0.033 s (30.000 fps)
                 Interval: Discrete 0.042 s (24.000 fps)
                 Interval: Discrete 0.050 s (20.000 fps)
                 Interval: Discrete 0.067 s (15.000 fps)
                 Interval: Discrete 0.100 s (10.000 fps)
                 Interval: Discrete 0.133 s (7.500 fps)
                 Interval: Discrete 0.200 s (5.000 fps)
           Size: Discrete 160x120
                 Interval: Discrete 0.033 s (30.000 fps)
                 Interval: Discrete 0.042 s (24.000 fps)
                 Interval: Discrete 0.050 s (20.000 fps)
                 Interval: Discrete 0.067 s (15.000 fps)
                 Interval: Discrete 0.100 s (10.000 fps)
                 Interval: Discrete 0.133 s (7.500 fps)
                 Interval: Discrete 0.200 s (5.000 fps)
           Size: Discrete 176x144
                 Interval: Discrete 0.033 s (30.000 fps)
                 Interval: Discrete 0.042 s (24.000 fps)
                 Interval: Discrete 0.050 s (20.000 fps)
                 Interval: Discrete 0.067 s (15.000 fps)
                 Interval: Discrete 0.100 s (10.000 fps)
                 Interval: Discrete 0.133 s (7.500 fps)
                 Interval: Discrete 0.200 s (5.000 fps)
           Size: Discrete 320x180
                 Interval: Discrete 0.033 s (30.000 fps)
                 Interval: Discrete 0.042 s (24.000 fps)
                 Interval: Discrete 0.050 s (20.000 fps)
                 Interval: Discrete 0.067 s (15.000 fps)
                 Interval: Discrete 0.100 s (10.000 fps)
                 Interval: Discrete 0.133 s (7.500 fps)
                 Interval: Discrete 0.200 s (5.000 fps)
           Size: Discrete 320x240
                 Interval: Discrete 0.033 s (30.000 fps)
                 Interval: Discrete 0.042 s (24.000 fps)
                 Interval: Discrete 0.050 s (20.000 fps)
                 Interval: Discrete 0.067 s (15.000 fps)
                 Interval: Discrete 0.100 s (10.000 fps)
                 Interval: Discrete 0.133 s (7.500 fps)
                 Interval: Discrete 0.200 s (5.000 fps)
           Size: Discrete 352x288
                 Interval: Discrete 0.033 s (30.000 fps)
                 Interval: Discrete 0.042 s (24.000 fps)
                 Interval: Discrete 0.050 s (20.000 fps)
                 Interval: Discrete 0.067 s (15.000 fps)
                 Interval: Discrete 0.100 s (10.000 fps)
                 Interval: Discrete 0.133 s (7.500 fps)
                 Interval: Discrete 0.200 s (5.000 fps)
           Size: Discrete 432x240
                 Interval: Discrete 0.033 s (30.000 fps)
                 Interval: Discrete 0.042 s (24.000 fps)
                 Interval: Discrete 0.050 s (20.000 fps)
                 Interval: Discrete 0.067 s (15.000 fps)
                 Interval: Discrete 0.100 s (10.000 fps)
                 Interval: Discrete 0.133 s (7.500 fps)
                 Interval: Discrete 0.200 s (5.000 fps)
           Size: Discrete 640x360
                 Interval: Discrete 0.033 s (30.000 fps)
                 Interval: Discrete 0.042 s (24.000 fps)
                 Interval: Discrete 0.050 s (20.000 fps)
                 Interval: Discrete 0.067 s (15.000 fps)
                 Interval: Discrete 0.100 s (10.000 fps)
                 Interval: Discrete 0.133 s (7.500 fps)
                 Interval: Discrete 0.200 s (5.000 fps)
           Size: Discrete 800x448
                 Interval: Discrete 0.033 s (30.000 fps)
                 Interval: Discrete 0.042 s (24.000 fps)
                 Interval: Discrete 0.050 s (20.000 fps)
                 Interval: Discrete 0.067 s (15.000 fps)
                 Interval: Discrete 0.100 s (10.000 fps)
                 Interval: Discrete 0.133 s (7.500 fps)
                 Interval: Discrete 0.200 s (5.000 fps)
           Size: Discrete 800x600
                 Interval: Discrete 0.033 s (30.000 fps)
                 Interval: Discrete 0.042 s (24.000 fps)
                 Interval: Discrete 0.050 s (20.000 fps)
                 Interval: Discrete 0.067 s (15.000 fps)
                 Interval: Discrete 0.100 s (10.000 fps)
                 Interval: Discrete 0.133 s (7.500 fps)
                 Interval: Discrete 0.200 s (5.000 fps)
           Size: Discrete 864x480
                 Interval: Discrete 0.033 s (30.000 fps)
                 Interval: Discrete 0.042 s (24.000 fps)
                 Interval: Discrete 0.050 s (20.000 fps)
                 Interval: Discrete 0.067 s (15.000 fps)
                 Interval: Discrete 0.100 s (10.000 fps)
                 Interval: Discrete 0.133 s (7.500 fps)
                 Interval: Discrete 0.200 s (5.000 fps)
           Size: Discrete 960x720
                 Interval: Discrete 0.033 s (30.000 fps)
                 Interval: Discrete 0.042 s (24.000 fps)
                 Interval: Discrete 0.050 s (20.000 fps)
                 Interval: Discrete 0.067 s (15.000 fps)
                 Interval: Discrete 0.100 s (10.000 fps)
                 Interval: Discrete 0.133 s (7.500 fps)
                 Interval: Discrete 0.200 s (5.000 fps)
           Size: Discrete 1024x576
                 Interval: Discrete 0.033 s (30.000 fps)
                 Interval: Discrete 0.042 s (24.000 fps)
                 Interval: Discrete 0.050 s (20.000 fps)
                 Interval: Discrete 0.067 s (15.000 fps)
                 Interval: Discrete 0.100 s (10.000 fps)
                 Interval: Discrete 0.133 s (7.500 fps)
                 Interval: Discrete 0.200 s (5.000 fps)
           Size: Discrete 1280x720
                 Interval: Discrete 0.033 s (30.000 fps)
                 Interval: Discrete 0.042 s (24.000 fps)
                 Interval: Discrete 0.050 s (20.000 fps)
                 Interval: Discrete 0.067 s (15.000 fps)
                 Interval: Discrete 0.100 s (10.000 fps)
                 Interval: Discrete 0.133 s (7.500 fps)
                 Interval: Discrete 0.200 s (5.000 fps)
           Size: Discrete 1600x896
                 Interval: Discrete 0.033 s (30.000 fps)
                 Interval: Discrete 0.042 s (24.000 fps)
                 Interval: Discrete 0.050 s (20.000 fps)
                 Interval: Discrete 0.067 s (15.000 fps)
                 Interval: Discrete 0.100 s (10.000 fps)
                 Interval: Discrete 0.133 s (7.500 fps)
                 Interval: Discrete 0.200 s (5.000 fps)
           Size: Discrete 1920x1080
                 Interval: Discrete 0.033 s (30.000 fps)
                 Interval: Discrete 0.042 s (24.000 fps)
                 Interval: Discrete 0.050 s (20.000 fps)
                 Interval: Discrete 0.067 s (15.000 fps)
                 Interval: Discrete 0.100 s (10.000 fps)
                 Interval: Discrete 0.133 s (7.500 fps)
                 Interval: Discrete 0.200 s (5.000 fps)

Software

As of June 2012, there is no software that fully supports this camera -- in particular the H.264 mode, which is pretty much what is interesting here:

  • guvcview works but does not support H.264
  • qv4l2 works, can capture and show H.264 stream. Unfortunately it has no support for saving the stream
  • The official v4l2 specs has an example capture program, which has been modified to capture H.264 instead.

The capture example can be reverted to save a continuous stream to stdout, which then can be piped to Gstreamer:

 ./capture -c 1000 -o | gst-launch -v playbin2 uri=file:///dev/fd/0

Oone can also use the following alternate pipeline to also show FPS:

 ./capture -c 10000 -o | gst-launch -v filesrc location=/dev/fd/0 ! decodebin2 ! fpsdisplaysink

v4l2-ctl can be used to configure the format and frame rate before starting the capture.

v4l2ucp provides a GUI for setting controls while the camera is running. So does v4l2-ctl but from a CLI.

Bonecam will do the above on the Beaglebone but stream it over the network instead of displaying.