Sceda: Encoders/Decoders

Sceda: Encoders/Decoders

Wherein animation codecs are much discussed...


Encoders/Decoders

It's important to understand that sceda interpolates and renders the animation scenes, but does not actually compile them into a playable form. Partly this is just too much work, partly this is because I don't want to lock the user into some predefined animation format.

This means the user is intended to supply whatever software is necessary to compile the resulting images into an animation. This can be FLI, FLC, AVI, QuickTime or some other gross, proprietary format. If you've had a look at the animations page, you'll probably have seen that the final form for all my animations is MPEG I. This, naturally, is because mpegs are The One True Way...


MPEGs

http://www.crs4.it/HTML/LUIGI/MPEG/mpegfaq.html contains a wealth of detailed technical information on the MPEG format. In brief, mpegs are a form of lossy video compression which take advantage of temporal and spatial redundancy in the images. It's awesome for the following reasons: MPEG compression is excellent: some of the animations I've worked with have seen ratios of up to 100:1, and this can be much improved if you're willing to sacrifice some quality.


MPEG Software

There are a number of mpeg packages available on the net. All of the ones mentioned here are free and work on most any Unix/X platforms. I have no idea of what software is available for other platforms, perhaps you could check the MPEG faq.


MPEG Encoders

The Berkeley Plateau Multimedia Research Group has a number of MPEG I related tools available on their page, along with a number of other useful links. Their encoder, mpeg_encode, has a very nice user-interface. However, I've had difficulties with quality at times (see the twitches and flickering in tower.mpg).

My current fave encoder is Chad Fogg's MPEG Software Simulation Group's mpeg2encode at ftp.netcom.com:/pub/cf/cfogg/mpeg2. I haven't seen any problems with quality: the parameter file is somewhat more cryptic than that for mpeg_encode, but it has a very simple 'quality index', which can be used to adjust the size of the resulting mpeg (line 19, for the curious). It can also insert a comment into the mpeg, which is kind of nice. It will encode either MPEG I or MPEG II, but I haven't seen any benefits, size or quality-wise, with MPEG II, so I've stuck with MPEG I.

You can see my MPEG-1.par if you want.


MPEG Decoders

Both the PMRG and MSSG links above have decoders as well as encoders. PMRG's mpeg_play is quite common: version 2.x has a rather nice Motif control panel, and it has a wide array of dithering options.

MSSG's mpeg2play lacks the control panel and the dithering options, but plays more quickly and dithers better.

In addition, Marc Podlipec's awesome XAnim software has recently begun to be able to play MPEGs. I believe he has started off using the PMRG decoder, but I'm sure Marc will begin adding improvements in his usual rapid manner.


Last modified October 21, 1995
Denis McLaughlin < denism@cyberus.ca >