OVERVIEW
light_cap is a GPL-licensed lightweight multipart-JPEG (mpjpeg) webcam server.
It captures frames from a Video4Linux source (using the libvideo C wrapper
library), and sends them in an mpjpeg stream, suitable for viewing
instandard-compliant web browsers in img tags (ie, without the help of a Java
applet or anything else).
light_cap opens a TCP port and waits for incoming connections. light_cap parses
the URL and either start sending the mpjpeg stream (/webcam URL) or sends an 
HTML page with a list of video parameters to tune the capture. Typical
parameters include brightness, contrast, saturation, and any device-specific
control.
Accessing the light_cap server is most easily done via a web browser:
- point your browser to "http://your_ip_address:light_cap_port/list" to view
  the video parameters and change them.
- point your browser to "http://your_ip_address:light_cap_port/webcam" to view
  the webcam stream. Under Linux, you can also use the command ffplay (part of
  the ffmpeg package) to view the webcam stream:
  ffplay -f mjpeg http:///your_ip_address:light_cap_port/webcam
  Video Lan Client (VLC) can also be used.

REQUIREMENTS:
- a V4L video source
- libjpeg and its development files (required for libvideo)
- a network connection

COMPILATION:
To compile light_cap, you need the development files for libjpeg.
Run "make".

USAGE:
In order to start light_cap, you have to provide the following arguments:
- the path to the device file you want to use (eg /dev/video0).
- the requested width of captured frames.
- the requested height of captured frames.
- the channel to be captured (0 for webcams); this parameter is not used when
  capturing from webcams. However, capture cards have multiple capture channels
  This is where you specify which is light_cap should use.
- the video standard use for the capture; here again, this parameter is not 
  used when capturing from webcams; however, captures cards usually support
  multiple video standards. This is where you specify which one to use:
  0: webcam, 1: PAL, 2: SECAM, 3:NTSC
- jpeg_quality: the compression factor used to compress the raw frames into
  JPEG frames. A value between 0 and 100 is expected, 0 being the lowest
  quality (higest compression) and 100 the highest quality (lowest compression)
- fps: the requested number of frames per second. Beware that most webcams are
  only capable of 10 frames per second. Capture cards usually achieve 25 fps
- verbosity: a value (between 0 and 3 inclusive) specifying how much you want
  printed on you terminal
- port: the TCP port number on which light_cap should listen. Note that ports
  below 1024 are usually reserved and accessible only by the administrator

KNOWN ISSUES:
At present, light_cap allows only one connection to the webcam stream at a time.
The image palettes supported at present are JPEG, MJPEG, YUV420, RGB24 & YUYV. 
This means if your video device does not support these palettes, light_cap wont
work. (Most do support at least one of them).

DEBUGGING:
You can compile both the wrapper library libvideo and light_cap with extra debug 
output:
recompile light_cap with "DEBUG=1 make"
Running light_cap will then produce a lot more output to track down issues.

ISSUES:
Feedback is is greatly appreciated, specially because libvideo and light_cap 
have only been tested with a very limited number of webcams and capture cards.
Issues and queries can be emailed to v4l4j@googlegroups.com along with a
description of what went wrong and what hardware you run libvideo on.
