Terratec Grabby and vcr
Posted at 2015-12-04.
I decided to try to grab some notes about video capture on Debian with a cheap Terratec Grabby.
Test the grabber
Plug in detects em2860 with a mixer and V4l2 interface:
kernel: usb 3-1.1: new high-speed USB device number 8 using ehci-pci kernel: usb 3-1.1: New USB device found, idVendor=0ccd, idProduct=0096 kernel: usb 3-1.1: New USB device strings: Mfr=2, Product=1, SerialNumber=0 kernel: usb 3-1.1: Product: TerraTec Grabby kernel: usb 3-1.1: Manufacturer: TerraTec Electronic GmbH mtp-probe: checking bus 3, device 8: "/sys/devices/pci0000:00/0000:00:1d.0/usb3/3-1/3-1.1" mtp-probe: bus: 3, device: 8 was not an MTP device kernel: media: Linux media interface: v0.10 kernel: Linux video capture interface: v2.00 kernel: em28xx: New device TerraTec Electronic GmbH TerraTec Grabby @ 480 Mbps (0ccd:0096, interface 0, class 0) kernel: em28xx: Video interface 0 found: isoc kernel: em28xx: chip ID is em2860 kernel: em2860 #0: EEPROM ID = 1a eb 67 95, EEPROM hash = 0x77daab95 kernel: em2860 #0: EEPROM info: kernel: em2860 #0: AC97 audio (5 sample rates) kernel: em2860 #0: 500mA max power kernel: em2860 #0: Table at offset 0x06, strings=0x229e, 0x346a, 0x0000 kernel: em2860 #0: Identified as Terratec Grabby (card=67) kernel: em2860 #0: analog set to isoc mode. kernel: em28xx audio device (0ccd:0096): interface 1, class 1 kernel: em28xx audio device (0ccd:0096): interface 2, class 1 kernel: usbcore: registered new interface driver em28xx kernel: em2860 #0: Registering V4L2 extension kernel: usbcore: registered new interface driver snd-usb-audio systemd-udevd: Process '/usr/sbin/alsactl -E HOME=/var/run/alsa restore 2' failed with exit code 99. kernel: saa7115 9-0025: saa7113 found @ 0x4a (em2860 #0) kernel: em2860 #0: Config register raw data: 0x50 kernel: em2860 #0: AC97 vendor ID = 0x83847652 kernel: em2860 #0: AC97 features = 0x6a90 kernel: em2860 #0: Sigmatel audio processor detected (stac 9752) kernel: em2860 #0: V4L2 video device registered as video0 kernel: em2860 #0: V4L2 VBI device registered as vbi0 kernel: em2860 #0: V4L2 extension successfully initialized kernel: em28xx: Registered (Em28xx v4l2 Extension) extension
Doesn't look like the button gets an event device.
$ mpv tv:// Playing: tv:// [tv] Selected driver: v4l2 [tv] name: Video 4 Linux 2 input [tv] Selected device: Terratec Grabby [tv] Capabilities: video capture VBI capture device audio read/write streaming [tv] supported norms: 0 = NTSC; 1 = NTSC-M; 2 = NTSC-M-JP; 3 = NTSC-M-KR; 4 = NTSC-443; 5 = PAL; 6 = PAL-BG; 7 = PAL-H; 8 = PAL-I; 9 = PAL-DK; 10 = PAL-M; 11 = PAL-N; 12 = PAL-Nc; 13 = PAL-60; 14 = SECAM; 15 = SECAM-B; 16 = SECAM-G; 17 = SECAM-H; 18 = SECAM-DK; 19 = SECAM-L; 20 = SECAM-Lc; [tv] inputs: 0 = Composite1; 1 = S-Video; [tv] Current input: 0 [tv] Current format: YUYV [tv] ioctl set format failed: Invalid argument [tv] ioctl set format failed: Invalid argument [tv] ioctl set format failed: Invalid argument [tv] Selected input hasn't got a tuner! (+) Video --vid=1 (rawvideo) Using conversion filter. VO: [opengl] 640x480 yuv422p V: 00:00:14 [tv] VIDIOC_DQBUF failed: Invalid argument [tv] VIDIOC_DQBUF failed: Invalid argument [tv] VIDIOC_DQBUF failed: Invalid argument [tv] VIDIOC_DQBUF failed: Invalid argument [tv] VIDIOC_DQBUF failed: Invalid argument [tv] VIDIOC_DQBUF failed: Invalid argument [tv] 361 frames successfully processed, 0 frames dropped. $ mpv pvr:// Playing: pvr:// [pvr] select channel list europe-east, entries 133 [pvr] Using device /dev/video0 [pvr] Detected Terratec Grabby [pvr] device do not support MPEG input. Failed to open pvr://. Exiting... (Errors when loading file)
Looks like there's output from the
tv (uncompressed stream) input.
But here I run into a classic fault.
The VCR doesn't turn the tape.
If I help the pulling wheel along, it starts to run, but stalls a few times
It might be that the drive belt has gone stiff.
Nicely, the loading mechanism in this one (Sony SLV-SE737) is by worm gear and
wheels, so the most common failure point doesn't exist.
After a few tries, the tape seems to be running smoothly.
Connect to a VCR
Naturally, all my SCART adapters are probably for input since there's no image of any kind. This is usually the case anyway. Nineties problems.
SCART pin numbering is fairly simple because of the asymmetrical (and otherwise massively annoying) connector. Essentially 21 is the missing pin (shield) and the row it's on is all odd numbers from there down. Even numbers are on the other line in staggered order much like a D connector. Whichever side you look at, you know the high pins are on the non-square end and low pins are on the square end. Figuring out exactly what the signals are and which ones are connected where can be a handful. There aren't that many options if you're making your own cable or adapter, though. One thing to note is which end of the cable you're in and are you connecting inputs or outputs.
Interesting pins should be:
- 1 Audio out R
- 3 Audio out L
- 15 S-video C out (and in)
- 19 S-video Y out (also composite)
Or at the other end
- 2 Audio in R
- 6 Audio in L
- 15 S-video C in (and out)
- 20 S-video Y in (also composite)
Also, there are separate ground pins (which might or might not work as intended):
- 4 Audio GND
- 17 Composite GND
- 21 Shield and chassis ground
S-video has two pairs of pins. If you look at the pins as a row (fan), the edgemost pins are ground and the middle pins are Y and C. These form two pairs intended for coaxial cables. Better check some pictures and make sure you're viewing the right side connector to tell which side is which. Also, the numbering will be funny.
Sometimes you can see it called "SVHS" and this is entirely wrong. S-VHS, like VHS, is a video tape format ("Super VHS"). S-video is a "separated video" using two signals. The names should be easy to remember, especially when you know that VHS is a tape. The intent on how grounds and shields relate is not exactly clear.
Realistically, there is probably no difference in playback image quality from composite or S-video as the tapes are so terrible. I do have a nice metal S-video connnector I was saving just for this kind of thing, but I can't remember where I put it. There is also a stereo out on the VCR, so I settled for a composite out adapter for now.
I can capture video with a script using mpv, but it will never seem to add an audio track. It seems to completely ignore any audio options. I will look into some other program, notably gstreamer. It will be more useful in the long run anyway.
I made a little gstreamer grab script and it works, but the results are not really worthy. Is it the grabber or could there be some options to make it better? I don't know at this point.