Advice requested: What kind of video capture hardware is needed/will work?

Hello all!
On an older computer I used to have, I had an AGP ATI TV Wonder video capture card that the cable came directly from the cable box to a VCR to the S-Video in port. I was able to watch cable tv, VHS movies, or play Game Cube games on my pc. Now, I have Dish TV with a Hopper in the living room. A cable comes out of the Hopper, into my bedroom, and connects to a Joey. The Joey does not have a tuner, it uses one of the tuners in the Hopper. But it does have a remote control to change channels, or access the DVR in the Hopper. The “big” problem is that the only output it has is three RCA connectors: one video(yellow), two audio(red and white - left and right channels).

I’ve been looking online for a device that can connect these three RCA ports to a USB port. I’ve found lots of cheap devices… usually around $9. Of course, all these devices “require” some version of Windoze. My belief is that the requirements really relate to the included software, not the device itself.

One of the devices I’ve been looking at is: USB 2.0 Audio Video Easycap TV DVD VHS Capture Adapter. New USB 2 0 Audio Video Easycap TV DVD VHS Capture Adapter | eBay

Anyone know if this device will allow me to watch tv on OpenSuSE 12.3? Of course, I’d need to actually use something like Kaffeine or something, but would this setup work? I’d be using the Joey/Hopper as the tuner, I just need something to get the signal from the RCA cables into the PC.

Thanks in advance for any and all advice.
Cheers,
Terry.

Well, I posted my question on another forum and received a response including a link to Easycap - LinuxTVWiki. So, I went ahead and ordered one off Ebay. It was under $10 US including shipping, and the seller is located nearby. What the heck… if I can’t get it to work under OpenSuSE maybe it’ll work in a WinXP virtual machine. If that fails, I have another machine with WinXP, Plan9, and linux that it should work with…

After it arrives, I’ll post the results… If anyone is interested.:\

Cheers,
Terry.

Well, the EasyCap arrived today. To quote the LinuxTVWiki site:

USBTV007 EasyCAP
This EasyCAP is based on a single UTV007 labeled chip.
This device is sold as “USB video capture QS702” from SHENZHEN FUSHICAI ELECTRONIC CO.,LTD
lsusb reports

  • Manufacturer: Fushicai
  • Product: usbtv007

Components Used

  • Single chip: UTV007 A614231.1 1136L1BK
  • Inscriptions on the board: FSC VIDEO DVR

Indentification

lsusb

Bus XXX Device XXX: ID 1b71:3002

The LinuxTVWiki site, Easycap - LinuxTVWiki goes on to tell how to get it to work:

Making it work

Linux kernel driver, enable CONFIG_VIDEO_USBTV: usbtv « usb « media « drivers - kernel/git/torvalds/linux.git - Linux kernel source tree

  • From 3.11 (“Linux for Workgroups”) on: Supports NTSC, Composite input
  • Queued for 3.12: S-Video input
  • In works: Controls (brightness, …)

Also, a very experimental (for testing purposes only) userspace driver is available on github: http://github.com/memeruiz/usbtv007

  • Currently doesn’t do anything beyond what kernel driver does
  • Written using Python libusb1 and v4l bindings
  • Requires v4l loopback
  • Could be useful for easy protocol testing, prototyping

This is where I could use a little help. I went to the git.kernel.org site. There are three files there. I’m not sure what to do with them.
Thank You in advance for any help or advice.
Terry.

What kernel version do you have ? I think openSUSE-12.3 only has the 3.7.10 kernel, which is far from the 3.11 or 3.12 kernels.

openSUSE-13.1 is planned to come with the 3.11 kernel.

You could try testing with an openSUSE-13.1 liveDVD. If it works on 13.1 liveDVD, then if you wait just over a month, openSUSE-13.1 will be officially released.

Or you could try upgrading the kernel on your openSUSE-12.3 PC to the 3.11 version (either custom compile/build, or find a version on factory to use). BUT please note that is not a recommendation for you to proceed. Let me explain …

While I’m comfortable in updating the kernel on my PCs if pushed to do it, I prefer not to recommend this to someone else as if there are hiccups I don’t feel comfortable in providing internet support given the limits in my knowledge. Possibly wait until someone else chimes in with help on this thread.

Hello!

It might be that you don’t have to do anything other than to plug in the device if the driver is already in the kernel. The device(s) should be supported since kernel version 2.6.38.
Plug it in and try this command to see if it is listed:

lsusb

I have a Terratec Grabby: TERRATEC - Products - Video - Software Encoding - TERRATEC which I only use with video, I connect audio directly to my amp or sound-card.
I use MPlayer from command line and run it like this:

mplayer tv:// -tv driver=v4l2:width=720:height=576:device=/dev/video1 -vo xv -fps 65

To start with you could strip the command down and try:

mplayer tv:// -tv driver=v4l2:device=/dev/video[N]

Select the /dev/video[number] which correspond to the Easycap device on your system.
To list available v4l devices on your system:

ls /dev/video*

Olav

Thanks for responding oldcpu & F_Sauce!
My kernel version:

terryw@siliconpenguin:~> uname -r
3.7.10-1.16-pae

I don’t have a

/dev/video

device.

terryw@siliconpenguin:~> lsusb
Bus 001 Device 002: ID 050d:0234 Belkin Components F5U234 USB 2.0 4-Port Hub
Bus 001 Device 006: ID 1b71:3002
Bus 004 Device 002: ID 413c:2105 Dell Computer Corp. Model L100 Keyboard
Bus 005 Device 002: ID 0461:4d15 Primax Electronics, Ltd Dell Optical Mouse
Bus 006 Device 002: ID 0079:0006 DragonRise Inc. Generic USB Joystick
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

The second item is the USBTV007 EasyCAP.

This next section is more complete, if not much more useful.


lsusb -v
--SNIP--
Bus 001 Device 006: ID 1b71:3002  
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  idVendor           0x1b71 
  idProduct          0x3002 
  bcdDevice            1.00
  iManufacturer           3 fushicai
  iProduct                4 usbtv007
  iSerial                 2 300000000002
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           83
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              500mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           4
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      0 
      bInterfaceProtocol    255 
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0000  1x 0 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x84  EP 4 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               4
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       1
      bNumEndpoints           4
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      0 
      bInterfaceProtocol    255 
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x1400  3x 1024 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0100  1x 256 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x84  EP 4 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               4
Device Qualifier (for other device speed):
  bLength                10
  bDescriptorType         6
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  bNumConfigurations      1
Device Status:     0x0000
  (Bus Powered)

So we know what the model is anyway…
When I run the TVtime Television Viewer, the window comes up but reports there is no signal, and it says:

No such file or directory
Cannont open capture device /dev/video0.

And of course, that would be correct, there are no video* entries under /dev.

I haven’t compiled my own kernel for about 4.5-5 years, under OpenSuSE 10.3. I still have the directions on a sheet of notebook paper, and I know the current directions are always in the kernel source tree. I thought maybe I just needed to load a kernel driver/module. Maybe with a modprobe command. I was hoping that the three files at git.kernel.org would provide that driver?? Just not sure?

The LinuxTVWiki site, Easycap - LinuxTVWiki goes on to tell how to get it to work:
Making it work

Linux kernel driver, enable CONFIG_VIDEO_USBTV: https://git.kernel.org/cgit/linux/ke…edia/usb/usbtv

  • From 3.11 (“Linux for Workgroups”) on: Supports NTSC, Composite input
  • Queued for 3.12: S-Video input
  • In works: Controls (brightness, …)

So according to the above quote, the link is to a kernel driver that should work with my kernel? The 3.11 line, what the heck is “Linux for Workgroups”?? OMG, never mind(Win 3.1 and 3.11 WFWG)! Anyway, that looks like their saying with kernel version 3.11+, it supports NTSC, Composite input - without a kernel driver? Builtin? So if I upgrade my kernel to 3.11 I shouldn’t need a loadable kernel driver?

oldcpu, the best option would be trying out a liveDVD version with a 3.11 kernel. I’ve got an older machine with WinXP I wanna try, but I need to reinstall GRUB2, to repair the boot loader. That way I can at least verify that the device does function.

Thank you! Let me know what you think about the kernel driver option.
Cheers,
Terry.

nah, don’t bother … openSUSE has repos for new kernels (read: much easier! ;)) … but you shouldn’t even need to do this, as there is another avenue available to you.

I thought maybe I just needed to load a kernel driver/module. Maybe with a modprobe command. I was hoping that the three files at git.kernel.org would provide that driver?? Just not sure?
well, if a kernel module is available in 3.11, it certainly isn’t going to be available natively in an older kernel … kernel modules are built against a kernel

So according to the above quote, the link is to a kernel driver that should work with my kernel?
no, its for a 3.11 kernel

The 3.11 line, what the heck is “Linux for Workgroups”?? OMG, never mind(Win 3.1 and 3.11 WFWG)!
yeah, that threw me for a moment too… they just included the name Linus T. gives to the kernel releases … 3.11 happened to coincide roughly with the release of Win 3.1 back in the computing stone age.

Anyway, that looks like their saying with kernel version 3.11+, it supports NTSC, Composite input - without a kernel driver? Builtin?
sounds right to me. and for the forthcoming 3.12 kernel, the driver will feature s-video support

So if I upgrade my kernel to 3.11 I shouldn’t need a loadable kernel driver?
no, you need a kernel driver. its just that it is becomes available in the 3.11 kernel.

oldcpu, the best option would be trying out a liveDVD version with a 3.11 kernel. I’ve got an older machine with WinXP I wanna try, but I need to reinstall GRUB2, to repair the boot loader. That way I can at least verify that the device does function.

Thank you! Let me know what you think about the kernel driver option.
I’ve got a much better idea for you … let me introduce you to media_build… the latest drivers will be available through that, and you can build them against your current kernel and install them

err, lets try

I’ve got a much better idea for you (this is the other avenue available that I mentioned above)…

I have only compiled a kernel a few times, in all cases I used jdmcdaniel3’s script, which easily builds a kernel using the default openSUSE parameters.

The blog of his describing how to do this is here: https://forums.opensuse.org/blogs/jdmcdaniel3/opensuse-installing-new-linux-kernel-versions-134/ and you go to the ‘fourth’ (misspelled as ‘forth’ in his blog) way to install a new kernel.

A point of clarity - I’m not saying this is the best approach - IMHO if you can do this without changing the kernel it could be best. But thanks to jdmcdaniel3, and others who maintain the openSUSE factory/kernel repositories, there are different easy ways to do this.

The long and the short of it all…
The short answer is that I was able to get the device working under WinXP, audio and video, and with OpenSuSE 12.3, video only… so far.

The long answer:
I decided to get it working under WinXP first so I could tell the seller on eBay that all was good.
I thought all I had to do was reinstall the boot loader and I’d be able to access WinXP on this older machine - call it Bag End. Bag End had WinXP, Plan9, and Linux installed. Unfortunately, plan9 has a bad habit of completely borking up anything on the same drive. Format hard drive, install WinXP, install firefox(IE kept crashing!), install service pack 2, install the EasyCap driver, install the tv software… hey, it actually works! On to Linux. Using Tyler_K’s link:

How to Obtain, Build and Install V4L-DVB Device Drivers - LinuxTVWiki
I was able to download, build, and install the LinuxTV V4L-DVB drivers. After a reboot, I started up my TV app and had great video! unfortunately, no audio at all. It does mess up my audio though! This is actually funny, in order to get my audio back I have to plug my headphones into the front headphone jack, then unplug them. Somehow this resets something and I get audio back on the speakers? Very weird.

So, I have a way to watch or listen to tv in the bedroom - not a very satisfactory way, but it will work for right now.
I’m in the middle of a few projects right now so I’m gonna hold off on going the new kernel route. Just for now. Before the end of November I’ll probably be revisiting all this again. Perhaps the next version of OpenSuSE will be out by then with a 3.11 or 3.12 kernel?
Thank you for the help and input!
Cheers,
Terry.

Sorry, I misread what EasyCAP type device you had.

Some late suggestions regarding audio.

Perhaps you just need to select the correct audio capture device; if you use PulseAudio you could do that using pavucontrol I believe.
Linux EasyCAP Tutorial - YouTube (a different device than yours, I guess, but might be useful still)

Use this command to view currently active audio processes:


lsof /dev/snd/*

Also, it might be useful to know which modules are loaded (ALSA related modules in this case):

lsmod | grep snd

Olav

openSUSE 13.1 will feature a 3.11 kernel. But there is no need to move to a newer kernel now – the whole point of using media_build was that you get all the latest driver code that is available … i.e. that which is found in the newer kernels.

Howdy all!
To F_Sauce:

terryw@siliconpenguin:~> lsof /dev/snd/*
COMMAND    PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
pulseaudi 4057 terryw   22u   CHR  116,9      0t0 5849 /dev/snd/controlC1
pulseaudi 4057 terryw   23u   CHR  116,9      0t0 5849 /dev/snd/controlC1
pulseaudi 4057 terryw   30u   CHR  116,6      0t0 5845 /dev/snd/controlC0
pulseaudi 4057 terryw   31u   CHR  116,6      0t0 5845 /dev/snd/controlC0

and:

terryw@siliconpenguin:~> lsmod | grep snd
snd_hda_codec_hdmi     36052  1 
snd_hda_codec_realtek    71841  1 
snd_hda_intel          32794  4 
snd_hda_codec         128773  3 snd_hda_codec_hdmi,snd_hda_codec_realtek,snd_hda_intel
snd_hwdep              13273  1 snd_hda_codec
snd_pcm                97659  3 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec
snd_seq                63595  0 
snd_timer              24319  2 snd_pcm,snd_seq
snd_seq_device         14138  1 snd_seq
snd                    70562  17 snd_hda_codec_hdmi,snd_hda_codec_realtek,snd_hda_intel,snd_hda_codec,snd_hwdep,snd_pcm,snd_seq,snd_timer,snd_seq_device
soundcore              14600  1 snd
snd_page_alloc         14231  2 snd_hda_intel,snd_pcm

I’m not overly concerned right this minute with getting this to work on my OpenSuSE box. The EasyCap is a cheap, flaky, and used device. I’ve already had to crack it open and re-seat the cable connections… I’ve got it working on the WinXP box, and that’ll hold me until it dies or I buy an HD capture card. If I can’t afford a good HD card before this thing dies, I’ll probably buy another one, but a new one this time! How much can I expect for $10??

So, can anyone recommend a good HD capture card? With an HDMI input? That will work with OpenSuSE 12.3/13.x??

Tyler_K:
I can’t blame media_build for the following problem, but it started right after i went through setting it up. So this is what’s happening. Every time I turn the monitor off and then back on, the entire screen seems to be shifted around 50-100 pixels to the left. This also happens when logging in/out, or upon rebooting. The only thing that seems to help is using the controls on the monitor to reset it to “Factory Defaults”. While looking through the manual page for xorgconf(5), I’ve found the a reference to a “Mode” setting, which has a HSkew setting. Your suppossed to use a positive integer which will adjust the screen that many pixels to the right edge of the screen. Unfortunetly, OpenSuSE 12.3 doesn’t seem to use an xorg.conf file??? I did find a file, 50-monitor.conf, within the /etc/X11/xorg.conf.d directory. I think this might be the correct file to add this setting, but I’m not sure, and I’m not sure what the proper syntacs would be?

So, should I start a new thread to seek help for this question? What info would help? As allways, thank you for any and all help!

Cheers,
Terryw.