Naken Web is both a tiny web server capable of serving static web pages with built in ability to serve out live and prerecorded video in MJPEG format from video4linux devices and AVI files. Naken Web is small enough (22k to 32k) to run on embedded platforms and has been tested on the Gumstix embedded computer. Naken Web can be configured to serve out video from URLs similar to commercial IP cameras including Axis networked cameras.
A couple years ago I modified my Naken Chat chat server so that would act like a web server and serve out JPEG images out of an AVI file. Pressing the refresh button on a web browser to grab a new image would display the next image in the video based on the time that the web server was started. In other words, the video would play at normal speed in the browser. If you wait 5 seconds before pressing refresh and the avi plays at 30 frames a second, 150 frames are skipped so the time in the video is always accurate.
Here are some key features of "Naken Web":
· Serve out AVI files as if they were a live webcam
· Serve out static html web content like any other webserver
· Executable size is currently around 22k (32k with video4linux compiled in)
· Small/fast enough to run on embedded platforms such as Gumstix
· Alias URL strings of commerical IP cameras inluding Axis
· Video4Linux support for live video (early stages.. but working width bttv and sn9c102 based video)
· No dependencies unless video4linux is compiled in (libjpeg is needed then)
· Client Pull/Server Push for MJPEG video
· Username/Password Basic-Authentication
· Runs on both Unix/Linux and Microsoft Windows platforms
· If you'd like to serve out AVI files the AVI's need to use the MJPEG codec. If you have a video encoded with mpeg or some other fileformat/codec, you can convert it to AVI/MJPEG using ffmpeg with the following line:
· ffmpeg -i myvideo.mpeg -vcodec mjpeg -b 10000 -s 352x240 -an out.avi
· Obviously you need to change myvideo.mpeg to the name of your input file, out.avi to what you want the output file to be called, -b is the bitrate and will affect the size of each jpeg in the avi file along with the quality of the video. The -s option is the resolution of the video. The -an option tells ffmpeg to leave out audio.
What's New in This Release:
· The performance of the server was increased significantly.
· Support for CGI was started.
· Support for Video4Windows devices was added.