summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjaromil <jaromil@383723c8-4afa-0310-b8a8-b1afb83214fc>2003-07-22 19:27:54 (GMT)
committer jaromil <jaromil@383723c8-4afa-0310-b8a8-b1afb83214fc>2003-07-22 19:27:54 (GMT)
commit16d338bbb3d013b7f33bd81638f532416a059ea3 (patch)
tree91d41ae46aff387cdee78bad48987bcf14cc5989
parented6f0921a2df3d02126149dee6e2bd407dc45b2f (diff)
documentation updates for 1.0 release
git-svn-id: svn://dyne.org/rastasoft/hasciicam@506 383723c8-4afa-0310-b8a8-b1afb83214fc
-rw-r--r--hasciicam/AUTHORS18
-rw-r--r--hasciicam/ChangeLog23
-rw-r--r--hasciicam/README40
-rw-r--r--hasciicam/hasciicam.113
-rw-r--r--hasciicam/hasciicam.c15
5 files changed, 70 insertions, 39 deletions
diff --git a/hasciicam/AUTHORS b/hasciicam/AUTHORS
index 6c612c9..69f0369 100644
--- a/hasciicam/AUTHORS
+++ b/hasciicam/AUTHORS
@@ -1,14 +1,16 @@
HasciiCam is being developed and mantained by:
-# denis roio aka jaromil <jaromil@dyne.org>
+# denis rojo aka jaromil http://rastasoft.org
people who contributed to the hasciicam project:
-# aalib crew - the amazing ascii art rendering library
-# gerd knorr - hasciicam is written on his webcam sourcecode
-# mathop - help on css with style
+# jan hubicka and the aalib crew - the asci rendering library
+# gerd knorr - grab was inspired by his webcam sourcecode
+# mathop aka josto - help on css with style
# august black - hacks for iomegabuz
# boffh - hacks for usb cams
-# martin guy (freaknet.org) - karma to avoid buffer overflows
+# martin guy - karma to avoid buffer overflows
# rat - text dump
-# pbm & megabug (loa.hacklab.it) - exploring new ascii frontiers
-# rapid - security and many bugfixes
-# alessandro preite martinez - sgi irix support and image resampling \ No newline at end of file
+# pbm & megabug - watching ascii horizons
+# rapid - security and bugfixes
+# alessandro preite martinez - sgi irix support (0.9)
+# thomas pfau - ftp library
+
diff --git a/hasciicam/ChangeLog b/hasciicam/ChangeLog
index e69de29..73ebe0b 100644
--- a/hasciicam/ChangeLog
+++ b/hasciicam/ChangeLog
@@ -0,0 +1,23 @@
+
+arg. i never kept a ChangeLog of this software
+
+anyway this last release fix an important bug
+
+hasciicam wasn't working on recent linux kernels, no way.
+
+if you had a bad experience in trying it out before, now it should work.
+
+only philips webcams are still not supported, better said all webcams
+using a pwc driver. i'll try to find the time to fix it, meanwhile you can use this hacked version:
+http://www.phrat.de/hasciicam-pwc-0.2.tar.gz
+but you may experience some problems with the ftp code...
+
+in fact also the ftp code of this hasciicam is working better: it has been substituted with ftplib and now passive mode is supported from the commandline
+
+also the manual has been updated.
+
+have phun :)
+
+-- jaromil http://rastasoft.org
+
+anyway this last release includes an important fix: in fact hasciicam wasn't working with the latest kernel serie, since grab is limited to some YUV formats by all the video4linux drivers around (it was about Alan Cox observation of keeping YUV->RGB conversion code out of the kernel, delivering it to user space, IMHO totally right).
diff --git a/hasciicam/README b/hasciicam/README
index ca7fb62..ab77df4 100644
--- a/hasciicam/README
+++ b/hasciicam/README
@@ -3,9 +3,8 @@
888888 dP__Yb o.`Y8b Yb 88 88 Yb dP__Yb 88YbdP88
88 88 dP""""Yb 8bodP' YboodP 88 88 YboodP dP""""Yb 88 YY 88
[ (h)ascii for the masses! ]
- version 0.9
-Copyright (c) 2000-2001 denis roio aka jaromil
-see file COPYING for licensing stuff
+ version 1.0 codename RASTASOFT
+ by jaromil
Hasciicam makes it possible to have live ascii video on the web. It
captures video from a tv card and renders it into ascii, formatting the
@@ -29,10 +28,6 @@ aalib - that's the great lib that makes possible ascii rendering
if your distribution does'nt includes it, you can fetch it
from the hasciicam webpage.
-jpeglib - 'nuff said, you should already have it, otherwise go and grabit
- if installing from distribution packages you need the jpeg-devel
- in order to compile sources.
-
video4linux driver - depending on your card - stable comes as a kernel module
bttv :: http://www.metzlerbros.de/bttv.html
buz :: http://www.munich-vision.de/buz
@@ -40,8 +35,16 @@ video4linux driver - depending on your card - stable comes as a kernel module
i'm using hasciicam with a wintv hauppage card (bttv brooktree)
using as a driver the bttv one coming with the 2.4.x kernel series
+
+i also had success with logitech/dexxa usb cams, using the mod_quickcam
+module available at http://qce-ga.sf.net
+
people reported success with several pci and usb devices, refer to
-video4linux documentation for further informations.
+video4linux documentation for further informations
+
+at the moment hasciicam DOES NOT WORKS with PHILIPS WEBCAMS (and any
+other webcam using the pwc driver). help is needed with YUV420P
+grabbing to make it work - mail jaromil /@/ dyne.org for suggestions.
---
@@ -57,8 +60,9 @@ man hasciicam
ADDITIONAL CREDITS
code snippets hacks and ideas have been contributed by:
- aalibcrew gerdknorr mathop augustonero boffh martinguy
- pbm megabug rat rapid alessandropreitemartinez hks1
+ jan hubicka and the aalibcrew, gerdknorr, mathop, augustonero, boffh,
+ martin guy, pbm, megabug, rat, rapid, alessandro preite martinez, hks1,
+ thomas pfau, knorke, dr.meccoi
special thanks to:
# LOA hacklab milano :: http://loa.hacklab.it
@@ -72,19 +76,21 @@ special thanks to:
high quality bandwidth lets people get slashdotted!
# FREAKNET medialab catania :: http://freaknet.org
for knowledge, place, sun and connectivity under the vulcano!
-
+
---
DISCUSSION
feel free to join the hasciicam@dyne.org mailinglist to discuss
bugs, development of new features and support for new devices.
-besides that we're actively working on a new codec compressed hascii
-streaming framework, so expect something more soon and keep an eye
-on http://www.hascii.org ;)
---
have phun!
-jrml ..//korova.dyne.org
-6EEE 4FB2 2555 7ACD 8496 AB99 E2A2 93B4 6C62 4800
+--
+ jaromil dyne.org rasta coder http://rastasoft.org
+
+ dyne:bolic GNU/Linux liveCD http://dynebolic.org
+ MuSE Streamer v0.8.1 http://muse.dyne.org
+ FreeJ v0.5 - free the veejay! http://freej.org
+ FARAH in Palestine http://farah.dyne.org
+
diff --git a/hasciicam/hasciicam.1 b/hasciicam/hasciicam.1
index 879ff41..6b52e48 100644
--- a/hasciicam/hasciicam.1
+++ b/hasciicam/hasciicam.1
@@ -10,7 +10,7 @@ hasciicam \- (h)ascii for the masses!
[ \fB-n \fInorm\fR ]
[ \fB-s \fIsize\fR ]
[ \fB-o \fIoutput\fR ]
-[ \fB-f \fIuser@ftp.foo.org:/dir\fR ]
+[ \fB-f \fI:user%pass@host:/dir\fR ]
[ \fBrendering\-options\fR ]
.SH DESCRIPTION
.B hasciicam
@@ -58,7 +58,7 @@ Sets rendered ascii frames size to \fBWxH\fP characters. Grabbed frame size is c
Defines the file where to save rendered ascii, overwrited every \fIrefresh\fP seconds. Default is \fBhasciicam.html\fP when in \fBhtml\fP mode, \fBhasciicam.txt\fP when in \fBtext\fP mode (unuseful when in \fBlive\fP mode).
.B
.IP "-f --ftp"
-Ftp pushes the selected output file to an ftp account specified within an expression like \fBuser@dyne.org:/home/user/www\fP, hasciicam asks then for the account password on stdin (hidden while typing). Remote file is refreshed depending on \fBrefresh\fP rate and connection bandwidth, a \fIscolopendro\fP temporary file is created to keep clients on the other side refreshing smooth.
+Ftp pushes the selected output file to an ftp account specified within an expression like \fB:user%pass@dyne.org:/home/user/www\fP. 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 \fBrefresh\fP rate and connection bandwidth, a \fIscolopendro\fP temporary file is created to keep clients on the other side refreshing smooth.
.B
.IP "-D --daemon"
Forks to background and runs in daemon mode.
@@ -91,12 +91,6 @@ Specifies the background color to be used in the form of a \fIhex RGB triplet\fR
.B
.IP "-F --foreground"
Specifies the foreground color to be used in the form of a \fIhex RGB triplet\fR (without the leading #). Default is \fB00FF00\fP for green (only useful when in \fBhtml\fP mode).
-.B
-.IP "-O --jpgfile"
-Specifies the name of a jpeg file to be dumped at the same time of the ascii file, as a jpeg rendering of the last grabbed frame. By default this option is deactivated (unuseful when in \fBlive\fP mode).
-.B
-.IP "-Q --jpgqual"
-Specifies the quality of the jpeg rendering.
.SH EXAMPLES
.B hasciicam -m html -o watchme.html
.br
@@ -105,6 +99,9 @@ puts your \fIhtml\fP formatted ascii into watchme.html
.B hasciicam -m text -s79x24 -o ~/.plan
.br
puts your ascii into your local .plan (fingercam)
+.B hasciicam -m html -S 2 -o index.html -f :jaromil%sasuchen@dyne.org:korova
+.br
+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
.SH 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.
.SH BUGS
diff --git a/hasciicam/hasciicam.c b/hasciicam/hasciicam.c
index 812546a..272e8f5 100644
--- a/hasciicam/hasciicam.c
+++ b/hasciicam/hasciicam.c
@@ -71,7 +71,7 @@ char *help =
"-n --norm norm: pal|ntsc|secam|auto - default auto\n"
"-s --size ascii image size WxH - default 96x72\n"
"-o --aafile dumped file - default hasciicam.[txt|html]\n"
-"-f --ftp ie: [$]user%pass@host:dir - default none\n"
+"-f --ftp ie: :user%pass@host:dir - default none\n"
"-D --daemon run in background - default foregrond\n"
"-U --uid setuid (int) - default current\n"
"-G --gid setgid (int) - default current\n"
@@ -364,11 +364,14 @@ int vid_init() {
unsigned char *grab_one () {
int c = 0, cc=0;
+ /* we use just one frame
+ no matters about the capability of the cam
+ this makes grabbing much faster on my webcam
+ i hope also on yours
+ ok_frame = cur_frame;
+ cur_frame = (cur_frame>=grab_map.frames) ? 0 : cur_frame+1;
+ */
- ok_frame = cur_frame;
- cur_frame = (cur_frame>=grab_map.frames) ? 0 : cur_frame+1;
-
- // QUAA
ok_frame = 0; cur_frame = 0;
grab_buf[ok_frame].format = palette;
@@ -577,7 +580,7 @@ config_init (int argc, char *argv[]) {
char *p, *pp;
p = pp = ftp;
- /* exclamation at the beginning for passive mode */
+ /* duepunti at the beginning for passive mode */
if(*p == ':') { ftp_passive = 1; p++; pp++; }
/* get the user and check if a password has been specified */