A light motion JPEG multi-resolution server

MJPGServer is an HTTP/1.1 server for your V4L2 (Video4Linux) devices that streams both a low-resolution video stream and can capture high-resolution images (snapshots) on demand.

What is it for?

If you have a 3D printer, and you use Octoprint to launch and monitor your 3D prints, you are facing a dilemma.

Either you had to limit the resolution of the camera's video stream to be able to observe it via the Internet, or you were using your camera at its native resolution, but in this case, no remote monitoring. With this software, this is a thing of the past. You will be able to use the same camera to make your timelapses in full resolution, and monitor your printing in low resolution and low speed.


  • Very small footprint (no use of CPU to decode the high-resolution stream, scale it and re-encode it)
  • Works with any V4L2 source that supports MJPG (see below for a list of supported webcams).
  • Autonomous clear C++ code without external dependency. Compile, it's ready.

Source code

The source code is here.

Tutorial and documentation

The documentation for installing is here

An example of use is here

Previous Post Next Post

Sponsored links

In order to pay for infrastructure cost for this blog, I'm listing some affiliated links about the hardware listed above.

Related Posts