fswebcam is a neat and simple webcam app. It captures images from a V4L1/V4L2 compatible device or file, averages them to reduce noise and draws a caption using the GD Graphics Library which also handles compressing the image to PNG or JPEG. The resulting image is saved to a file or sent to stdio where it can be piped to something like ncftpput or scp.
Latest version is fswebcam-20200725 tar.gz tar.xz
A public git repository is available here: http://codeberg.org/fsphil/fswebcam
fswebcam-20200725
- Return a non-zero if the capture fails.
- Add option to change camera timeout from default of 10 seconds.
(James McCormac)
- Add new Bayer palettes. (Eugen Hristev)
- Add WebP output support.
- Add option to dump raw frames to stdout. (Philipp Simon Schmidt)
- Add option to limit number of times to loop.
- Fix libgd 2.3.0+ issue where the font test always fails. (Ashley Dixon)
fswebcam-20140113
- New method of iterating over all V4L2 controls for a device. (Tom Bürgel)
- Fix: double free when both mmap and read fail. (Shayan Elhami)
- Remove duplicate 'frame' in help text. (Grozdan)
fswebcam-20110717
- Fixed crash when using --no-timestamp option.
- Cleaned up a few small compiler warnings.
- Fix pointer type in src_v4l2_set_fps() (hauptmech)
fswebcam-20101118
- Enable libgd fontconfig support if avaiable. Default font is now "sans:10".
- Add S561 compressed palette support.
- Fix small memory leak in the logging system.
- Add option to swap colour channels in the image.
fswebcam-20100622
- Add basic Y16 support. (16-bit greyscale, gets shifted down to 8-bit)
- A few fixes for the V4L1 source and other areas. (Pete Zaitcev)
- Format conversions have been separated out from fswebcam.c.
fswebcam-20100405
- Fix typo and add missing code for parsing --fps option. (Luca Niccoli)
fswebcam-20100401
- LDFLAGS should come after object files. (Thomas Spahni)
- Don't display banner if the font fails to load. (Luca Niccoli)
- Fix typos.
- Added SGBRG8 and SGRBG8 palette types (for V4L2 sources only).
- Added --fps option.
fswebcam-20091224
- Fix memset() error in src_v4l1.c introduced in yesterdays release.
(Thomas Spahni)
fswebcam-20091223
- Stop configure warning about datarootdir being ignored.
- Updated the videodev.h and videodev2.h header files.
- Corrected a number of memory leaks and a potential buffer overflow.
(Thomas Spahni)
- Escape minus signs in the man page. (Luca Niccoli)
- Removed debian/ subdirectory. (Luca Niccoli)
- Removed spec and ebuild files.
- Free mmap()'s on error.
- Stop skipping frames on error.
fswebcam-20070108
- Fixed R<>B channel swap when using [M]JPEG or PNG.
fswebcam-20061210
- Added syslog support via log command.
- Added pidfile command for saving the process ID (PID) to file.
- The output command has been replaced by the log command.
- Added framedump command for dumping the raw captured data to file.
- Added exec command for running external programs after capture.
- Removed unnecessary malloc.h includes, replaced with the more portable
stdlib.h where not already included. (Alexander Logvinov)
- Fixed small bug in and simplified the configure script.
- Fixed a bug where fswebcam wouldn't close a device if its file descriptor
was equal to zero. Affected RAW and V4L2 sources. (Dmitry Saychenko)
- The localtime command has been replaced by the new gmt command.
The local timezone is now used as the default.
- Added offset command to offset capture times in loop mode.
- Added file-based configuration support.
- Updated argument parser.
- Renamed RGB24 and RGB32 to BGR24 and BGR32, and added the real
RGB24 and RGB32 formats.
- Added signal handler for gracefully exiting loop mode, reloading
file-based configuration or for immediately capturing an image.
- Don't force an interlaced mode when using V4L2 source.
- Fixed RAW source to fail when no more data can be read from source.
- Added RAW source to the man page.
fswebcam-20060604
- Even more configure fixes.
- Added NV12MB palette type (for raw source only).
- Added raw source support.
- V4L1/V4L2 header files included with source.
- More V4L2 configure fixes. (Gary E. Miller)
fswebcam-20060424
- Improved V4L2 detection in configure script.
- Warn if there have been unsaved changes made to the image.
- Fixed a number of small message formatting errors.
- Fixed man page formatting.
- Be more verbose when adjusting to a new resolution. (Alexandre Bourget)
- Added MJPEG palette type.
fswebcam-20060415
- Many other small fixes and changes.
- Insert DHT segment if missing from MJPEG frames. (Scott J. Bertin)
- Properly sets up resolution for V4L1 sources.
- New autoconf based configuration system.
- Added read support to V4L1 and V4L2 sources (if mmap is unavailable),
and an option to force read.
- Loop and background modes, allowing the program to run as a daemon.
- New job queue allows multiple images to be output from a single run,
each with different attributes.
- Filenames are now processed by strftime().
- Inputs can now be specified by name.
- Tweaked the deinterlacer a bit more.
- Timeout when devices take too long delivering a frame.
- Added support for YUYV and UYVY colour formats.
- Added support for the "Bayer Encoding" colour format. (V4L2 only)
- New source system added, allowing for more source types. Including:
v4l2 - Captures images using the V4L2 API.
v4l1 - The old V4L1 capture code has been moved here.
file - Reads a JPEG or PNG image from disk.
test - Draws colour bars.
- Release mmap before device is closed.
- Changed some char's to int8_t's for platforms where char may be unsigned.
| motion | A software motion detector. It grabs images from video4linux devices and/or from webcams. |
| xawtv | A small suite of video4linux related software, with video recording capabilities and serveral useful command line tools - including a simple webcam tool. |
| Cheese | A GUI GStreamer-based webcam app. |
-Philip Heron <phil@sanslogic.co.uk>