virtualdub.org Proof that I had too much free time in college

### Current version

v1.9.11 (stable)
v1.10.1 (exp.)

### Navigation

Main page
Archived news
Downloads
Documentation
Capture
Compiling
Processing
Crashes
Features
Filters
Plugin SDK
Knowledge base
Donate
Contact info
Forum
Other projects
Altirra

# VirtualDub documentation: Processing

There are a few areas of VirtualDub that are rougher than they should be. The least I can do is document it.

> How do I crop a video?

>   VirtualDub allows you to crop at the beginning of any video filter; you can do it by clicking on a video filter and then "cropping." This option is called "clipping" in versions prior to 1.4. If you don't have any video filters you want to run, add a "null transform" filter and then add cropping to that.

>   The reason you can crop before any filter is that filters that are spatial (area-based) tend to exhibit artifacts at the edge of the image, where the area filters are poorly defined. You can sometimes get more natural results by applying the blur/sharpen/etc. first and then cropping afterward.

>   You cannot crop in direct stream copy mode -- the cropped video must be recompressed. That's life.

> Why does the sound stutter during playback?

>   This will occur if your CPU isn't fast enough to handle real-time preview. When checking the results of filtering, it's better to be able to see all frames in slow-motion rather than to see a sync'ed, 1 FPS slideslow. You can enable the "drop frames when behind" option in the menu, but it's not very effective in most cases and can simply lead to a 1 FPS, stuttering slideshow. If you must see the results in real-time, using frame rate decimation is usually far more effective.

>   Short answer: VirtualDub is not a player.

> I tried to cut out some frames in direct stream copy mode, and VirtualDub put them back in!?

>   You deleted a frame, but didn't delete the non-keyframes after it.

>   A keyframe is a frame that can be decoded on its own; a non-keyframe, or delta frame, is a difference from the previous frame and cannot be decoded if the frame before it is missing. VirtualDub always plays it safe and makes sure that all frames that you don't delete are decodable. This means that any non-keyframe that you include will force inclusion of any frames before it, back to and including the previous keyframe.

>   Below the position slider and to the right of the motion buttons, there is a timestamp counter that shows the current position:

>   Notice the `[K]` at the end -- this is the current frame type. `K` indicates a keyframe; nothing indicates a delta frame; `[D]` indicates a dropped frame, which is another type of non-keyframe. Basically, all you have to do is ensure that when you delete a segment, you end the delete right before the next keyframe. You can seek between keyframes by holding SHIFT when dragging the nub or clicking on the forward and backward buttons with the yellow key icon.

> How come VirtualDub doesn't let me compress into MPEG layer III audio, or only up to 56Kbps?

>   Audio compression is handled by third-party Windows ACM drivers, not by VirtualDub itself. The MP3 compression driver comes from Fraunhofer-IIS and has a few incarnations, with the filenames `L3CODECX.ACM`, `L3CODECA.ACM`, and `L3CODECP.ACM`. If you don't have any MP3 options, you either don't have the L3 codec installed at all, or have the standard version (`L3CODECX`). A 56Kbps limit means you have the Advanced version; 128Kbps means you have Professional; 320Kbps means you're using the warez Radium hack.

>   I can't tell you where to find these codecs, unfortunately, and I suspect they aren't redistributable in any case.