How to make an animation for a presentation

…in a format most computers should understand

This workflow should allow you to generate a video suitable for embedding in a presentation. The resulting slightly old-fashioned MPEG-1 file should be understandable by almost all computers and operating systems. Unfortunately all the software required is Windows-only. Sorry!


  • A sequentially-numbered folder of image files, like PNGs or BMPs which you’re going to animate, eg sexyanimation000.png, sexyanimation001.png, sexyanimation002.png
  • VirtualDub.
  • AVI2MPG1.


  1. Generate your single frames and stick them in a folder.
  2. Open the first frame of the sequence using VirtualDub. The remaining frames will be loaded automatically.
  3. Change the frame rate on the video menu to 30 FPS. VirtualDub defaults to a rather clunky 10 FPS, and AVI2MPG1 will upsample this to 30, tripling the size of your output video!
  4. Save the file as an AVI.
  5. Place avi2mpg1.exe in the same folder as the AVI, open up a command prompt window and run avi2mpg1 -n -b 512 filename.avi. This should produce a sound-free m1v file, with a bitrate of 512 KiB·s-1. This relatively high bitrate is appropriate if you’re not worried about filesize, and doesn’t add too many compression artefacts to the edges of animated diagrams. Feel free to experiment if your video is long, needs to be small, or doesn’t have many sharp edges.
  6. Insert into your presentation. In PowerPoint, the video will not be embedded in the file, and it is necessary to keep your .ppt(x) file and movie in the same folder if you want to transfer it between computers.
  7. If the final frame of your animation is crucial to your presentation, it’s worth making a still image of that which appears when the video is over, as sometimes strange decoding artefacts appear when the video stops playing.

AVI2MPG1 colour problem

I experienced a slightly bizarre colour problem when making the conversion to MPEG-1: pure red (ie RGB = (255,0,0)) was converted to dark green, leaving strange artefacts around it. Changing it to slightly less intense red (eg RGB = (250,0,0)) seemed to solve the problem.

Leave a Reply

Your email address will not be published. Required fields are marked *