(External links open in a new window)
Page layout last modified: April 2nd, 2005, wit recent change to the content.

general description

The mjpeg programs are a set of tools that can do recording of videos and playback, simple cut-and-paste editing and the MPEG compression of audio and video under Linux.

Recording is supported for the Zoran based cards like the Buz (Iomega), DC10 (MIRO, Pinnacle), Matrox Marvel cards and the LML33 (Linux Media Labs). See related pages to the right to find the right driver for your card.
The recorded videos can be converted to MPEG streams. The software playback of MPEG streams works with almost every player and every OS.
You can produce special forms of MPEG streams like VCD (Video CD) and SVCD for hardware playback.

A key design objective of the tools is interoperability with other video tools:
The tools can be used used to edit, playback and compress motion JPEG (MJPEG) AVI's captured using the xawtv package.

The tools can be used to edit playback and compress MJPEG streams created and editted with broadcast 2000. N.b. the current mpeg2movie high bit-rate MPEG encoder is in large part derived from an obsolescent snapshot of the mjpegtools MPEG encoder.

Transcoding of MPEG-2 streams to MPEG-2/MPEG-1 is supported through patches to the output drivers for mpeg2dec and ac3dec tools from the Linux Video and DVD Project (broken link: http://linuxvideo.org).

dv2jpg converts a DV codec-encoded AVI stream (from dvgrab, for example) to an mjpeg-encoded AVI stream that can be processed by the mjpeg tools package. The mjpeg AVI can be converted to mpeg video/audio and burned onto a VCD later.
Homepage: http://sourceforge.net/projects/dv2jpg/

Videos created with Nupplevideo from bttv based cards can also be encoded with the tools. More info at: Roman's NuppelVideo Homepage.

MPEG output is compatible with Microsoft Media player and Real player.

The MJPEG-Howto, written by Bernhard Praschinger contains a brief introduction to all the MJPEG-tools. If you don't know where to start, please start by reading this document, it gives an overview of about everything the tools can do.


News / Change log

  • (May, 2023 by Bernhard)

    The active developers and project administrators did meet in Jamestown ND. This can be considered the first meeting, there was talk about the future of the mjpegtools.
    After the official part we did have a nice meeting enjoying a Sacher Torte together.

  • (Sept 10, 2021 by Bernhard)

    The new Release is finally available and has the version number: 2.2.1
    Some time did pass since we did release the beta, and now is the time to make the release. Some problems were found and fixed. You find the Version here: https://sourceforge.net/projects/mjpeg/files/mjpegtools/2.2.1/

  • (Febr 21, 2021 by Bernhard)

    Beta for Version 2.2.0 online
    After a lot of years and several collected bugfixes Steven put the current SVN together to make a Beta. If nothing happens that will be the next version of the mjpegtoos.

  • (Nov 12, 2017 by Bernhard)

    Sourceforge retires CVS
    The SF staff wrote, that they will stop CVS commits at the November 30th. You can find the whole information here: https://sourceforge.net/p/forge/documentation/CVS/ The CVS Repository is still available for read access. But we would not want a dead end. Thanks to Steven, he did convert the CVS Repository to SVN. So If you check out the complete SVN Repository of the mjpegtools you need a command like that: svn checkout https://svn.code.sf.net/p/mjpeg/Code/trunk/mjpeg_play mjpegtool

  • (Sept 21, 2013 by Bernhard)

    The 2.1.0 release of the mjpegtools is finally available
    There are some fixes included since the last release candidate. The tarball is the same version as you can get from the CVS, the compiled RPM is a x64 package compiled on a opensuse 12.3, so is "should" work on x64 distributions too. So just check out the new version and report you experience.

  • (Nov 4, 2012 - by Bernhard)

    A new release candiate
    The last release was quite some time ago. I wanted to make a release candiate before summer, but a lot of things happend so it was delayed. the tar.gz,source RPM and a Windows MinGW Build files are online. So please test the new version. I/We are glad about feedback.
    BTW: Thanks to Rich Bowen for a little kick ...

  • (July 10, 2011 - by Bernhard)

    lavrec supports EM28XX software encoding
    Thanks to a patch from RSTAM, that adds the support for EM28XX based USB devices like the DVC100 Pinnacle Dazzle to lavrec. The patch is currently only available in the CVS. Feel free to check it out, and send us feedback.

  • (May 22, 2011 - by Bernhard)

    A new version of the mjpegtools available
    I have put the next mjpegtools version online. The release is named: 2.0.0. Since the release of the RC-1 a lot of small patches and fixes were included into the package. Check out the new version and report you experience.

  • (Dec 31, 2010 - by Bernhard)

    A new version of the mjpegtools available
    I have put the release candidate for the next mjpegtools version online. The next release will be 2.0.0 because the mjpegtools are alreaddy 10 years on Sourceforge, and so we start into our 2nd decade. Because of that the Major release number changed to 2. Check out the new version and report you experience.

  • (Nov 2, 2010 - by Bernhard)

    Tracker changes
    Last week a high number of spam (=Advertisement for things not related to the mjpegtools) was entered into the tracker of the mjpegtools. The spam was removed from the tracker by the SF Staff. Because of that the tracker behaviour was changed. You need not to login to SF before you can enter a entry to the tracker. If you do not have a SF account, you can still send a mail to the mjpeg-users mailinglist.

  • (April 28, 2010 - by Bernhard)

    Converting VNC Sessions to mpeg files
    Nagalenoj wrote a how to create mpeg files from VNC sessions when you record them with RfbProxy. You find it in his blog entry here: http://nagalenoj.blogspot.com/2010/04/rfbproxy.html

  • (Aug 12th, 2009 - by Bernhard)

    zoran driver wiki
    Nikolay Shaplov wrote a wiki about the zorand driver. What you have to do wehen the card is not detected automatic. You find wiki here: http://wiki.debian.org/zr36067

  • (July 26th, 2009 - by Bernhard)

    grabby & mjpegtools
    We got word from Folkert van Heusden, that grabby (a webcam/tv-card grabber with lots of special effects) now also uses mjpegtools, for streaming captured images to webbrowsers. You find more information here: http://www.vanheusden.com/grabby/

  • (May 17th, 2009 - by Bernhard)

    The Sourceforge Community choise awards are open.

    We have nominated the mjpegtools. If you think the mjpegtools are worth the nomination. Use that link and nominate the mjpegtools:

    Thanks to all persons for voting for the mjpegtools project.

  • (Jan 6th, 2009 - by Bernhard)

    Happy new year.

    We have just released the mjpegtools version 1.9.0. Downloads are available from our Project page. We have the normal sources, and the precompiled Binaries for i586, for Linux, Windows systems. In tar, bz or rpm format. Please give it a shot and report bugs to the mailinglist.

  • (Dec 8th, 2008 - by Bernhard)

    We have just released a release candidate 4 for version 1.9.0. Downloads are available from our Project page. We have the normal sources, and the precompiled Binaries for i586, for Linux and Windows systems. Please give it a shot and report bugs to the mailinglist.

  • (Sept. 7th, 2008 - by Bernhard)

    Jan Panteltje wrote some tools for the mjpeg-tools
    mcamip is a webcam with ethernet interface, the mcamip software outputs mjpegtools YUV. You find the package here: http://panteltje.com/panteltje/mcamip/. On the same page is mjpegtools_yuv_to_v4l-0.2.tgz. it sends mjpegtools yuv to a V4l device. This then allows flashplayer to use the yuv stream. So you can use that camera with flashplayer, or send movie clips, or slide shows to flashplayer (flashplayer version 9).
    His third tool makes a mjpeg tools YUV format slide show from any collection of jpeg pictures: http://panteltje.com/panteltje/jpg_to_mjpegtools_yuv/

  • (Jan. 6th, 2008 - by Bernhard)

    The RC3 of the mjpeg tools has be released some time ago. There is a problem with the rate controll in mpeg2enc, that delayes the release.
    Some more exiting news is that Hannes Domani has compiled many parts of the mjpegtools for the Windows OS. You can use the package on your windows. It is compiled using mingw. You find the windows package in the download area. The Zip file contains the compiled sources, the sources, and the patches you need to apply to compile it. Things that do not work is lavrec, and the audio output in lavplay.

  • (Sept. 5th, 2007 - by Bernhard)

    David McNab has written some bindings for the yuv4mpeg API, supporting both Python and C++. Based on SWIG, implements virtually the whole API as given in yuv4mpeg.h, and also implements a high-level 'Stream' class in both C and Python. So when you are interrested you get the package here: http://www.freenet.org.nz/pyyuv4mpeg/

  • (Feb 4th, 2007 - by Bernhard)

    We have just released a release candidate 1 for version 1.9.0. Downloads are available from our Project page. Please give it a shot and report bugs to the mailinglist.

  • (Nov 16th, 2006 - by Bernhard)

    The jpeg-mmx is declared dead.
    There are several causes. The most important is the minimal speed gain you have with machinges running faster than 1GHz. The other thing is that it speed up things only on 32bit Intel and AMD machines. The last thing is that we have no maintaner for the jpeg-mmx, and it cause problems with other packages (libquicktime for example) So we have removed the jpeg-mmx from the list of downloadable software.

  • (June 5th, 2006 - by Bernhard)

    Dik Takken has written a MPEG2 encoding gui for the KDE desktop (works with other desktops as well). It assists the user while creating high quality DVD compatible MPEG2 streams from any input video. It is designed to be easy to use, requiring little technical knowledge. You can get it here: http://kmpg2.sourceforge.net/

  • (Spetember 24th, 2005 - by Bernhard)

    We have just released our newest version 1.8.0. Downloads are available from our Project page. Please give it a shot and report bugs to the mailinglist. Thanks to all of our developers for making this release possible!

  • (April 30th, 2005 - by Bernhard)

    Matthias has written some hints together for recording with bttv cards in german. You also find scripts that do the work for you. http://www.fernmeldung.de/capture/

  • (April 2nd, 2005 - by Bernhard)

    Jerome Cornet has written a enhanced version of yuvfps, called yuvmotionfps, which is a framerateconverter that interpolates the frames based on the motion of the blocks, to get a smoother motion. You find his tool here: http://jcornet.free.fr/linux/yuvmotionfps.html

  • (March 28th, 2005 - by Bernhard)

    Mark Heath has written some extra tools for the mjpegtools: an averaging frame rate converter, an interlace to temporal order converter, a watermark detection and removal tool and a simple black fader. You find his tools here: http://silicontrip.net/~mark/lavtools/

  • (Jan 1st, 2005 - by Bernhard)

    You might remember Open Source Developer Contest (http://www.linuxonpower.com/) also mentioned on the SourceForge Sitewinder Update. Right, James Klicman of the mjpegtools won a nice Price (one of the Dual G5 MACs). He wrote Altivec acceleration code for mpeg2enc.
    Congratulations to James

  • (September 15th, 2004 - by Gernot)

    Johan Parent writes: Just a short mail to let you know that I wrote a small patch to produce mpeg stills (~ slides shows). Not very high on your requests list I guess but I just happened to need it ;) Made a small page to describe it all shortly at http://parallel.vub.ac.be/~johan/MpegStills/

  • (September 15th, 2004 - by Gernot)

    Luca writes: I'm writing a Linux driver for the FAST AV Master. The overlay is working, but it is missing the whole JPEG chipsets management.

    I built a little web site where I put all informations I have (datasheets, driver, some experimental observations, etc.):

    http://avmaster.bnx.homelinux.net

    If someone have other informations or wants to help me in the development, please feel free to contact me.

  • (June 6th, 2004 - by Gernot) Gabriel has recently released an mjpegtools-plugin for LiVES, a Free video editor/VJ tool for Linux, BSD and openMosix. The encoder plugin works only with version 0.9.1-pre1+ of LiVES which can be downloaded from http://www.xs4all.nl/~salsaman/downloads.html.
    See his original posting for detailed information.

  • (February 4th, 2004 - by Ronald) We have just released our newest version 1.6.2. Downloads are available from our Project page. Please give it a shot and report bugs to the mailinglist. Thanks to all of our developers for making this release possible!
  • Browse through old news.

The standard Sourceforge MJPEG/Linux Project page is http://sourceforge.net/project/?group_id=5776


SDL Get The MJPEG/Linux square at SourceForge.net. Fast, secure and Free Open Source software downloads
Gernot Ziegler
madmac@users.sourceforge.net



Project page
Sourceforge Project page
Mailing lists
 
Related driver pages
Matrox Marvel G200/G400/G450
Rainbow Runner G-Series page


Unified LML33, Iomega Buz and Miro DC10 driver

Obsolete:

LML33, Iomega Buz and Miro DC10 page

German Miro DC10 page

 
Related software pages
Bombono DVD,
Open Source Authoring Software
yuvmagick and co
y4mscaler
YUV4MPEG Perl Module
yuvslideshow
 
Hardware producers
LML33 (Linux Media Labs)
Iomega Buz (discontinued)
Matrox Marvel/Rainbow Runner G-series (disc.)
Miro DC10/Pinnacle Studio DC10plus
 
FAQ
MJPEG Howto Wiki
PDF: EN MJPEG Howto
PDF: DE MJPEG Howto
MJPEG tools on MAC OSX
See HINTS and README in the source code. There's also useful stuff in the buz linux FAQ
mirDMG's MPEG2 FAQ
 
Download
Sourceforge's CVS server
Tarballs
 
MPEG Samples
Screen capture quality
Captured TV broadcast - default settings. Strict VCD/SVCD specs.
NTSC SVCD | NTSC VCD
PAL SVCD | PAL VCD
Optimised bit-rate and filtered MPEG1 encoding of TV broadtcast
PAL MPEG1
MPEG1 encoding from DVD
PAL MPEG1
 
Contacts
Gernot Ziegler
Bernhard Praschinger
Andrew Stevens
(currently inactive)