Current version

v1.10.4 (stable)


Main page
Archived news
Plugin SDK
Knowledge base
Contact info
Other projects


Blog Archive

Working with image sequences

Time to actually post something for users and not just developers.

To reading a series of numbered images as a video stream, use File > Open video file... and select the first image. VirtualDub will automatically step the filename and find any sequentially numbered frames after the starting file. You can open BMPs and TARGA files this way. Starting with VirtualDub 1.6.0, you can also sequential JPEGs and single files. In 1.6.2, you can also open non-interlaced PNG. Once the sequence has loaded, use Video > Frame Rate to set the correct frame rate for the sequence.

To exporting a video segment as a sequence of numbered images on disk in VirtualDub, use File > Save Image Sequence. What you may not know is that nearly all of the regular video processing modes are still enabled in this mode. This includes video format, frame rate decimation/conversion, filtering, etc. modes. In particular, if you only want to write out every fifth frame in the video, simply set frame rate decimation to "every 5" and you will only get 1/5th of the frames. Similarly, if you are writing out BMPs, you probably want to use no video compression and a normal video format such as 24-bit RGB. (That VirtualDub allows you to write out something silly like MPEG-4 compressed "BMPs" is actually a misfeature that I need to fix.) For the most part, though, what you see in the preview is what will get written out to disk as images.

Side note:

It isn't well known, but VirtualDub uses the exact same pipeline for all of its rendering operations. That includes AVI, WAV, and image sequence output, as well as... preview. The primary differences are whether certain outputs are disabled and whether the frame limiter is enabled. I spent a long time ago optimizing the pipeline to overlap I/O and CPU utilization and reduce synchronization overhead for better real-time preview; when you save to disk, the limiter is kicked out and you get the benefits of that work in faster rendering.


This blog was originally open for comments when this entry was first posted, but was later closed and then removed due to spam and after a migration away from the original blog software. Unfortunately, it would have been a lot of work to reformat the comments to republish them. The author thanks everyone who posted comments and added to the discussion.