hasciicam(1)

NAME
hasciicam - (h)ascii for the masses!

SYNOPSIS
hasciicam [ -hvq ] [ -m mode ] [ -d device ] [ -i input ] [ -n norm ] [ -s size ] [ -o output ] [ -f :user%pass@host:/dir ] [ rendering-options ]

DESCRIPTION
hasciicam makes it possible to have live asciivideo on the web. It takes video from a capture device (like tv cards or quickcams) and renders it into ascii, formatting the output into an html page with a refresh tag or in a live ascii window or in a simple text file as well, giving the possiblity to publish on the web a live asciivideo feed browsable without any need for browser's plugins. hasciicam grabs frames using Video4Linux api, renders them into ascii using AA-lib engine and is capable of armoring them with auto-refreshing HTML code. It's being used also jpeglib for optionally refresh a small jpeg image, so that it can work also as a simple webcam (or showing both, jpeg and asciivideo).

OPTIONS

-h --help
    Display a help text and quit.

-v --version
    Display version and quit.

-q --quiet
    Be quiet and don't show hardware detection.

-m --mode
    Selects the mode in wich hasciicam will run:
    live will use the console (or eventually open one under X display) to show full speed ascii video.
    html will write html formatted ascii video every refresh seconds into file aafile.
    text will write plain text ascii video every refresh seconds into file aafile.
    Default mode is live. Mode selection is XOR'ed.

-d --device
    Use specified capture device. Default is /dev/video.

-i --input
    Selects the device's input channel to be used for grabbing frames. Default is 1.

-n --norm
    Selects video format to be used on tuner: pal | ntsc | secam | auto. Default is auto.

-s --size
    Sets rendered ascii frames size to WxH characters. Grabbed frame size is computed from this value, resulting into (W<<1)x(H<<1). Default is 96x72, or the minimum grabbing size supported by the device if greater.

-o --aafile
    Defines the file where to save rendered ascii, overwrited every refresh seconds. Default is hasciicam.html when in html mode, hasciicam.txt when in text mode (unuseful when in live mode).

-f --ftp
    Ftp pushes the selected output file to an ftp account specified within an expression like :user%pass@dyne.org:/home/user/www. If the password is not specified (omit %pass) hasciicam asks for it on stdin (hidden while typing). If the directory is not specified it is assumed to be the first ftp directory where user logs in. Remote file is refreshed depending on refresh rate and connection bandwidth, a scolopendro temporary file is created to keep clients on the other side refreshing smooth.

-D --daemon
    Forks to background and runs in daemon mode.

RENDERING-OPTIONS

-S --font-size
    Selects a font size from 1 to 4 used in html rendering. default is 1 (only useful when in html mode).

-a --font-face
    Selects a font face to be used in html rendering, it should be fixed size for better results. default is courier (only useful when in html mode).

-r --refresh
    Specifies the refresh interval in seconds between each grabbed frame. Default is 2 (unuseful when in live mode).

-b --aabright
    Specifies brightness level for the aa_render, from 0 to 100. Default is 60.

-c --aacontrast
    Specifies contrast level for the aa_render, from 0 to 100. Default is 4.

-g --aagamma
    Specifies gamma correction level for the aa_render, from 0 to 100. Default is 3.

-I --invert
    Invert and render the resulting negative ascii.

-B --background
    Specifies the background color to be used in the form of a hex RGB triplet (without the leading #). Default is 000000 for black (only useful when in html mode).

-F --foreground
    Specifies the foreground color to be used in the form of a hex RGB triplet (without the leading #). Default is 00FF00 for green (only useful when in html mode).

EXAMPLES
hasciicam -m html -o watchme.html
puts your html formatted ascii into watchme.html
hasciicam -m text -s79x24 -o ~/.plan
puts your ascii into your local .plan (fingercam) hasciicam -m html -S 2 -o index.html -f :jaromil%sasuchen@dyne.org:korova
generates an hascii video with font size +1 and uploads the frames in ftp passive mode on the dyne.org server, with user jaromil password sasuchen, inside the korova directory

NOTES
When using a usb webcam, a supported size needs to be specified. The minimum or maximum detected size should work, also a size of 160x120 mostly gives good results, with unsupported sizes you will get unexpected results.

BUGS
Report bugs to hasciicam@dyne.org. Please include a complete, self-contained example that will allow the bug to be reproduced, informations about which version of hasciicam you are using, which operative system and the complete device detection output.

AUTHOR
jaromil [aka Denis Roio] <jaromil@dyne.org>

COPYING
Copyright (c) 2001-2006 Denis Roio <jaromil@dyne.org>
Permission is granted to copy, distribute and/or modify this manual under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation. Permission is granted to make and distribute verbatim copies of this manual page provided the above copyright notice and this permission notice are preserved on all copies.

AVAILABILITY
The most recent version of hasciicam sourcecode and up to date documentation is always available for download from http://ascii.dyne.org.

SEE ALSO
info aalib