Difference between revisions of "Stk1160 based USB 2.0 video and audio capture devices"

From LinuxTVWiki
Jump to: navigation, search
(programs)
(add template)
Line 2: Line 2:
  
 
Many but not all of these devices are branded as [[Easycap]]. Althought this device is sold with different names and labels, in many forums and blogs this device is called "EasyCAP DC60".
 
Many but not all of these devices are branded as [[Easycap]]. Althought this device is sold with different names and labels, in many forums and blogs this device is called "EasyCAP DC60".
 +
 +
 +
 +
 +
 +
==Overview/Features==
 +
* USB 2.0 interface (USB 1.1 will not work, it's too slow).
 +
* Inputs: (Model 001) CVBS, S-VIDEO, AUDIO(L), AUDIO(R)
 +
* Inputs: (Model 002) 4 yellow input cables (CVBS) labelled 1, 2, 3, 4 and one white unlabelled audio cable
 +
* Audioquality: Model 001 has AC'97 audio (48000 Hz samplerate), model 002 (and some models 001 where the AC'97 chip is missing) has microphone audio (8000 Hz samplerate).
 +
 +
===Components Used===
 +
* stk1160 (USB bridge)
 +
* Silan SC8113 (Philips SAA7113 compatible A/V decoder)
 +
* AC'97 audio chip
 +
 +
===Other Images===
 +
<gallery perrow=5>
 +
Image:VideoMate_DVB-T220_box.jpg|VideoMate DVB-T220 Box
 +
Image:VideoMate_DVB-T220_remote.jpg|VideoMate DVB-T220 Remote
 +
</gallery>
 +
 +
===Identification===
 +
<span style="color:#009000">''Provide here, for PCI/PCIe devices, the relevant output of <code>lspci -vnn</code> or, in the case of USB devices, <code>lsusb -v </code>. We're particularly interested in the subsystem ID's. To make a code block simply make the first character of each line a space.  For example:''</span><br>
 +
# lspci -vvvnn
 +
04:03.0 Multimedia controller [0480]: Philips Semiconductors SAA7130 Video Broadcast Decoder [1131:7130] (rev 01)
 +
Subsystem: Compro Technology, Inc. Videomate DVB-T200 [185b:c901]
 +
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
 +
Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
 +
Latency: 84 (21000ns min, 8000ns max)
 +
Interrupt: pin A routed to IRQ 20
 +
Region 0: Memory at fdcfe000 (32-bit, non-prefetchable) [size=1K]
 +
Capabilities: [40] Power Management version 1
 +
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
 +
Status: D0 PME-Enable- DSel=0 DScale=1 PME-
 +
 +
==Making it Work==
 +
<span style="color:#009000">''Is it supported under Linux?  Are there experimental drivers? Does it partially work or identify as another card? (if yes, add this information below)''</span>
 +
 +
===Firmware===
 +
<span style="color:#009000">''Is there any firmware specific information for this device? if so, list it here. If your device doesn't require a firmware, simply mention that this is the case.''</span>
 +
 +
===Drivers===
 +
<span style="color:#009000">''Discuss the kernel driver modules used by the device here. Provide the details of where the drivers, any patches, and any other necessary tools are available.''</span> 
 +
 +
===Sample Kernel Output===
 +
<span style="color:#009000">''Provide the '''relevant''' portion of dmesg here.  For example:''</span><br>
 +
# dmesg
 +
[  45.569669] saa7130/34: v4l2 driver version 0.2.14 loaded
 +
[  45.569739] saa7130[0]: found at 0000:04:03.0, rev: 1, irq: 20, latency: 84, mmio: 0xfdcfe000
 +
[  45.569745] saa7130[0]: subsystem: 185b:c901, board: Compro Videomate DVB-T200 [card=71,autodetected]
 +
[  45.569753] saa7130[0]: board init: gpio is 843f00
 +
[  45.569809] input: saa7134 IR (Compro Videomate DV as /devices/pci0000:00/0000:00:1e.0/0000:04:03.0/input/input7
 +
[  45.755429] saa7130[0]: i2c eeprom 00: 5b 18 01 c9 54 20 1c 00 43 43 a9 1c 55 d2 b2 92
 +
[  45.755437] saa7130[0]: i2c eeprom 10: 00 ff 86 0f ff 20 ff ff ff ff ff ff ff ff ff ff
 +
[  45.755443] saa7130[0]: i2c eeprom 20: 01 40 01 03 03 ff 03 01 08 ff 00 88 ff ff ff ff
 +
[  45.755449] saa7130[0]: i2c eeprom 30: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
 +
[  45.755454] saa7130[0]: i2c eeprom 40: ff d5 00 c4 86 1e ff ff ff ff ff ff ff ff ff ff
 +
[  45.755460] saa7130[0]: i2c eeprom 50: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff cb
 +
[  45.755466] saa7130[0]: i2c eeprom 60: 30 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
 +
[  45.755471] saa7130[0]: i2c eeprom 70: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
 +
[  45.755478] saa7130[0]: Unexpected tuner type info: d5 in eeprom
 +
[  45.755532] saa7130[0]: registered device video0 [v4l2]
 +
[  45.755550] saa7130[0]: registered device vbi0
 +
[  45.873425] saa7134 ALSA driver for DMA sound loaded
 +
[  45.873448] saa7130[0]/alsa: saa7130[0] at 0xfdcfe000 irq 20 registered as card -2
 +
[  45.943354] saa7130[0]/dvb: frontend initialization failed
 +
 +
===Remote Control Support===
 +
<span style="color:#009000">''Discuss support for the remote control here.''</span>
 +
 +
===An Appropriate Title===
 +
<span style="color:#009000">''If deemed necessary, create an additional heading (using an appropriate title) and add anything else that you think might be relevant''</span>
 +
 +
==External Links==
 +
<span style="color:#009000">''Provide a link to the vendor's product page here along with any other external link to information that is generally helpful in relation to the device. For example:''</span><br>
 +
* [http://www.comprousa.com/en/product/t100t220/t220.html Compro T-220 product page]
 +
 +
 +
<span style="color:#009000">''Finally, the very last thing is to add a category. (Remove the nowiki tags). For example''</span><br>
 +
<nowiki>[[Category:DVB-T PCI Devices]]</nowiki>
 +
 +
 +
 +
 +
 +
 +
 +
  
 
== How to identify your device ==
 
== How to identify your device ==

Revision as of 15:08, 16 August 2012

This article covers all the tunerless USB 2.0 video and audio capture devices which are based on the STK1160 chip. This device is convenient for capturing from cameras, VHS-tapes, receivers ... and even for small surveillance installation (4 inputs model).

Many but not all of these devices are branded as Easycap. Althought this device is sold with different names and labels, in many forums and blogs this device is called "EasyCAP DC60".



Overview/Features

  • USB 2.0 interface (USB 1.1 will not work, it's too slow).
  • Inputs: (Model 001) CVBS, S-VIDEO, AUDIO(L), AUDIO(R)
  • Inputs: (Model 002) 4 yellow input cables (CVBS) labelled 1, 2, 3, 4 and one white unlabelled audio cable
  • Audioquality: Model 001 has AC'97 audio (48000 Hz samplerate), model 002 (and some models 001 where the AC'97 chip is missing) has microphone audio (8000 Hz samplerate).

Components Used

  • stk1160 (USB bridge)
  • Silan SC8113 (Philips SAA7113 compatible A/V decoder)
  • AC'97 audio chip

Other Images

Identification

Provide here, for PCI/PCIe devices, the relevant output of lspci -vnn or, in the case of USB devices, lsusb -v . We're particularly interested in the subsystem ID's. To make a code block simply make the first character of each line a space. For example:

# lspci -vvvnn
04:03.0 Multimedia controller [0480]: Philips Semiconductors SAA7130 Video Broadcast Decoder [1131:7130] (rev 01)
	Subsystem: Compro Technology, Inc. Videomate DVB-T200 [185b:c901]
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
	Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 84 (21000ns min, 8000ns max)
	Interrupt: pin A routed to IRQ 20
	Region 0: Memory at fdcfe000 (32-bit, non-prefetchable) [size=1K]
	Capabilities: [40] Power Management version 1
		Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
		Status: D0 PME-Enable- DSel=0 DScale=1 PME-

Making it Work

Is it supported under Linux? Are there experimental drivers? Does it partially work or identify as another card? (if yes, add this information below)

Firmware

Is there any firmware specific information for this device? if so, list it here. If your device doesn't require a firmware, simply mention that this is the case.

Drivers

Discuss the kernel driver modules used by the device here. Provide the details of where the drivers, any patches, and any other necessary tools are available.

Sample Kernel Output

Provide the relevant portion of dmesg here. For example:

# dmesg
[   45.569669] saa7130/34: v4l2 driver version 0.2.14 loaded
[   45.569739] saa7130[0]: found at 0000:04:03.0, rev: 1, irq: 20, latency: 84, mmio: 0xfdcfe000
[   45.569745] saa7130[0]: subsystem: 185b:c901, board: Compro Videomate DVB-T200 [card=71,autodetected]
[   45.569753] saa7130[0]: board init: gpio is 843f00
[   45.569809] input: saa7134 IR (Compro Videomate DV as /devices/pci0000:00/0000:00:1e.0/0000:04:03.0/input/input7
[   45.755429] saa7130[0]: i2c eeprom 00: 5b 18 01 c9 54 20 1c 00 43 43 a9 1c 55 d2 b2 92
[   45.755437] saa7130[0]: i2c eeprom 10: 00 ff 86 0f ff 20 ff ff ff ff ff ff ff ff ff ff
[   45.755443] saa7130[0]: i2c eeprom 20: 01 40 01 03 03 ff 03 01 08 ff 00 88 ff ff ff ff
[   45.755449] saa7130[0]: i2c eeprom 30: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[   45.755454] saa7130[0]: i2c eeprom 40: ff d5 00 c4 86 1e ff ff ff ff ff ff ff ff ff ff
[   45.755460] saa7130[0]: i2c eeprom 50: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff cb
[   45.755466] saa7130[0]: i2c eeprom 60: 30 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[   45.755471] saa7130[0]: i2c eeprom 70: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[   45.755478] saa7130[0]: Unexpected tuner type info: d5 in eeprom
[   45.755532] saa7130[0]: registered device video0 [v4l2]
[   45.755550] saa7130[0]: registered device vbi0
[   45.873425] saa7134 ALSA driver for DMA sound loaded
[   45.873448] saa7130[0]/alsa: saa7130[0] at 0xfdcfe000 irq 20 registered as card -2
[   45.943354] saa7130[0]/dvb: frontend initialization failed

Remote Control Support

Discuss support for the remote control here.

An Appropriate Title

If deemed necessary, create an additional heading (using an appropriate title) and add anything else that you think might be relevant

External Links

Provide a link to the vendor's product page here along with any other external link to information that is generally helpful in relation to the device. For example:


Finally, the very last thing is to add a category. (Remove the nowiki tags). For example
[[Category:DVB-T PCI Devices]]





How to identify your device

When lsusb reports the following output you have an STK1160 based video capture card:

 Bus 001 Device 002: ID 05e1:0408 Syntek Semiconductor Co., Ltd STK1160 Video Capture Device

Hardware

On the board of this USB 2.0 video capture device there is on the front side a green LED, the STK1160 USB Bridge and a SAA7113 compatible video processing chip (silan sc8113) and on the back side a AC97 audio chip (this chip is missing on the 8000 Hz audio models of this device). Dc60-front.jpg Dc60-back.jpg

Drivers

eaysycap driver

The easycap driver is part of the current kernel (since 2.6.38) and supports all the features of the STK1160 based devices but has some limitations (framedropping, stability, sound issues).

stk1160 driver

The stk1160 driver is the successor of the easycap driver. It supports video capturing and audio capturing via ALSA. This driver doesn't suffer from the limitations of the easycap driver but is still under development. It is intended that the stk1160 module will replace the easycap module in one of the next kernel releases.

stk1160 github repository

stk1160 sourcecode-zipball for kernel 3.2

Additional installation instructions

Models

Easycap.png

These known STK1160 based models of the video capture device are supported by the above mentioned drivers. All models do have the same USB device ID: 05e1:0408.

  • Model 001 with input cables labelled CVBS, S-VIDEO, AUDIO(L), AUDIO(R) and 48000 Hz audio (AC'97 audio)
  • Model 002 with 4 yellow input cables (CVBS) labelled 1, 2, 3, 4 and one white unlabelled audio cable and 8000 Hz audio (microphone audio)
  • Model 001m with input cables labelled CVBS, S-VIDEO, AUDIO(L), AUDIO(R) and 8000 Hz audio (microphone audio)

(Obviously this device has the board of Model 002 but the cables of Model 001)

Identify the audiotype of your device

The following shell command reports the audiorate (sampling frequency) of your STK1160 based device: (48000 = Model 001; 8000 = Model 001m or Model 002).

lsusb -v -d 05e1:0408 | grep tSamFreq | sed -e "s,^.* ,,"

If you encounter audio problems while capturing you need to specify the correct audiorate of your model in the capturing program.

Video inputs (channels)

From the two or four video cables on the device only one (!) can be used at the same time. If you want to switch through the different inputs of your card you need to start the capturing program again with the next input number.

Usage

The STK1160 device needs a USB 2.0 capable USB port. USB 1.1 will not work (it's too slow).

The driver for the STK1160 device creates a /dev/videoN node and an ALSA soundcard, The different video-inputs of the device can be accessed by their inputnumber (starting at 0).

In the viewing/ capturing program (e.g. mplayer) you must specify

  • the videodevicenode of the STK1160 card (/dev/videoN),
  • the input number of the cable where the source is plugged in,
  • the TV norm of the videosource and (e.g. PAL, NTSC)
  • the ALSA sounddevice if you want to capture audio (get a list with this command: cat /proc/asound/cards).

Example for mplayer

Assumed that your STK1160 device is the second videodevice (the first is your webcam) and the second soundcard on your system, and that on the first CVBS input a PAL camera is plugged in and sound also comes from the STK1160 device, the mplayer command for viewing would look like this:

mplayer tv:// -tv driver=v4l2:norm=PAL:width=720:height=576:outfmt=uyvy:device=/dev/video1:input=0:\
alsa:adevice=hw.1:forceaudio:immediatemode=0 -ao sdl

More programs

These programs are known to be useful for analogue audio- and videocapturing with STK1160 based (and similar) devices.

  • qv4l2 - useful for testing
  • mplayer and mencoder
  • mtvcgui - Python GUI for mplayer and mencoder
  • VLC
  • TVtime
  • avconv (libav; formerly ffmpeg)
  • Zoneminder - Linux surveillance suite
  • Any other program which is capable of analogue video- and audiocapturing will probably work with STK1160 devices.

Short linux driver history

In early 2010 Mike Thomas started developing a driver for the stk1160 based video capture device which is sold as EasyCAP DC60. Since the driver (version 0.9) has been added to the staging directory of the Linux kernel in November 2011 Mike Thomas stopped his development and support for the easycapdriver.

Some people added changes in order to clean up the sourcecode. These changes didn't hardly affect the limitations (framedropping, stability) of the driver.

At the middle of 2012 Ezequiel Garcia decided to rework the easycapdriver. He changed the drivers name to "stk1160".

In one of the next kernel releases (3.6/7) the stk1160 driver will come into mainlaine and replace the old easycapdriver.