Stk1160 Based USB 2 ("Easycap") Video Capture Cards
Stk1160 Based USB 2 ("Easycap") Video Capture Cards
Stk1160 Based USB 2 ("Easycap") Video Capture Cards
This article covers all the tunerless USB 2.0 video and audio capture devices which are based on the STK1160 chip from
Syntec Semiconductor.co.ltd. (http://www.stk.com.tw/product-01.asp?Product_Type=32). 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".
Contents
1 Overview/Features
1.1 Components Used
1.2 Other Images
1.3 Identification
1.3.1 Identify the audiotype of your device
2 Making it Work
2.1 Drivers
2.1.1 stk1160 driver
2.1.1.1 Enable sound capture
2.1.1.2 Limitations
2.1.1.2.1 AC'97 audio only
2.1.1.2.2 Framescaling is not supported
2.1.1.3 Known issues
2.1.1.4 Sourcecode
2.1.2 legacy easycap driver
2.1.2.1 easycap audio support
2.2 Sample Kernel Output
2.2.1 easycap module
2.2.2 stk1160 module
3 Usage
3.1 Example for mplayer
3.2 More programs
4 Short linux driver history
5 Summary
6 External Links
7 Full lsusb -v output
Overview/Features
USB ID 05e1:0408
USB 2.0 interface (USB 1.1 will not work, it's too slow).
Video capturing up to 720x576px @ 25fps (PAL) and 720x480px @ 30fps (NTSC)
https://linuxtv.org/wiki/index.php/Stk1160 1/11
1/11/2017 Stk1160 based USB 2.0 video and audio capture devices - LinuxTVWiki
v4l2-ctl -d /dev/video0 -i 1
Audioquality: Model 001 has AC'97 audio (48000 Hz samplerate), model 002 (and some models 001 where the AC'97
chip is missing) has mono microphone audio (8000 Hz samplerate).
Components Used
Other Images
Identification
# lsusb
Bus 001 Device 003: ID 05e1:0408 Syntek Semiconductor Co., Ltd STK1160 Video Capture Device
The following shell command reports the audiorate (sampling frequency) of your STK1160 based device:
Making it Work
STK1160 based devices ar supported under Linux since kernel 2.6.38
Drivers
stk1160 driver
The stk1160 driver is in the mainline kernel since version 3.7. It is the successor of the legacy easycap driver (see below).
The stk1160 module registers a control-only alsa soundcard. This sound card is called stk1160-mixer. The real sound capture
is done through the Controlle soundcard which is created after plugging in the STK1160 device by the snd_usb_audio
module.
On a fresh installed system, or if you have installed the driver by yourself, you once (!) need to enable sound capture from
stk1160-mixer in the mixer settings.
To enable sound capture you have to select in alsamixer the Line item on the capture menu for stk1160-mixer when the
STK1160 device is plugged in: You can do this in the terminal as well with this command:
Note! In the viewing- or capturing program you must then select the Controlle soundcard or its number to hear sound!
Limitations
The stk1160 module only supports audio capturing from the CVBS + S-Video Easycap with builtin AC'97 chip (3 chip stk1160
Easycap; 48000Hz model). Adding support for the 8 bit ADC in the stk1160 chip is planned in the future.
If you have the 4 CVBS model or the CVBS + S-Video model without AC'97 chip the dmesg messages look like this:
# dmesg
[12677.625434] usb 2-2: new high-speed USB device number 8 using ehci-pci
[12677.740513] usb 2-2: New device Syntek Semiconductor USB 2.0 Video
Capture Controller @ 480 Mbps (05e1:0408, interface 0, class 0)
[12677.740517] usb 2-2: video interface 0 found
[12678.217418] stk1160: driver ver 0.9.5 successfully loaded
[12678.220618] AC'97 0 access is not valid [0x0], removing mixer.
[12678.220623] stk1160: registers to NTSC like standard
[12678.221681] stk1160 2-2:1.0: V4L2 device registered as video1
https://linuxtv.org/wiki/index.php/Stk1160 3/11
1/11/2017 Stk1160 based USB 2.0 video and audio capture devices - LinuxTVWiki
In this case you maybe can get some crappy sound through the Controlle soundcard created by the snd_usb_audio module,
but if you want to capture hight quality sound you need to plug in the audio source to the Line in plug of your built-in soundcard.
(You only need to change the number of the sound device in the capturing program if you want to watch/ record video with
sound.)
Unlike the legacy easycapdriver the stk1160 driver doesn't support framescaling. This is important for some programs where
setting width and height of the video stream (e.g. Zonemeinder) is necessary. Other settings than 720x576 PAL or 720x480
NTSC may cause proplems with those programs.
Known issues
Easycap devices which have the gm7113 video decoder chip (saa7113 clone) inside don't work on stk1160 in kernel
under 3.11, but do work on the legacy easycap driver.
There is an unresolved problem with the sound capture. It is expressed in a constant background noise. Sound much
worse in stereo. Issue link. (http://marc.info/?l=linux-sound&m=139223599126215&w=2)
Audio chip is not recognized properly by the snd_usb_audio driver. But the default settings apply and it does not affect
the issue with the sound.
To one root hub port can connect only one device. Can connect multiple, but at the same time only one operate. This not
an power supply issue, since the device consumes only 200mA in operation mode. Number of devices that can
simultaneously connect to PC depends on the amount root hub ports.
The xhci_hcd driver in charge of USB 3.0 very often crashes when using the stk1160 driver. This happens when the video
turn on or off.
Sourcecode
If you want to use the stk1160 driver under previous kernels (3.2, 3.4 or 3.6 kernel only !), you can get the sourcecode frome
here:
Select the svideo2_for_3.2 version if you want to use the s-video input of yout stk1160 device.
The easycap driver is part of the kernel from 2.6.38 up to 3.6.x and supports all the features of the STK1160 based devices but
has some limitations (framedropping, stability, sound issues).
The eascap module supports audio from the 48000Hz and the 8000Hz models.
Often when the STK1160 device is plugged in the snd_usb_audio module conflicts with the easycap module and the
EasyALSA0 soundcard is not created. As a workaround you need to unplug the device, unload the module (rmmod
snd_usb_audio) and then plug in the device again.
https://linuxtv.org/wiki/index.php/Stk1160 4/11
1/11/2017 Stk1160 based USB 2.0 video and audio capture devices - LinuxTVWiki
If you encounter audio problems while capturing you need to specify the correct audiorate of your model (48000 or 8000) in the
capturing program.
easycap module
# dmesg
[ 250.728092] usb 1-2: new high speed USB device number 4 using ehci_hcd
[ 254.681355] easycap::0adjust_standard: selected standard: PAL_BGHIN
[ 254.992254] easycap::0adjust_format: sought: 640x480,UYVY(0x59565955),1=field,0x00=std mask
[ 254.992263] easycap::0adjust_format: sought: V4L2_FIELD_NONE
[ 254.992273] easycap::0adjust_format: actioning: 640x480 PAL_BGHIN_AT_640x480_FMT_UYVY-n
[ 255.016137] easycap::0adjust_brightness: adjusting brightness to 0x7F
[ 255.040149] easycap::0adjust_contrast: adjusting contrast to 0x3F
[ 255.064162] easycap::0adjust_saturation: adjusting saturation to 0x2F
[ 255.088173] easycap::0adjust_hue: adjusting hue to 0x00
[ 255.089557] easycap::0easycap_usb_probe: registered with videodev: 0=minor
[ 255.089565] easycap::0easycap_usb_probe: ends successfully for interface 0
[ 255.089713] easycap::0easycap_usb_probe: ends successfully for interface 1
[ 255.090017] easycap::0easycap_usb_probe: audio hardware is AC'97
[ 255.090485] easycap::0easycap_alsa_probe: registered EasyALSA0
[ 255.090492] easycap::0easycap_usb_probe: ends successfully for interface 2
[ 255.091910] easycap:: easycap_open: ==========OPEN=========
[ 255.161078] easycap::0audio_setup: 0x414C:0x4760 is audio vendor id
[ 255.181331] easycap::0audio_setup: 0x414C:0x4760 is audio vendor id
[ 255.263624] easycap::0audio_setup: 0x414C:0x4760 is audio vendor id
[ 255.345927] easycap::0audio_setup: 0x414C:0x4760 is audio vendor id
[ 255.432975] easycap::0audio_setup: 0x414C:0x4760 is audio vendor id
[ 255.525395] easycap::0audio_setup: 0x414C:0x4760 is audio vendor id
[ 255.631195] snd_pcm_update_hw_ptr0: 24 callbacks suppressed
[ 256.341308] easycap::0adjust_standard: selected standard: PAL_BGHIN
[ 256.652338] easycap::0adjust_format: sought: 640x480,UYVY(0x59565955),1=field,0x00=std mask
[ 256.652346] easycap::0adjust_format: sought: V4L2_FIELD_NONE
[ 256.652355] easycap::0adjust_format: actioning: 640x480 PAL_BGHIN_AT_640x480_FMT_UYVY-n
[ 256.676218] easycap::0adjust_brightness: adjusting brightness to 0x7F
[ 256.700233] easycap::0adjust_contrast: adjusting contrast to 0x3F
[ 256.724242] easycap::0adjust_saturation: adjusting saturation to 0x2F
[ 256.748129] easycap::0adjust_hue: adjusting hue to 0x00
stk1160 module
# dmesg
[16873.944081] usb 1-2: new high-speed USB device number 2 using ehci_hcd
[16874.892446] Linux video capture interface: v2.00
[16875.012940] usb 1-2: New device Syntek Semiconductor USB 2.0 Video Capture Controller @ 480 Mbps (05e1:0408, inte
[16875.012949] usb 1-2: video interface 0 found
[16875.836259] saa7115 14-0025: saa7113 found (1f7113d0e100000) @ 0x4a (stk1160)
[16877.372155] stk1160: driver ver 0.9.3 successfully loaded
[16877.469999] stk1160: registers to NTSC like standard
[16877.792436] stk1160 1-2:1.0: V4L2 device registered as video0
[16877.793733] usbcore: registered new interface driver snd-usb-audio
[16877.795409] usbcore: registered new interface driver stk1160
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).
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
https://linuxtv.org/wiki/index.php/Stk1160 5/11
1/11/2017 Stk1160 based USB 2.0 video and audio capture devices - LinuxTVWiki
the different inputs of your card you need to start the capturing program again with the next input number.
# cat /proc/asound/cards
If you encounter audio problems while capturing you need to specify the correct audiorate of your model in the
capturing program.
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:
More programs
These programs are known to be useful for analogue audio- and videocapturing with STK1160 based (and similar) devices.
Some people added changes in order to clean up the sourcecode. These changes didn't hardly affect the limitations
(framedropping, stability) of the driver.
https://linuxtv.org/wiki/index.php/Stk1160 6/11
1/11/2017 Stk1160 based USB 2.0 video and audio capture devices - LinuxTVWiki
In the 3.7 kernel release the legacy easycapdriver has been replaced by the stk1160 driver.
Summary
stk1160
audio: poor
video: good
stability: poor
easycap
audio: good
video: poor
stability: good (not tested fully)
External Links
easycap.blogspot.co.at (http://easycap.blogspot.co.at) Blog supporting STK1160 based EasyCAP devices
# lsusb -v
Bus 001 Device 002: ID 05e1:0408 Syntek Semiconductor Co., Ltd STK1160 Video Capture Device
Couldn't open device, some information will be missing
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x05e1 Syntek Semiconductor Co., Ltd
idProduct 0x0408 STK1160 Video Capture Device
bcdDevice 0.05
iManufacturer 1
iProduct 2
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 251
bNumInterfaces 3
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
(Bus Powered)
MaxPower 500mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
https://linuxtv.org/wiki/index.php/Stk1160 7/11
1/11/2017 Stk1160 based USB 2.0 video and audio capture devices - LinuxTVWiki
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 255 Vendor Specific Subclass
bInterfaceProtocol 255 Vendor Specific Protocol
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0000 1x 0 bytes
bInterval 5
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 1
Transfer Type Isochronous
Synch Type None
Usage Type Data
wMaxPacketSize 0x0000 1x 0 bytes
bInterval 1
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 1
bNumEndpoints 2
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 255 Vendor Specific Subclass
bInterfaceProtocol 255 Vendor Specific Protocol
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0002 1x 2 bytes
bInterval 5
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 1
Transfer Type Isochronous
Synch Type None
Usage Type Data
wMaxPacketSize 0x0300 1x 768 bytes
bInterval 1
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 2
bNumEndpoints 2
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 255 Vendor Specific Subclass
bInterfaceProtocol 255 Vendor Specific Protocol
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0002 1x 2 bytes
bInterval 5
Endpoint Descriptor:
bLength 7
https://linuxtv.org/wiki/index.php/Stk1160 8/11
1/11/2017 Stk1160 based USB 2.0 video and audio capture devices - LinuxTVWiki
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 1
Transfer Type Isochronous
Synch Type None
Usage Type Data
wMaxPacketSize 0x03fc 1x 1020 bytes
bInterval 1
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 3
bNumEndpoints 2
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 255 Vendor Specific Subclass
bInterfaceProtocol 255 Vendor Specific Protocol
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0002 1x 2 bytes
bInterval 5
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 1
Transfer Type Isochronous
Synch Type None
Usage Type Data
wMaxPacketSize 0x0400 1x 1024 bytes
bInterval 1
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 4
bNumEndpoints 2
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 255 Vendor Specific Subclass
bInterfaceProtocol 255 Vendor Specific Protocol
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0002 1x 2 bytes
bInterval 5
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 1
Transfer Type Isochronous
Synch Type None
Usage Type Data
wMaxPacketSize 0x0c00 2x 1024 bytes
bInterval 1
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 5
bNumEndpoints 2
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 255 Vendor Specific Subclass
bInterfaceProtocol 255 Vendor Specific Protocol
iInterface 0
https://linuxtv.org/wiki/index.php/Stk1160 9/11
1/11/2017 Stk1160 based USB 2.0 video and audio capture devices - LinuxTVWiki
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0002 1x 2 bytes
bInterval 5
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 1
Transfer Type Isochronous
Synch Type None
Usage Type Data
wMaxPacketSize 0x1400 3x 1024 bytes
bInterval 1
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 1 Audio
bInterfaceSubClass 1 Control Device
bInterfaceProtocol 0
iInterface 11
AudioControl Interface Descriptor:
bLength 9
bDescriptorType 36
bDescriptorSubtype 1 (HEADER)
bcdADC 1.00
wTotalLength 38
bInCollection 1
baInterfaceNr( 0) 2
AudioControl Interface Descriptor:
bLength 12
bDescriptorType 36
bDescriptorSubtype 2 (INPUT_TERMINAL)
bTerminalID 1
wTerminalType 0x0602 Digital Audio Interface
bAssocTerminal 0
bNrChannels 2
wChannelConfig 0x0003
Left Front (L)
Right Front (R)
iChannelNames 0
iTerminal 0
AudioControl Interface Descriptor:
bLength 9
bDescriptorType 36
bDescriptorSubtype 3 (OUTPUT_TERMINAL)
bTerminalID 2
wTerminalType 0x0101 USB Streaming
bAssocTerminal 0
bSourceID 3
iTerminal 0
AudioControl Interface Descriptor:
bLength 8
bDescriptorType 36
bDescriptorSubtype 6 (FEATURE_UNIT)
bUnitID 3
bSourceID 1
bControlSize 1
bmaControls( 0) 0x01
Mute Control
iFeature 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 2
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
https://linuxtv.org/wiki/index.php/Stk1160 10/11
1/11/2017 Stk1160 based USB 2.0 video and audio capture devices - LinuxTVWiki
bInterfaceProtocol 0
iInterface 11
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x84 EP 4 IN
bmAttributes 5
Transfer Type Isochronous
Synch Type Asynchronous
Usage Type Data
wMaxPacketSize 0x0000 1x 0 bytes
bInterval 1
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 2
bAlternateSetting 1
bNumEndpoints 1
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 0
iInterface 11
AudioStreaming Interface Descriptor:
bLength 7
bDescriptorType 36
bDescriptorSubtype 1 (AS_GENERAL)
bTerminalLink 2
bDelay 1 frames
wFormatTag 1 PCM
AudioStreaming Interface Descriptor:
bLength 11
bDescriptorType 36
bDescriptorSubtype 2 (FORMAT_TYPE)
bFormatType 1 (FORMAT_TYPE_I)
bNrChannels 2
bSubframeSize 2
bBitResolution 16
bSamFreqType 1 Discrete
tSamFreq[ 0] 48000
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x84 EP 4 IN
bmAttributes 5
Transfer Type Isochronous
Synch Type Asynchronous
Usage Type Data
wMaxPacketSize 0x0100 1x 256 bytes
bInterval 4
AudioControl Endpoint Descriptor:
bLength 7
bDescriptorType 37
bDescriptorSubtype 1 (EP_GENERAL)
bmAttributes 0x00
bLockDelayUnits 0 Undefined
wLockDelay 0 Undefined
https://linuxtv.org/wiki/index.php/Stk1160 11/11