MJPG-streamer is a command-line application which can be used to stream JPEG files.
MJPG-streamer was written for embedded devices with very limited ressources in terms of RAM and CPU. The decision for Linux-UVC was done, because supported cameras directly produce JPEG-data, allowing fast and perfomant M-JPEG streams even from an embedded device running OpenWRT.
For example a VGA resolution video stream with 5 frames per second produces about 2-15% CPU load of the 200MHz Mips processor of the Asus WL500gP router. Also RAM usage is quite low.
I would suggest not to open this server to the internet. Use it as input to the programm "motion" [http://motion.sf.net] running at your DMZ instead. Motion has many users and i expect it to be checked more often for security issues. Keep in mind, that motions advanced capabilties like motion-detection, writing of avifiles etc require more ressources.
In contrast to the better known SPCA5XX-LE, UVC-cameras in average produce better image quality (See Michel XHaards comparison table and rating at his site) [http://mxhaard.free.fr/embedded.html].
This programm was written in 2007 by Tom Stoeveken, basing on luvcview. The luvcview sources were modified using the tool "indent" and afterwards SDL dependencies were removed to reduce dependencies to other packages.
This tool can be modified and distributed according to the terms of the GPL v2.
Currently no issues are known, but since this software is quite young and not used widely it may cause problems. You must really know what you are doing, if you use this software. If you want to use the software you are obliged to check if the sourcecode does what you expect it to do and take the risk yourself to use it.
-i | --input "< input-plugin.so > [parameters]"
-o | --output "< output-plugin.so > [parameters]"
[-h | --help ]........: display this help
[-v | --version ].....: display version information
[-b | --background]...: fork to the background, daemon mode
To open an UVC webcam "/dev/video1" and stream it via HTTP:
./mjpg_streamer -i "input_uvc.so -d /dev/video1" -o "output_http.so"
To open an UVC webcam and stream via HTTP port 8090:
./mjpg_streamer -i "input_uvc.so" -o "output_http.so -p 8090"
To get help for a certain input plugin:
./mjpg_streamer -i "input_uvc.so --help"
What's New in This Release:
· This release was updated to support recent Linux-UVC drivers' dynctrl commands.
· The pan/tilt/focus controls of webcams like Logitech Sphere AF are initialized properly now.