Join GitHub today
GitHub is home to over 20 million developers working together to host and review code, manage projects, and build software together.
C++ C Objective-C Other
Fetching latest commit…
Cannot retrieve the latest commit at this time.
|Failed to load latest commit information.|
"MJPG-streamer", is a command line application that copied JPG-frame from a single input plugin to multiple output plugins. It can be used to stream JPEG files over an IP-based network from the webcam to a viewer like Firefox, Cambozola, Videolanclient or even to a Windows Mobile device running the TCPMP-Player. It was written for embedded devices with very limited ressources in terms of RAM and CPU. Its origin, the "uvc_streamer" was written, because Linux-UVC compatible cameras directly produce JPEG-data, allowing fast and perfomant M-JPEG streams even from an embedded device running OpenWRT. The input module "input_uvc.so" captures such JPG frames from a connected webcam. 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. To view the stream use VLC or Firefox and open the URL: http://127.0.0.1:8080/?action=stream To view a single JPEG just call: http://127.0.0.1:8080/?action=snapshot To compile and start the tool: # tar xzvf mjpg-streamer.tgz # cd mjpg-streamer # make clean all # export LD_LIBRARY_PATH=. # ./mjpg_streamer -o "output_http.so -w ./www" If you have libv4l2 library you could compile it using it. There are some cameras which has extra controls using it, and you can set much more resolutions. # tar xzvf mjpg-streamer.tgz # cd mjpg-streamer # make USE_LIBV4L2=true clean all # export LD_LIBRARY_PATH=. # ./mjpg_streamer -o "output_http.so -w ./www" If you would like to replace a WebcamXP based system with an mjpg-streamer based you may use the WXP_COMPAT make argument. If you compile with this argument the mjpg stream will be available as cam_1.mjpg and the still jpg snapshot as cam_1.jpg. # make WXP_COMPAT=true More examples can be found in the start.sh bash script. In case of error: * the input plugin "input_uvc.so" depends on libjpeg, make sure it is installed. Dependencies for the input plugin "input_uvc.so": * libjpeg * recent Linux-UVC driver (newer then revision #170) Dependencies for the output plugin "output_autofocus.so": * libmath To play the HTTP M-JPEG stream with mplayer: # mplayer -fps 30 -demuxer lavf "http://127.0.0.1:8080/?action=stream&ignored.mjpg" It might be necessary to configure mplayer to prefer IPv4 instead of IPv6 # vi ~./mplayer/config add or change the option: prefer-ipv4=yes