webcam(1)webcam(1)NAMEwebcam - capture images and upload them to a webserver using ftp
SYNOPSISwebcam [ config file ]
DESCRIPTIONwebcam captures images from a video4linux device like bttv, annotates
them and and uploads them to a webserver using ftp in a endless loop.
CONFIGURATION
At startup webcam reads the configuration from the given config file or
~/.webcamrc if none is specified in the command line.
The config file has at least two sections. The "grab" section holds
the capture parameters. Any other section describes where the image
should be uploaded. Older versions used "ftp" as name for that sec‐
tion. Recently the webcam utility got support for multiple connec‐
tions, thus any section name is accepted and you can have more than one
ftp section (you have to use another name for each section througth,
name them by upload servers for example).
Here is an sample config file (the given values are the defaults):
[grab]
device = /dev/video0
text = "webcam %Y-%m-%d %H:%M:%S"
infofile = filename
fg_red = 255
fg_green = 255
fg_blue = 255
width = 320
height = 240
delay = 3
wait = 0
input = composite1
norm = pal
rotate = 0
top = 0
left = 0
bottom = -1
right = -1
quality = 75
trigger = 0
once = 0
[ftp]
host = www
user = webcam
pass = xxxxxx
dir = public_html/images
file = webcam.jpeg
tmp = uploading.jpeg
passive = 1
debug = 0
auto = 0
local = 0
ssh = 0
sshs = 0
The annotation text is processed with strftime. Check the strftime(3)
or date(1) manpage to see how you can format the timestamps. The text
can also be read from a extern file (use infofile for that).
The default color for the text overlay is white (RGB=255,255,255).
Entries in the range of 0 through 255 for fg_red, fg_green, and fg_blue
can be used to define a different color. Likewise bg_red, bg_green,
and bg_blue can be used to set the background color (which defaults to
transparent).
input is the video source (television/composite/svideo/camera/what‐
ever), norm the TV norm. delay is the delay between two images in sec‐
onds. wait is the initial delay before the first image is grabbed
(some cameras need some time for adapting to lightning, thus don't
return images with reasonable quality within the first few seconds
...). quality is the JPEG quality for the stored images.
top, bottom, left, and right in the grab section allow cropping the
image after it is grabbed. They should satisfy 0<=top<bottom<=height
and 0<=left<right<=width. (0,0 is the top, left corner.) If rotate is
positive, the output image will be rotated counter-clockwise 90 degrees
that number of times (1, 2, or 3).
With trigger set to a non-zero value webcam will upload the image only
if the content of the image has changed. It just looks for the maximum
difference between the last uploaded and current image and if it is
greater than the specified value the image will be uploaded. If once
is set to 1 webcam will upload a single frame and quit.
archive can be used to create a (local) archive of the webcam images.
Just specify the filename for the files as argument. The filename will
be processed with strftime(3), so you can use the place the usual time
format controls into the string to get unique filenames. Non-existing
directories are created if needed.
If debug in the ftp section is set to 1 the complete communication
between webcam and the ftp utility is printed to stderr.
auto enables autologin via ~/.netrc (starts the ftp utility without the
'-n' switch, check the ftp(1) man page for more info about the ~/.netrc
file).
If local is set is non-zero, files will be stored locally (using the
dir, tmp, and file parameters) rather than ftped.
ssh set to non-zero makes webcam use ssh instead of ftp, with one ssh
connect per upload.
sshs set to non-zero makes webcam use ssh instead of ftp, with a sin‐
gle, permanent ssh connection to the server. This transfer mode sends
uuencoded data over the ssh connection and thus requires uuencode/uude‐
code (GNU sharutils have them) being installed on both machines
involved.
CORRECTION OF DISTORTION
contributed by Frederic Helin, the parameters belong into the [grab]
section of the config file too.
distor = 1
If distor param is set to 1, the correction of distortion works.
distor_k = 700
This is the coefficient of distortion. This algorithm is based
on the paper "Correcting Distortion of Image by Image Registra‐
tion" of Toru Tamaki, Tsuyoshi Yamamura and Noboru Ahnishi. More
your lens has an important distortion, more 'distor_k' must be
neared of 0. 700 is the d�fault value. Coefficient k of program
is x100 than article.
distor_cx = 192
distor_cy = 144
Coordinates of the lens optical axis: width/2 and height/2 are
the default values. The axis doesn't go through the image cen‐
ter. So, you can change its coordinates around the center of
image to affine correction.
distor_zoom = 30
Zoom parameter is used to cache the distorted borders of image,
if you don't like this. Default value is 100.
distor_sensorw = 320
distor_sensorh = 240
Dimensions of camera sensor. Default values are for 1/4p sensor.
This parameters used to have the same k coefficient than arti‐
cle.
AUTHOR
Gerd Knorr <kraxel@bytesex.org>
COPYRIGHT
Copyright (C) 1997-2002 Gerd Knorr
This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of MER‐
CHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
(c) 1998-2000 Gerd Knorr webcam(1)