Articles Technology Blog News Forum Company
Video Enhancer user's guide
This is the manual for version 2. Manual for versions 1.x can be found here.

Contents



Chapter 1: Introduction

Before you start

Video Enhancer is a program that allows you to increase resolution of video using Super Resolution method. Super Resolution is a smart video upsizing algorithm which uses information from neighbor frames to upsize current frame. It accumulates information, so the more sequential frames are processed, the better quality you get. If picture in your video doesn't change too fast, then information from several frames can be added to create a picture of a bigger size, revealing details which would otherwise remain hidden. No algorithms of ordinary image resize/resample can provide this quality just because there's not enough information in one frame.
Our Super Resolution engine works on the scale of individual pixels of upsized frames, i.e. sub-pixel resolution of original video, transfering details on this sub-pixel high-frequency scale, while keeping larger scale (lower frequencies) generally intact. Which means: it only makes sense when upsizing (will do nothing if you keep original width and height) and only works when original video has enough quality: it does not fix noise, blur or lack of details in original video caused by compression. If original video has visible problems, they will remain in the result.

Video Enhancer also allows you to use more than two hundred of VirtualDub filters to do everything you want with your video: deinterlacing, denoising, deblocking, color correction, deshaking, sharpening, visual effects etc. But unlike VirtualDub, in Video Enhancer all filters, coders and decoders work simultaneously in separate threads saving your time.

This tutorial will help you to benefit from every opportunity offered by Video Enhancer.

Registration

Video Enhancer is a try-before-you-buy program. You can use it free of charge for 30 days without functional limitations. In order to use it longer you must obtain a license.

Definitions

Artifact - a visible defect in a digital photo or video picture

Codec - a third-party system component that compresses and/or decompresses data

Compression - lossy or lossless process of encoding information using fewer bits

Deblocking - correcting blocks in decoded video in order to improve visual quality and prediction performance by smoothing the sharp edges which can form between blocks when block coding techniques are used

Deinterlacing - converting interlaced video, like common analog television signals, into a non-interlaced form.

Denoising - removing noise from a video. Noise is an unwanted distortion of data, including false contouring appearance, wide horizontal noise strips typical for old VHS, film artifacts - dust or dirt; snow, multiple small dots etc.

Deshaking - removing shaking from a video (typical effect for home camera shooting).

DirectX (Microsoft DirectX) - a set of system components providing application programming interfaces (APIs) for handling tasks related to multimedia, especially game programming and video, on Microsoft platforms

Filter - a program component used to modify the content of video

Multithreading - parallel (simultaneous) execution of several pieces of program in different threads

Uprezzing - increasing video resolution (Width x Height)

VirtualDub - a powerful video editing application with a collection of more than 100 video filters

System requirements

A CPU made in 21st century, 256 MB of free RAM, Windows XP/2003/Vista/7/8/10.

 

 


Chapter 2: Interface overview

Video Enhancer 2 interface is inspired by professional image editors where you open an image, apply some edits and transformations, immediately see the result and when you like it save the result to a file. Only here instead of image you've got video and instead of layers you have video transformations.

The main window dedicates most of its area to current video frame, above it are controls that change the view, below is a seek bar where you can jump to different locations in the video file, and on the right is a window that describes and controls what happens to your original video, how it is processed.

This window shows full processing life cycle of a video you want to process, from top to the bottom. First you open some video by pressing Browse to select a file or "+" button to select many files for batch processing. Then you may apply some number of transformations (filters) like resizing, denoising, deinterlacing etc. Output of each transformation/filter step serves as input to the next filter, so they form a sequential pipeline. You can add the built-in Super Resolution resize transformation by pressing "Add Super Resolution resize" button and other filters (from a list of 200+) by pressing "Add a filter" button.

Each transformation step has a checkbox allowing you to temporary disable it or enable back, this way you can immediately see how this filter affects the result.
Select a filter by clicking it in this list. The "Configure" button opens settings window for the selected filter. Double click on a filter also invokes its settings window. Next two buttons allow you to move selected filter up or down the chain, thus changing the order in which transformations are applied. Use "Del" button to remove a filter from the chain. The next "..." button invokes a menu for saving and loading projects - chains of filters with their settings, this way you don't need to tune each filter every time, you can form your own presets. The "?" button is to open Help and see the program version.

The last step, after you've built a chain of transformations and saw its result visually, is to save the video, this is what the last button does.

 

  For power users who want to use Video Enhancer from shell scripts, it also provides a command line interface.

 

 


Chapter 3: Using Video Enhancer

Input and output formats

Video Enhancer reads any video file that can be played by Windows Media Player. By default this is AVI, WMV, MPEG, MP4, MOV, FLV and ASF files, some others are also supported.

If any problems arise with opening or processing a video file in Video Enhancer, in most cases they are caused by a lack of proper codec. It is highly recommended to install K-Lite Codec Pack, full version. See detailed instructions how to install and tune video codecs properly.

The output video is stored in AVI or MP4 file. You can use any video codec to compress output video for AVI - any DirectShow, DMO and Video for Windows codecs. For MP4 format you should use H.264 or MPEG-4 video stream and AAC or PCM audio stream. We recommend using x264vfw codec for video compression. By default audio stream (if present) is stored to the output AVI/MP4 without changes. But you can choose to recompress audio with any audio codec installed.

Resizing with Super Resolution

When you press "Add Super Resolution resize" button or double click the "SR" filter in the chain or select it and press "Configure", you see its settings window where you can select how you want to resize the video:

There are actually two frame sizes that Video Enhancer uses to resize your video: output width and height and actual frame size to scale to (see panda scheme on the screenshot above).

Suppose you have a video 320x240 lines and want to make it 720x480 (NTSC). If you just scale 320x240 to 720x480, the image will become wider, all circles will become ellipses and all people will look fat. Simply because 4:3 ratio (320x240) is not equal to 3:2 ratio (720x480). In order to preserve aspect ratio and make video 480 lines high, output size must be 640x480 (to keep the same ratio 4:3).

But you wanted 720x480! In this case you just set output size to 720x480 and size for scaling to 640x480.
Video Enhancer will scale your video to 640x480 and add black borders to right and left to make output width 720. Or, you can set scale size to 720x540 (still 4:3) and output size 720x480. Then Video Enhancer will scale your image to 720x540 and keep 480 center lines, cutting top and bottom. Of course, if you want to change aspect ratio (to make fat people look less fat, for example) you can set any values of width and height.

If you want to increase your video resolution more than 2-3 times, you will obtain better quality by using several steps of Super Resolution. Just add several SR steps to the filter sequence, each time doubling the video resolution, and setting desired resolution on the last step.

There are two super resolution work modes to choose from. Video Enhancer uses neighbor frames to upsize a current frame with maximum quality. This requires multiple calculations to be performed, so prepare for 95-100% CPU usage. By changing how precise Video Enhancer searches for motion one can choose between quality and speed. The more precise motion search is, the slower it works but the better is quality.

Using video filters

You can use over two hundred VirtualDub filters to alter your video: deinterlace, denoise, deshake, do color correction, apply some visual effects and much more. If you have VirtualDub installed, then Video Enhancer will probably find your filters automatically. You can see list of filters that work in Video Enhancer at http://www.infognition.com/VideoEnhancer/filters.html.
You can add a filter to your video transformation pipeline by pressing "Add a filter" button. A window like this will appear:

VE: add filters to clean your video as you upsize

Video Enhancer includes a database with information about 200+ filters sorted into several categories. You can select a category from the list on the left and see its list of filters with their descriptions. By default these filters are not included in Video Enhancer installation but they can be quickly installed in just one click. If a filter is already installed you'll see its filename displayed and you can select it by pressing "Choose" button that appears when you move your mouse over it. If it's not installed yet, then instead of "Choose" you'll see "Install" button, press it and in a few seconds you'll have the filter installed. You can also visit filter's web page by pressing "www" button appearing together with "Choose"/"Install". However many filters are quite old and some of their pages already disappeared.

Instead of navigating through categories and lists you can find filters by entering part of their name, author or some words from their description in the Search field on top. List of found filters will be shown as you type. You can clear the search field by pressing "x" nearby.

After you choose a filter its settings window will appear (if the filter has one). Many filters offer live preview with "Preview" or "Show preview" button in their window. Press this button and you'll see the effects of applying this filter immmediately in the main window. Change filter settings and, when preview is on, see the new settings effects immediately. This was not possible in Video Enhancer versions 1.x.

 

View modes

On the top of the main window there are a few buttons that change what and how you see in the video window.

With first three buttons you can select what you see:
  • Source - original video, unprocessed and in original resolution
  • Resized source - original video, unprocessed but stretched to the output resolution (resolution of processed video)
  • Result - your video with all the enablded filters and SR resizes applied.
By switching between these you can quickly see how processed video differs from unprocessed, and how the video resized with Super Resolution is different from a simply stretched one.

Next two buttons control how you see it:

  • Fit - show full video frame, rescaling it if necessary to fit the screen space.
  • 1:1 - show video frame in its native resolution, unscaled, and if it doesn't fit then crop it and just show the part that fits.
Current mode is highlighted with yellow.

Saving the result

After you've done constructing a processing pipeline and you're content with what you see, you can save the result video to AVI or MP4 file by pressing "Save video".

Video Enhancer will scan what 32-bit video and audio compressors you have installed in the system and present them in drop-down lists to choose from. If you have codecs from Video Enhancer's preferred list, it will show its recommendations on which codec to choose and what bitrate to use. The recommended bitrate is calculated from result video resolution and the recommended codec. It only shows its recommendations in text, you need to actually select the codecs and set the bitrate in its settings to complete the process.

Choosing a video codec

Important note: since most VirtualDub filters happen to be 32-bit, in order to use them Video Enhancer also has to be a 32-bit app, so it needs 32-bit codecs. If your system is 64-bit and you have some 64-bit codecs installed, Video Enhancer will not see them. Just install proper 32-bit codecs too, they will work fine and will not interfere with 64-bit ones.

1. What is a codec
To understand what a codec is you can read this Wikipedia article:
http://en.wikipedia.org/wiki/Codec
So, a codec is a piece of software that can encode and decode video. When it encodes video, it gets uncompressed video (sequence of images) on its input and outputs some data, usually much smaller in size. That's the main purpose of the codecs - make video size in bytes smaller. When it decodes video, it takes that compressed data and outputs sequence of uncompressed images.

Some video editing/playing software contains certain codecs built-in, but most software doesn't - it uses codecs made by third-party developers and separately installed in your system. The system usually provides some means to find installed codec and use it for compressing and decompressing data. Each codec knows how to compress data, how to decompress data created by itself (but not by other codecs), but codecs do not know how to store this data on disk.

When you write compressed video to disk, it's written in one of container formats such as AVI, MOV, MP4 or something else. Each container format describes how to save chunks of compressed data and information about it, for example a little code (i.e. FourCC) that signals about compression method. When this file is then read, that meta information about compression method is used to find a codec that will decompress the data. So, knowing how to read AVI files is not enough to decode the video - a proper codec is essential.

Some compression methods are described in some standards (like MPEG4, for example). So many different codecs may implement such compression algorithms and they are often interchangeable. For example, DivX and XviD are both implementations of MPEG4 compression method, so video compressed by one of them can be decompressed by another one or even a third codec that knows how to decompress MPEG4. But some codecs have their own unique compression methods and video compressed by such codec can be decompressed only by the same codec.

2. Lossy and lossless compression
The task of a video codec is to compress video so it takes less space on disk or downloads faster. This can be done in two ways: it can try to compress the video without losing any information at all - like zip compresses your files without changing them. Such compression is possible but it's quite limited - most lossless codecs provide small compression ratio, like 1:3. And you cannot control how big the result will be - it totally depends on the algorithm and the source video. But they guarantee that decompressed video is exactly the same as the source.

Another way is to allow losing some information. Most video codecs go this way, they throw out much of original information but in a way not very noticeable by the eye. In this case decompressed video is not the same as original - it's always of lower quality. But now you can control how much information will be thrown away and so control how large the result will be measured in bytes. Amount of bytes (or bits) per second of video is called bitrate. The more the bitrate is, the less information is lost, the better is quality. The lower bitrate, the lower quality. And remember that each time you compress video by a lossy codec, the quality gets worse.

3. What kind of codec to use
So when selecting a codec you need to decide first which kind to use - lossless or lossy. If you need just to temporary store video for further editing and you need to keep maximum quality, then a lossless codec is what you need.
If, otherwise, you need to create a file which will only be played but not edited, and you want it to fit in limited size (like CD or DVD), then you need a lossy codec.

4. Choosing a lossless codec
Lossless codecs differ by availability (some are Windows-only, some are free, some are commercial), by speed and by average compression ratio. Some codecs are very powerful in compressing the data, but unusably slow. Some are very quick but compress poorly. You can find a big and detailed comparison here:
http://compression.ru/video/codec_comparison/lossless_codecs_2007_en.html
Video Enhancer author's personal choice is Lagarith, it's quite fast and provides reasonable compression.

5. Choosing a lossy codec
Lossy codecs also differ by availability (some are Windows-only, some are free, some are commercial) and speed, but they also differ by quality/compression ratio. This means that every lossy codec can compress video to almost any given size, so the compression rate is the same. But video compressed to the same size by different codecs has different quality. And again, usually the better this quality/compression ratio is, the slower is the codec. Nowadays best quality/compression ratio is in H.264 implementations, but the speed is usually bad: they need a very powerful CPU to decompress (play) the video and huge amounts of time to compress it.
You can find big detailed comparison here:
http://www.compression.ru/video/codec_comparison/h264_2010/

The next level is MPEG4 implementations, they provide a bit lower quality/compression ratio, but fast enough for modern PCs.

DivX and XviD are most commonly used (the first is commercial and the second is free) and they are a good choice for lossy compression. x264vfw is also a good H.264 video codec we can recommend, especially when writing to MP4 file. Just ensure you set "Zero latency" option in its settings.

If you install the codec pack we recommend, you'll have a good choice of video codecs to use. Since version 2.0.8 Video Enhancer comes together with a couple of codecs that can be used without any additional codec packs.

Important note: some users think they already have all necessary codecs because they have installed some codec packs, however often those only include decoders (decompressors). This is not enough, having just decoders will not allow you to compress the video, you also need encoders (compressors). This often causes confusion: Video Enhancer says you don't have any good codecs when you think you have. It just means you don't have proper encoders and only have decoders. Follow our guide above to get encoders too.

Audio codec

For audio in AVI container we recommend using AC-3 ACM codec. To install it download the archive, unpack it to any folder, go to x86 subfolder, right click the .inf file and select Install. Since version 2.0.8 it comes with Video Enhancer and shall be already available once you install Video Enhancer.
Currently, Video Enhancer cannot write AC-3 to MP4 container, so just use "no recompression" by default there, it will either write your original audio stream or make it uncompressed.

 

Batch processing

You can process multiple files in one go, with the same set of filters and compression settings. To do it press "+" button in the top right corner of the main window, it will invoke this dialog:

Make a list of input files by pressing "Add" to select files from your hard drive. If you don't want to process some file in the list, select it and press "Remove" to remove it from the list.

By default the processed files are written to the same folder as input files. But you can change it and make Video Enhancer write output files to another folder. You can select output folder in this dialog.

You can also change how the output files are named by changing the naming pattern at the bottom if this window. Name of input file will be inserted instead of "*" character in the pattern to form result file name.

After you created the list of input files and you've got a chain of filters to process them with, start processing the files by pressing "Save video" button in the main window. In this case you'll be asked about output compression and file format, as described above with single file case, but output file selection will not be available in that dialog because Video Enhancer already knows how to name and where to place the output files.

 

 

Command line interface

You can use Video Enhancer in batch files using its command line interface. You can either just use Super Resolutiuon resizing (by setting desired resolution with -d option) or provide a file name of a previously saved Video Enhancer project (where a sequence of filters and their settings are described) to apply filters from this project.

Available parameters:

  1. -i infile - specify input file. Use double quotes (like "...") for filenames that include spaces.
  2. -o outfile - specify output file,
  3. -d width height - destination video size, or alternatively
  4. project_file.vep - specify a Video Enhancer project file (created in GUI mode) to apply filters from,
  5. -vc codec - set name for video codec. First codec which name includes substring you specify here will be used. So you don't need to specify full name of the codec. If this parameter is not set, uncompressed RGB32 video will be stored (huge size)!
  6. -ac codec - set name for audio codec. If this parameter is not set audio will be copied without recompression.
  7. -vlist - output list of video codecs that can be used. All output is written to text file ve.txt in the current folder.
  8. -alist - output list of audio codecs.
  9. -fast - use fast mode of super-resolution. If this parameter is not set, a slower high quality mode will be used by default.
  10. -q - quiet mode: work in a minimized window.

Examples:


A. Show all available codecs (output goes to ve.txt):

VideoEnhancer.exe -vlist -alist

B. Resize a file "176.avi" to 1920x1080 and compress result with Huffyuv codec:

VideoEnhancer.exe -i 176.avi -o "Upsized 176.avi" -d 1920 1080 -vc Huff -fast

C. Process file "176.avi" with a sequence of filters described in a project file project.vep and compress result with Huffyuv codec:

VideoEnhancer.exe -i 176.avi -o "Processed 176.avi" project.vep -vc Huff -fast

 

 

Frequently Asked Questions & Troubleshooting online

 

 

Visit Video Enhancer forum http://forum.infognition.com/ to suggest your ideas, ask your questions or learn more about video processing and Video Enhancer.