R.M. Thomas | 702422b | 2010-06-18 12:29:49 -0700 | [diff] [blame] | 1 | |
| 2 | *********************************************************** |
| 3 | * EasyCAP USB 2.0 Video Adapter with Audio, Model DC60 * |
| 4 | * and * |
| 5 | * EasyCAP002 4-Channel USB 2.0 DVR * |
| 6 | *********************************************************** |
| 7 | Mike Thomas <rmthomas@sciolus.org> |
| 8 | |
| 9 | |
| 10 | |
| 11 | SUPPORTED HARDWARE |
| 12 | ------------------ |
| 13 | |
| 14 | This driver is intended for use with hardware having USB ID 05e1:0408. |
| 15 | Two kinds of EasyCAP have this USB ID, namely: |
| 16 | |
| 17 | * EasyCAP USB 2.0 Video Adapter with Audio, Model DC60, |
| 18 | having input cables labelled CVBS, S-VIDEO, AUDIO(L), AUDIO(R) |
| 19 | |
| 20 | * EasyCAP002 4-Channel USB 2.0 DVR, having input cables labelled |
| 21 | 1, 2, 3, 4 and an unlabelled input cable for a microphone. |
| 22 | |
| 23 | |
| 24 | BUILD OPTIONS AND DEPENDENCIES |
| 25 | ------------------------------ |
| 26 | |
| 27 | If the parameter EASYCAP_IS_VIDEODEV_CLIENT is undefined during compilation |
| 28 | the built module is entirely independent of the videodev module, and when |
| 29 | the EasyCAP is physically plugged into a USB port the special files |
| 30 | /dev/easycap0 and /dev/easysnd1 are created as video and sound sources |
| 31 | respectively. |
| 32 | |
| 33 | If the parameter EASYCAP_IS_VIDEODEV_CLIENT is defined during compilation |
| 34 | the built easycap module is configured to register with the videodev module, |
| 35 | in which case the special files created when the EasyCAP is plugged in are |
| 36 | /dev/video0 and /dev/easysnd0. Use of the easycap module as a client of |
| 37 | the videodev module has received very little testing as of June 2010. |
| 38 | |
| 39 | |
| 40 | KNOWN BUILD PROBLEMS |
| 41 | -------------------- |
| 42 | |
| 43 | (1) Recent gcc versions may generate the message: |
| 44 | |
| 45 | warning: the frame size of .... bytes is larger than 1024 bytes |
| 46 | |
| 47 | This warning can be suppressed by specifying in the Makefile: |
| 48 | |
| 49 | EXTRA_CFLAGS += -Wframe-larger-than=8192 |
| 50 | |
| 51 | but it would be preferable to remove the cause of the warning. |
| 52 | |
| 53 | |
| 54 | KNOWN RUNTIME ISSUES |
| 55 | -------------------- |
| 56 | |
| 57 | (1) Randomly (maybe 5 to 10% of occasions) the driver fails to produce any |
| 58 | output at start-up. Closing mplayer (or whatever the user program is) and |
| 59 | restarting it restores normal performance without any other remedial action |
| 60 | being necessary. The reason for this is not known. |
| 61 | |
| 62 | (2) Intentionally, this driver will not stream material which is unambiguously |
| 63 | identified by the hardware as copy-protected. The video output will freeze |
| 64 | within about a minute when this situation arises. |
| 65 | |
| 66 | (3) The controls for luminance, contrast, saturation, hue and volume may not |
| 67 | always work properly. |
| 68 | |
| 69 | (4) Reduced-resolution S-Video seems to suffer from moire artefacts. No |
| 70 | attempt has yet been made to rememdy this. |
| 71 | |
| 72 | |
| 73 | SUPPORTED TV STANDARDS AND RESOLUTIONS |
| 74 | -------------------------------------- |
| 75 | |
| 76 | The following TV standards are natively supported by the hardware and are |
| 77 | usable as (for example) the "norm=" parameter in the mplayer command: |
| 78 | |
| 79 | PAL_BGHIN, NTSC_N_443, |
| 80 | PAL_Nc, NTSC_N, |
| 81 | SECAM, NTSC_M, NTSC_M_JP, |
| 82 | PAL_60, NTSC_443, |
| 83 | PAL_M. |
| 84 | |
| 85 | The available picture sizes are: |
| 86 | |
| 87 | at 25 frames per second: 720x576, 704x576, 640x480, 360x288, 320x240; |
| 88 | at 30 frames per second: 720x480, 640x480, 360x240, 320x240; |
| 89 | |
| 90 | |
| 91 | WHAT'S TESTED AND WHAT'S NOT |
| 92 | ---------------------------- |
| 93 | |
| 94 | This driver is known to work with mplayer, mencoder, tvtime and sufficiently |
| 95 | recent versions of vlc. An interface to ffmpeg is implemented, but serious |
| 96 | audio-video synchronization problems remain. |
| 97 | |
| 98 | The driver is designed to support all the TV standards accepted by the |
| 99 | hardware, but as yet it has actually been tested on only a few of these. |
| 100 | |
| 101 | I have been unable to test and calibrate the S-video input myself because I |
| 102 | do not possess any equipment with S-video output. |
| 103 | |
| 104 | This driver does not understand the V4L1 IOCTL commands, so programs such |
| 105 | as camorama are not compatible. There are reports that the driver does |
| 106 | work with sufficiently recent (V4L2) versions of zoneminder, but I have not |
| 107 | attempted to confirm this myself. |
| 108 | |
| 109 | |
| 110 | UDEV RULES |
| 111 | ---------- |
| 112 | |
| 113 | In order that the special files /dev/easycap0 and /dev/easysnd1 are created |
| 114 | with conveniently relaxed permissions when the EasyCAP is plugged in, a file |
| 115 | is preferably to be provided in directory /etc/udev/rules.d with content: |
| 116 | |
| 117 | ACTION!="add|change", GOTO="easycap_rules_end" |
| 118 | ATTRS{idVendor}=="05e1", ATTRS{idProduct}=="0408", \ |
| 119 | MODE="0666", OWNER="root", GROUP="root" |
| 120 | LABEL="easycap_rules_end" |
| 121 | |
| 122 | |
| 123 | ACKNOWLEGEMENTS AND REFERENCES |
| 124 | ------------------------------ |
| 125 | This driver makes use of information contained in the Syntek Semicon DC-1125 |
| 126 | Driver, presently maintained at http://sourceforge.net/projects/syntekdriver/ |
| 127 | by Nicolas Vivien. Particularly useful has been a patch to the latter driver |
| 128 | provided by Ivor Hewitt in January 2009. The NTSC implementation is taken |
| 129 | from the work of Ben Trask. |
| 130 | |