Can't Capture Video

I am having the most wretched time trying to capture video using Kdenlive (or anything else for that matter). Any hints would be welcome.

My ultimate goal is to create a Let's Play video. I bought a Pinnacle Dazzle+ DVC100, which is an em28xx-based USB video capture device. The kernel recognizes the device without problem.

After fiddling around with it for far too long, I worked out how to view video from it using mplayer2:

mplayer2 tv:// -tv driver=v4l2:normid=0:width=720:height=480:forceaudio:immediatemode=0:amode=1:audiorate=48000:alsa:adevice=hw.1 -ao alsa

I also worked out how to see video using ffplay:

ffplay -f v4l2 -i /dev/video0

However, xawtv stutters all over the place, and cheese locks up eating 100% of a CPU core.

As a sort of last-ditch effort, I tried using the capture facilities in Kdenlive. I set up for an 'ffmpeg' capture from a video4linux2 device, set up the resolutions and frame rate, clicked the Play button... And nothing happened.

I tried launching Kdenlive from a terminal to see if any errors were printed out. This is what I found (apologies for the long line):

[video4linux2,v4l2 @ 0xa9004220] ioctl set time per frame(100/2997) failed
[video4linux2,v4l2 @ 0xa9004220] Cannot open video device video4linux2:/dev/video0?width:720&height:480&frame_rate:29.97 : No such file or directory

I have no idea what this means, or why any application would would expect opening a URI of "video4linux2:/dev/video0?..." to work.

I note that Kdenlive does seem to partially recognize the device, since it later prints out these messages:

detected format: 16 bpp YUY2, 4:2:2, packed: YUYV
Size: 48x720: 
detected format: 16 bpp RGB 565, LE: RGBP
Size: 48x720: 
detected format: 8 bpp Bayer BGBG..GRGR: BA81
Size: 48x720: 
detected format: 8 bpp Bayer GRGR..BGBG: GRBG
Size: 48x720: 
detected format: 8 bpp Bayer GBGB..RGRG: GBRG
Size: 48x720: 
detected format: 12 bpp YUV411: 411P
Size: 48x720:

This is consistent with the messages I've gotten from other V4L2 tools.

Anyone have any suggestions on what to try next? If I can't get this work in Linux, I may be stuck having to do it in Windows. Which would suck.