mjpegtools is a complete editing, encoding, recording, and playing set of tools, along with a few support utilities. Quite a few of these are undocumented, and even more rarely used.
They are all command line only. Except glav.
lavrec - the tool to capture with zoran based (Buzz, DC10/30) capture cards.
lavplay - plays back the captured files. Can be used for the video output on a DC30 card.
yuvdenoise, yuvmedian, yuvscaler, yuvdeinterlace, yuvfps, and many more yuv* and y4m* tools. These are the filter packages. Quite power full, excellent quality, and sadly some are quite slow.
mpeg2enc - the mpeg encoder. Does mpeg1/mpeg2. Supports profiles for vcd/svcd/dvd/and HDTV. Quality and speed range from 2-3x real time speed less than optimal quality to slow as a snail hands down the best quality mpeg2enc there is.
For noisy sources such as old hi8 videos, I've yet to come across an encoder that can retain the detail that mpeg2enc does. Other encoders (Canopus ProCoder, MainConcept) like to filter the image some way that leads to a less detailed image. Or there's CCE which does a great job at retaining detail, but has serious artifacting and mosquito noise problems when retaining this detail. HCEnc does a great job on most things.
Mpeg2enc isn't all perfect either. There's a serious rate control bug that will over shoot the max bitrate. For instance, if you pass 7500 as the max, expect your file to hit peaks near 10,000kbit/s. There is no working 2 pass encoding method. It's slow as hell. HCEnc does 40-50fps with moderate avisynth filters. mplayer + filters + yuvdenoise filters + mpeg2enc = 4-5 fps. It's 10x slower, but easily 3x the quality.
Keep in mind, mpeg2enc isn't for the blockbuster - rent and copy - type of video enthusiast. It's best at noisy captured video.
Let's not forget how important mplex is to anyone that wants to make DVDs.
There's a whole slew of other tools that are included in this package.
A sample command line to deinterlace dv footage, give a slight film look, pass it through a Spatial-Pre-Filter, Temporal-Noise-Filter, and a Spatial-Post-Filter, then encode to DVD complient mpeg2 video looks like this -
lav2yuv capture.dv | yuvdeinterlace -f | yuvdenoise -G 1,2,2 | mpeg2enc -f 8 -b 6000 -q 2 -o out.m2v.
You could of course specify/create the inter/intra matrices, dct precision, alt/zig-zig scan, adjust the luma variance, gop min/max, coefficient offsets, quantization parameters, and so on. This is not a little kids one click encoder, it's a big boy toy!!
Now if only they'd speed it up a little.
Review by disturbed1
Mar 17, 2008 Version: 1.9.0rc3
OS: Linux Ease of use: 2/10
Value for money: 10/10