Current version

v1.10.4 (stable)


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


Blog Archive

120 fps video???

If you're a frequent watcher of Internet-sourced video files you may have noticed an interesting characteristic of the video stream of some AVI files, namely an unusually high frame rate of 120 fps. Such a frame rate might seem useless and utterly wasteful, given that film sources run at 24 fps, video sources run at up to 30 frames/60 fields per sec, and computer refresh rates not generally higher than 85Hz.

Ah, but there is reason to this madness.

The reason for the 120 fps frame rate becomes clear if you look at the data in the stream itself, namely that at least 75% of the frames are empty. Basically, someone came up with the innovative idea of using null frames in AVI to achieve variable frame rate in order to accommodate both 24 fps and 30 fps within the same file. A 24 fps portion uses a frame density of 1/5, whereas a 30 fps portion uses 1/4. The need for mixed 24/30 comes from recording video which has both telecined and non-telecined video, and applying inverse telecine to the appropriate portions.

VirtualDub can process these videos to some extent, but there are some shortcomings. Attempting to recompress or filter the video will result in a 120 full frames per second. Also, attempting to play the video will result in a mind-numbingly slow frame rate because VirtualDub will still attempt to blit/flip at 120 fps. You can, however, direct stream the video, and you can use frame rate conversion in this mode to remove some of the null frames and drop the video stream to a more ordinary frame rate. I'm working on improving support for sparse video streams in a future version.


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.