(External links open in a new window)
Page layout last modified: April 2nd, 2005, wit recent change to the content.
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.
The mjpetools were updated to use the newer jpeglibrary version 9f. That version uses pkgconfig and that makes detecting the library much simpler.
Some smaller fixes were included. lavrec which was used for recording video and audio is not compiled any more. If you need it you need to use a older version of the mjpegtools.
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.
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/
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.
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
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.
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 ...
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.
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.
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.
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.
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
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
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/
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.
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.
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.
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/
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.
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/
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.
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.
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/
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!
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/
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
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/
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
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/
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.
The standard Sourceforge MJPEG/Linux Project page is http://sourceforge.net/project/?group_id=5776