ViHP 0.16 - VideoHTTPusher ---------------------------- ViHP is an attempt at an efficient, secure method of sending streaming video out over the web using cheap hardware. It's implemented as an http server on a user-allowed socket. I'm developing it for use with a b/w quickcam, using the great qcam software originated by Scott Laird. This is quick and dirty, however. Eventually it will use the Video4Linux interface. ViHP is released under the GPL license (please see it at http://www.gnu.org/copyleft/gpl.html), and thus comes with NO WARRANTY WHATSOEVER. Use ViHP, but at your own risk. Required software ----------------- you need to have qcam with jpeg support installed. It can be found at ftp://vip.stanford.edu/pub/qcam/ Running ViHP -----------­ place the server in a directory owned by nobody, with permissions safely set Edit vihp.pl, the primary configuration variables are at the top. Specify the amount of time in seconds before the stream shuts off in the variable $TIMEOUT. After this many seconds (default 1800s (==30 minutes)), the image timeout.png is sent. Run vihp.pl as user nobody, or root. (it can be run as any user, but you'll have to remove the few lines that check for a real login shell.. 8^) ) If started as root, the priveledges are dropped right away, and the process will run as nobody. You will probably have to change the UID of nobody, which I hardcoded in there. Now you should be able to stream video off it to any browser which supports the x-mixed-replace MIME type. (netscape 3.0+, and newer versions of M$IE). Just stick something like into your htm l, where 3060 is the first port number you can define in the list at the top of vihp.pl. Adding more port numbers to the list (right now there is just (3060,3061,3062,3063)) will cause more servers to spawn, on those ports. Currently the first one sends off streaming video, the second a high quality static image, the third a lo quality static image, and the last a high quality stream. Bugs ---- forks way too many times, spawning 6 processes by default. I like fork, but how many others really do? ('specially when filling up the process table!) ToDo ---- Stop forking so much. Multicast to concurrent requests. Right now it spits a unique image out to each client, which is _slow_ with a parallel quickcam on a P-90. Clean up code: change to using the video4linux interface, rather than the hack-ey way of using `qcam`. Figure out how to chroot to a safe haven easily. Contact ------- Please write to me with comments/questions/concerns/free hardware. happy streaming! j0seph sheedy http://tharsis.ubertechnique.com whookey@ubertechnique.com