hasciicam(1)
π NAME π
hasciicam β (h)ascii for the masses! fr fr π
Okay bestie, you found it, this is the whole manual for hasciicam, coming at you from the General Commands Manual section, page hasciicam(1). Strap in π¦
β¨ SYNOPSIS β¨
hasciicam [ -hvq ] [ -m mode ] [ -d device ] [ -i input ] [ -o output ]
[ -f :user%pass@host:/dir ] [ rendering-options ]
Like. That's the whole vibe in two lines. Gorg.
πΈ DESCRIPTION πΈ
So hasciicam makes it possible to have live asciivideo on the web. No cap. It takes video from a capture device (think tv cards, quickcams, the whole little camera situation) and renders it into ascii, and then it formats that output into an html page with a refresh tag, or into a live ascii window, or into a simple text file as well. Which means β and this is the iconic part β you get to publish a live asciivideo feed on the web that anybody can browse without any need for browser's plugins. Periodt. π
hasciicam grabs frames using the Video4Linux api, renders them into ascii using the AA-lib engine, and is fully capable of armoring them with auto-refreshing HTML code. It's also using jpeglib for optionally refreshing a small jpeg image, so it can work also as a simple webcam (or show both at once β jpeg and asciivideo, because why choose π).
π OPTIONS π
-h,--helpβ displays a help text and quits. polite king.-v,--versionβ displays version and quits. go off π-q,--quietβ be quiet and don't show hardware detection. shhh π€«-m,--modeβ selects the mode in whichhasciicamwill run:liveβ uses the console (or eventually opens one under X display) to show full speed ascii video.htmlβ writes html formatted ascii video every refresh seconds into fileaafile.textβ writes plain text ascii video every refresh seconds into fileaafile.- Default mode is
live. Mode selection is XOR'ed. (yes literally XOR'ed, that's the actual word, don't come for me π)
-d,--deviceβ use the specified capture device. Default is/dev/video.-i,--inputβ selects the device's input channel to be used for grabbing frames. Default is1.-s,--sizeβ contextual size expressionWxH. Inhtmlmode it is interpreted as output character size. Inliveandtextmode it is interpreted as capture pixel size. context matters bestie β¨--pixel-sizeβ capture pixel size expressionWxH. If unsupported, the closest supported capture size is negotiated. Not allowed inhtmlmode. π«--char-sizeβ output character size expressionWxH.hasciicamderives a capture pixel target from this value.--sdl-rendererβ selects the SDL renderer backend for live SDL output:accelerated,software, orauto. Default isaccelerated.--sdl-vsyncβ controls SDL presentation sync for live SDL output:on,off, orauto. Default ison.--fullscreenβ starts live SDL output in desktop fullscreen mode. Press f to toggle fullscreen while running, or Escape to leave fullscreen. π₯οΈ--mirrorβ flips the camera image while sampling source pixels. Accepted values arex,-x,y, and-y. Horizontal mirrorxis enabled by default so live preview behaves like a mirror. Use--mirror -xto disable horizontal mirroring, and--mirror yto add vertical mirroring. mirror mirror on the wall πͺ--configβ loads startup configuration from the given TOML file. If omitted,HasciiCamchecks forhasciicam.tomlin the current working directory and loads it when present.--fontβ selects the bundled AA-lib bitmap font by short name, or prints available fonts with--font list. Example names includevga16,vga8, andcourier. cute fonts, obsessed.-o,--aafileβ defines the file where to save rendered ascii, overwrited every refresh seconds. Default ishasciicam.htmlwhen inhtmlmode,hasciicam.ascwhen intextmode (useless when inlivemode).--framesβ stops after N rendered frames. Useful for deterministic smoke tests. π₯-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)hasciicamasks 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. main character energy, gone but present π
π RENDERING-OPTIONS π
-S,--font-sizeβ selects a font size from1to4used in html rendering. default is1(only useful when inhtmlmode).-a,--font-faceβ selects a font face to be used in html rendering, it should be fixed size for better results. default iscourier(only useful when inhtmlmode).-r,--refreshβ specifies the refresh interval in seconds between each grabbed frame. Default is2(useless when inlivemode). tick tock β°-b,--aabrightβ specifies brightness level for theaa_render, from0to100. Default is60.-c,--aacontrastβ specifies contrast level for theaa_render, from0to100. Default is4.-g,--aagammaβ specifies gamma correction level for theaa_render, from0to100. Default is3.-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 is000000for black (only useful when inhtmlmode).-F,--foregroundβ specifies the foreground color to be used in the form of a hex RGB triplet (without the leading#). Default is00FF00for green (only useful when inhtmlmode).
π EXAMPLES π
hasciicam -m html -o watchme.html
puts your html formatted ascii into watchme.html β then just open it with your favourite browser. π¦
hasciicam -m text -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. slay π
πΈ ENVIRONMENT πΈ
HasciiCam also accepts launch configuration from lowercase environment variables that match canonical config keys. Startup TOML is loaded before environment variables, and command-line options have highest precedence. (order matters bestie, respect the hierarchy π)
Examples:
mode=html
output_file=frame.html
font_size=2
sdl_renderer=software
sdl_vsync=off
Canonical keys:
quiet mode device input pixel_size char_size output_file
aa_driver daemon
font_size font_face refresh aa_bright aa_contrast aa_gamma invert
background foreground font uid gid frames sdl_renderer sdl_vsync
fullscreen mirror
π CONFIG FILES π
HasciiCam loads hasciicam.toml from the current working directory at startup when it exists. Use --config path/to/file.toml to load a specific TOML file instead.
Example TOML:
mode = "text"
output_file = "hasciicam.asc"
device = "/dev/video0"
char_size = "80x25"
sdl_renderer = "software"
sdl_vsync = "off"
β 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. π
ngl bestie, don't freestyle the size with a usb webcam. pick something supported or the universe will pick for you and you will not like the results.
π BUGS π
Report bugs to hasciicam@dyne.org. Please include a complete, self-contained example that will allow the bug to be reproduced, information about which version of hasciicam you are using, which operative system and the complete device detection output.
like literally please include all of it, a bug report without repro steps is giving nothing π«Ά
π 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
and that's the whole page bestie, no notes, go make some ascii video π
hasciicam, from the General Commands Manual, dated July 16, 2001. that's the hasciicam(1) energy right there. mwah πβ¨
π¦ where this page comes from
- ubuntu stonking: hasciicam 2.2.0-1 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms