card support: logitech c910 webcam

Description

Modern webcams are very well suited for lecture capture but UVC cameras are not supported as capture devices in Matterhorn (though they work in GStreamer). From a cost effectiveness point of view this could be a very important feature. Related information is below.

Example GStreamer command (from http://www.twm-kd.com/computers/software/webcam-and-linux-gstreamer-tutorial/):
gst-launch v4l2src device=/dev/video0 ! 'video/x-raw-yuv,width=640,height=480,framerate=30/1' ! xvimagesink

Output from v4l-info for Logitech C910 webcam:

  1.  

    1.  

      1. v4l2 device info /dev/video0 ###
        general info
        VIDIOC_QUERYCAP
        driver : "uvcvideo"
        card : "UVC Camera (046d:0821)"
        bus_info : "usb-0000:00:1d.7-6"
        version : 0.1.0
        capabilities : 0x4000001 [VIDEO_CAPTURE,STREAMING]

standards

inputs
VIDIOC_ENUMINPUT(0)
index : 0
name : "Camera 1"
type : CAMERA
audioset : 0
tuner : 0
std : 0x0 []
status : 0x0 []

video capture
VIDIOC_ENUM_FMT(0,VIDEO_CAPTURE)
index : 0
type : VIDEO_CAPTURE
flags : 0
description : "YUV 4:2:2 (YUYV)"
pixelformat : 0x56595559 [YUYV]
VIDIOC_ENUM_FMT(1,VIDEO_CAPTURE)
index : 1
type : VIDEO_CAPTURE
flags : 1
description : "MJPEG"
pixelformat : 0x47504a4d [MJPG]
VIDIOC_G_FMT(VIDEO_CAPTURE)
type : VIDEO_CAPTURE
fmt.pix.width : 640
fmt.pix.height : 480
fmt.pix.pixelformat : 0x56595559 [YUYV]
fmt.pix.field : NONE
fmt.pix.bytesperline : 1280
fmt.pix.sizeimage : 614400
fmt.pix.colorspace : SRGB
fmt.pix.priv : 0

controls
VIDIOC_QUERYCTRL(BASE+0)
id : 9963776
type : INTEGER
name : "Brightness"
minimum : 0
maximum : 255
step : 1
default_value : 128
flags : 0
VIDIOC_QUERYCTRL(BASE+1)
id : 9963777
type : INTEGER
name : "Contrast"
minimum : 0
maximum : 255
step : 1
default_value : 32
flags : 0
VIDIOC_QUERYCTRL(BASE+2)
id : 9963778
type : INTEGER
name : "Saturation"
minimum : 0
maximum : 255
step : 1
default_value : 32
flags : 0

  1.  

    1.  

      1. video4linux device info /dev/video0 ### general info
        VIDIOCGCAP
        name : "UVC Camera (046d:0821)"
        type : 0x1 [CAPTURE]
        channels : 1
        audios : 0
        maxwidth : 2592
        maxheight : 1944
        minwidth : 48
        minheight : 32

channels
VIDIOCGCHAN(0)
channel : 0
name : "Camera 1"
tuners : 0
flags : 0x0 []
type : CAMERA
norm : 0

tuner
ioctl VIDIOCGTUNER: Invalid argument

audio
ioctl VIDIOCGAUDIO: Invalid argument

picture
VIDIOCGPICT
brightness : 32896
hue : 0
colour : 8224
contrast : 8224
whiteness : 0
depth : 16
palette : YUYV

buffer
ioctl VIDIOCGFBUF: Invalid argument

window
VIDIOCGWIN
x : 0
y : 0
width : 640
height : 480
chromakey : 0
flags : 0

Lecture capture scenario testing with Logitech C910 webcam:
https://innovations.tamu-commerce.edu/index.php/2010/08/alternative-capture-agent-hardware/
http://innovations.tamu-commerce.edu/wp-content/uploads/2010/08/captureAgentTest.ogv

Activity

Show:
Luke Olson
September 13, 2010, 1:34 PM

Two quick notes. The Logitech C910 captures at a higher frame rate with MJPEG instead of the raw feed. Also there are other suitable HD webcams becoming available like this one from Microsoft.
http://www.engadget.com/2010/09/13/microsofts-1080p-lifecam-studio-review/

Christopher Brooks
September 16, 2010, 4:43 PM

More information in community request

A
September 16, 2010, 7:14 PM

assuming someone else would eventually do this.

Christopher Brooks
January 25, 2011, 3:35 AM

Adam, can you confirm that this is now done, and if so can you close this ticket and point to some docs?

Adam McKenzie
January 31, 2011, 11:31 PM

Fixed with the new Bin Builder pipeline, has instructions in the installation of the capture agent wiki documentation using:

capture.device.JPEGWebcam.type=CUSTOM_VIDEO_SRC
capture.device.JPEGWebcam.customProducer=v4l2src device=/dev/video2 ! image/jpeg,width=1920,framerate=30/1,rate=30 ! jpegdec ! ffmpegcolorspace
capture.device.JPEGWebcam.flavor=presenter/source
capture.device.JPEGWebcam.outputfile=Webcam.mpg
capture.device.JPEGWebcam.src=/dev/video2

To capture using the motion jpeg.

Assignee

Adam McKenzie

Reporter

Christopher Brooks

Tags (folksonomy)

Components

Fix versions

Affects versions

Priority

Trivial
Configure