Git Product home page Git Product logo

mjpg-streamer's Introduction

mjpg-streamer

This is a fork of http://sourceforge.net/projects/mjpg-streamer/ with added support for the Raspberry Pi camera via the input_raspicam plugin.

mjpg-streamer is a command line application that copies JPEG frames from one or more input plugins to multiple output plugins. It can be used to stream JPEG files over an IP-based network from a webcam to various types of viewers such as Chrome, Firefox, Cambozola, VLC, mplayer, and other software capable of receiving MJPG streams.

It was originally written for embedded devices with very limited resources in terms of RAM and CPU. Its predecessor "uvc_streamer" was created 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. mjpg-streamer now supports a variety of different input devices.

Security warning

WARNING: mjpg-streamer should not be used on untrusted networks! By default, anyone with access to the network that mjpg-streamer is running on will be able to access it.

Plugins

Input plugins:

Output plugins:

Building & Installation

You must have cmake installed. You will also probably want to have a development version of libjpeg installed. I used libjpeg8-dev. e.g.

sudo apt-get install cmake libjpeg8-dev

If you do not have gcc (and g++ for the opencv plugin) you may need to install those.

sudo apt-get install gcc g++

Simple compilation

This will build and install all plugins that can be compiled.

cd mjpg-streamer-experimental
make
sudo make install

By default, everything will be compiled in "release" mode. If you wish to compile with debugging symbols enabled, you can do this:

cd mjpg-streamer-experimental
make distclean
make CMAKE_BUILD_TYPE=Debug
sudo make install

Advanced compilation (via CMake)

There are options available to enable/disable plugins, setup options, etc. This shows the basic steps to enable the experimental HTTP management feature:

cd mjpg-streamer-experimental
mkdir _build
cd _build
cmake -DENABLE_HTTP_MANAGEMENT=ON ..
make
sudo make install

Usage

From the mjpeg streamer experimental folder:

export LD_LIBRARY_PATH=.
./mjpg_streamer -o "output_http.so -w ./www" -i "input_raspicam.so"

See README.md or the individual plugin's documentation for more details.

Discussion / Questions / Help

Probably best in this thread http://www.raspberrypi.org/phpBB3/viewtopic.php?f=43&t=45178

Authors

mjpg-streamer was originally created by Tom Stöveken, and has received improvements from many collaborators since then.

License

mjpg-streamer is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

mjpg-streamer's People

Contributors

jacksonliam avatar therealbstern avatar virtuald avatar mdevaev avatar kosso avatar foosel avatar jhdewitt avatar abbradar avatar petelawler avatar bkuhls avatar machinekoder avatar keithzg avatar shengyu7697 avatar droberg avatar gilesbathgate avatar bdhu avatar roger- avatar xeno14 avatar thomaschevalier avatar dvv avatar alienrobotarmy avatar lf- avatar likeitlikeit avatar mtroback avatar plfort avatar rhobincu avatar rotschopf avatar s417-lama avatar zuifanchen avatar yagamy4680 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.