Experiences with the easycap DC60 audio and video capture adapter on Linux

This Blog is dedicated to all owners of the STK1160 chip based EasyCAP (or identical) devices, who want to use it under Linux.

Activating audio for the STK1160 device: read the this post

German speaking users: read my article on ubuntuusers.de

The EasyCAP DC60 and its clones are cheap little USB analogue capturing devices which can be used for viewing and recording video under Linux from different sources like VHS tape recorders, satellitereceivers, camcorders ...

EasyCAP DC60

The informations about the STK1160 based EasyCAP DC60 have a new home:

I've put together all the earlier informations from this blog about the EasyCAP DC60 below the line. 

If you want to install at any reason the easycapdriver by yourself follow the "Easycapdriver installation instructions" below.

EasyCAP DC60 (STK1160 based EasyCAP) overview

  • Stk1160 driver
    The stk1160 driver is the successor of the easycapdriver and will replace the easycap module in the 3.7 kernel release.
    More information in this post: New driver for EasyCAP DC60 - stk1160
  • Easycapriver
    The EasyCAP DC60 works out of the box with Ubuntu 11.04 (no audio support), Ubuntu 11.10 (full ALSA audio support) and all the other newer distros since the easycapdriver is now part of the kernel release (since kernel 2.6.38).
    Read more on the  page Devices and drivers.
    • Driver conflicts
      • Sound problem:
        The audio part of the easycapdriver coming with the kernel conflicts with the snd_usb_audio module. So the EasyALSA0 soundcard is not created and you will hear no sound.
        Plug out the EasyCAP and run as root in the terminal:
        rmmod snd_usb_audio
        Now plug it in again and the soundcard will be created.
      • If you have the stk11xx driver installed it will conflict with the easycapdriver.
    • Easycapdriver features
      • The different EasyCAP DC60 devices support video capturing up to
        720 x 576 px at 22.75 (!) fps (PAL) and
        720 x 480 px at ~ 30 fps (NTSC;  ).
      • The easycapdriver supports all the inputs of  the EasyCAP DC60 devices and it supports multiple EasyCAPs on one Computer.
      • The audioquality depends on the model and is either 48000Hz or 8000Hz.
        Read more on the Devices page.
    • Easycapdriver limitations
      • The recent easycapdriver only supports 22.75 frames per second (PAL) and not 25 fps as mentioned in the README.
        You can avoid framedropping with mplayer when you specify

        in the mplayer command. Because of this lower framerate the picture is poorer than at 25 fps.
      • The easycapdriver shuts down on copyprotected VHS tapes. 
      • The EasyCAP needs a USB 2.0 connection.
      • Read more on the Troubleshooting  page.
  • Other drivers: 

    • 2. The AstroEasyCap device driver is a (outdated) branch of an older version of the linux EasyCAP DC60 driver for astronomical purpose. http://sourceforge.net/projects/astroeasycap/
    • 3. The syntekdriver (stk11xx), developed by Nicolas Vivien, is a Linux device driver for some webcam models. Audio is not supported by this driver. http://sourceforge.net/projects/syntekdriver/
      This driver was the basis material for the easycapdriver.
      • A patched 1.4 stk11xx version supports the EasyCAP DC60 device on previous linux kernel versions. (<=2.6.28; Ubuntu 9.04)
        This thread declares, how to patch and install the 1.4 version of the stk11xx driver:
      • The latest stk11xx driver (2.2) from svn compiles on kernels >= 2.6.28 and 3.x.x but it is not recommended to use it with the EasyCAP DC60.
        Although the EasyCAP DC60 is reconized by the driver and /dev/video0 is created, it only produces b&w video with vlc and it crashes the whole system ! when used with mplayer.

        Note: If you have a webcam which is supported by this driver and you want to use a EasyCAP DC60 device on your system, a driver conflict may occur.

        If you want to test this driver with your EasyCAP DC60 (you have been warned), run this command in the terminal to download the sourcecode:

        svn co https://syntekdriver.svn.sourceforge.net/svnroot/syntekdriver/trunk syntekdriver

        In the README file coming with the drivers source the installation of the driver is described.

Easycapdriver installation instructions

Note: These instructions are only needed on Linux distros with a kernel prior than 2.6.38 (e.g. Ubuntu 10.04) or for testing reasons!

Required software for easycap driver installation
- C compiler (gcc and depending files)
- Kernel-header files
- Mplayer / mencoder

- If you want to compile the driver with OSS support:
alsa-oss package and Sox with oss support (libsox-fmt-oss package on ubuntu/debian)
Step by step installation guide
  1. Plug in your device and type
    on the commandline.
    If you see an output like this
    ID 05e1:0408 Syntek Semiconductor Co., Ltd
    then you have the EasyCAP DC 60 or an identical device.
  2. This driver works with the four inputs device: yellow (CVBS), black (SVHS), red (audio R), white (audio L)
    and with the five inputs device: four yellow inputs (CVBS 1,2,3,4) , one white input (audio)
  3. Download the driver from here
  4. Unpack the source package and read through the README file in your favourite editor. 
  5. If you have a Linux distro with kernel 3.0.x (this instruction is not tested with later kernels than 3.0.x) follow these instructions:
    • Installing the Easycapdriver on Linux distros with  kernel 3.0

      If you try to install the easycapdriver with kernel 3.x (Ubuntu 11.10 and later) manually, you'll get an error message.

      Open the file 
      in any editor and comment out line 28 (or delete ist): 

      Line 28 commented out:
      /* # Include < linux/smp_lock.h > */
      Afterwards save the file and the easycapdriver should install on Linux with kernel 3.x without problems.
  6. If you want to install the driver rather with OSS support than ALSA, modify the ./install.sh file following the instructions in the README file
  7. Plug out the device before installing the driver
  8. Run the ./install.sh skript from the easycap directory
  9. If ./install.sh reports ok, plug in the device
    Always connect the device directly to the USB 2.0 port of your PC, never via USB-hub, else the device won't work properly.
  10. Type dmesg on the commandline:
    You should see messages like these
    (Example is from the CVBS, SVHS, audio R, audio L model):

    [  665.884054] usb 1-2: new high speed USB device using ehci_hcd and address 3
    [  666.016934] usb 1-2: configuration #1 chosen from 1 choice
    [  666.019801] easycap: easycap_usb_probe: easycap attached to minor #192
    [  666.020646] easycap: easycap_usb_probe: hardware is CVBS+S-VIDEO
    [  666.020822] easycap: easycap_usb_probe: easysnd attached to minor #193
  11.  NOTE: Only one /dev/videoX node is created by the easycapdriver.
    In the viewing/ capturing program the INPUT NUMBER has to be set addidionally to the videodevice.
    - Only one input can be used at the same time.
    - The inputs on the EasyCAP DC60 are : CVBS = 0 or 1; S-VIDEO = 5.
    - The video inputs on the "5 inputs EasyCAP" are numbered from 1 - 4.
  12. The installationscript creates udev rules, so that unprivileged users do have read/ write access  to /dev/video0 (or  /dev/easycap0 ) and /dev/easysnd1 (OSS) or EasyALSA0 (ALSA).
    If this doesn't work, run ./permit.sh from the easycap directory,
    or type as root
    chmod a+rw /dev/easy*
    on the commandline
  13. Now, if any audio/video source is connected to the device,
    run a test script (see README) from the drivers source directory according to your video source (PAL or NTSC) and EasyCAP model.
    After 5 to 10 seconds an mplayer window appears, showing a moving picture, sound will be present.
  14. Open the test scripts with any editor to see some more options.
    Support for tvtime or vlc is also provided.
  15. If anything goes wrong, see the README file, that comes with the driver, try some of the different test scripts in the source directory or see Troubleshooting page