Extended features in VirtualDubMod 1.5.x

VirtualDubMod

Extended features in VirtualDubMod 1.5.x

Nb : VirtualDubMod now has a basic Unicode support. However this support is only available in Windows versions that handle it natively (2k/XP handle it). Win9x doesn't handle Unicode natively and so you won't have Unicode support in VirtualDubMod with this OS.


This short documentation give you some information on the following subjects in VirtualDubMod 1.5.x :


Preferences

Preferences Since version 1.5.4.x VirtualDubMod also uses an extended tree list thanks to which you can access all its preferences.
Depending on which kind of preference it is, clicking on an item in the tree will make appear a combo box or an edit box (optionally an icon to popup a file selector).
For enabling / disabling preferences (checkbox / radio button) click on the checkbox or radio button.

The default video mode (Direct stream copy, Fast recompress, Normal recompress, Full processing mode) in which VirtualDubMod starts can be changed in the Main preferences.

The Display preferences let you choose to enable/disable by default the Display input video and Display output video of the Options menu.
You can ask for the window to be automatically resized (according to the size of the opened video) and centered.
You can also specify a specific language dll to use (all or part of the strings / messages in the program will be affected).

Two new AVI options have been added in the AVI Preferences.
The first one let you specify the default behaviour of VirtualDubMod concerning MP3 VBR ala Nandub in AVI files. You can either force VirtualDubMod to handle the stream the same way Nandub does, or let the program fix the VBR stream as VirtualDub does.
Note that you will be asked to confirm this behaviour (or to use the other one) if a VBR stream is detected when opening an AVI file (just click Yes if you want to use the behaviour you specified in the preferences).
The second one concerns the way to handle AC3 and DTS sources when saving to AVI. It has been reported many times that Nandub (and VirtualDub) cut an AC3 track anywhere (and generally in the middle of an audio frame) when editing an AVI file. This sometimes lead to troubles when using the AC3 track with other tools.
You can ask VirtualDubMod to write the size of the audio frames (only possible with CBR streams) in the AVI headers. The specs theorically allow it but actually programs generally fix this value to 1 (meaning that the program can cut the stream on every byte if it wants).
Writing the size of the frames in the header should force other editing tools to deal with full audio frames (and so it shouldn't cut anywhere).
Use this feature AT YOUR OWN RISKS!!

A new Audio section have been added in the Preferences.
This tab let you access 5 options in VirtualDubMod :
  • Default preload : default preload value (in ms) to use for audio streams
  • Disable preload for non AVI output : let you disable preload when not saving to AVI
  • Priss rocks! : let you use Priss (VirtualDub internal Mpeg audio decoder) instead of an ACM one when decoding MP3 audio. There may be some bugs (in the way it is implemented, not in Priss ;)) but it seems to work better than ACM on MP3 VBR :)
  • Group frames : minimum number of audio frames to pack in a block. 0 means to process one frame at a time. Only effective when not saving to AVI, not processing MP3 VBR ala Nandub, or when using the Frame mode (see before)
  • Keep corrupted data : tells VirtualDubMod what to do with corrupted data found in MP3 / AC3 / DTS files. When kept the program will try to keep the stream in synch by processing the corrupted data as real data (computing the equivalent number of samples corresponding to the size of the corrupted data)

And a Matroska section has also been added for those who want to test different settings.


AVI Information

AVI Information The field Preload skew in the AVI information window give you the number of blocks and an estimated number of samples used for preloading.
Two fields have been added in this window :
  • FourCC code : give you the FourCC code of the compression format for the video. Note that the Decompressor field doesn't necessarily give you the codec in which the video has been compressed (e.g. DivX 3/4 video is decompressed by the DivX 5 decoder). The second line give you the name (if known) of the format corresponding to this FourCC code.
  • Audio tag : give you the compression format (the wFormatTag value) of the audio stream. Tells you if an ACM decoder is available for this format (the field Compression give you the name of the ACM codec in this case). The second line give you the name (if known) of the format corresponding to this tag.

Note that the name of the format is retrieved from the Codecs.ini file (that should be in your VirtualDubMod directory). This file comes from The Core Media Player. We thank its developpers for this great player, having made this file and letting us use it :).


Image formats

Save Image Sequence VirtualDubMod now use the Corona library. This library handle BMP, TARGA, PNG, JPEG, GIF and PCX image formats on input, and PNG on output.

This means that you can open image sequences in one of those formats (BMP and TARGA are still handled by VirtualDub internal routines though), and save to a BMP (using VirtualDub BMP routines), TARGA (using VirtualDub TARGA routines) or PNG (using Corona PNG routines) sequence of images.

The default selected format is TARGA. When using multiple times this feature during a same VirtualDubMod session the last used format is kept in memory and selected on next calls.
Menu - Video A new feature has been added in the Video menu. This feature let you save the current input or output image to a BMP (using VirtualDub BMP routines), TARGA (using VirtualDub TARGA routines) or PNG (using Corona PNG routines) file.
This feature is available thanks to the new Snapshot source frame and Snapshot output frame items.

The default selected format is TARGA. When using multiple times this feature during a same VirtualDubMod session the last used format is kept in memory and selected on next calls. This default selected format is shared with the Save image sequence feature (i.e. if you saved an image in PNG format the default format selected when saving a sequence of images will be PNG, and vice-versa).


Streams menu

Menu - Streams Starting from version 1.5.x VirtualDubMod allow the use of multiple streams in its standard use (e.g. when writing AVI files).
In this purpose the Audio menu has been replaced by Streams in the main menu. This new menu let you access features for the Video stream and the list of currently available streams (Stream list).
The Report item let you access a window where a report on currently opened files and available streams appears.
This reports give you general and specific information for each opened file or stream (caracteristics, errors, ...), such as this one :
Report
P.S. : if your report looks like this one then you are really unlucky :p


Multiple streams handling

Stream list You can manage the available streams thanks to Streams -> Stream list. The window that appears list all streams presently opened in VirtualDubMod (except the video stream of course).

Pictures and colors give you some more information on a stream. The currently selected stream has a grey (instead of white) backgound in the list. If a stream is disabled (i.e. you don't want it when muxing) some hatchings are drawn on it. You can disable a stream by double-clicking on it.

Movie icon means the stream comes from the currently opened file in VirtualDubMod. An audio streams with Speaker On icon is selected for previewing while one with Speaker Off icon isn't (just click on this image to change the state of an audio stream regarding preview). Note that only one audio stream can be selected for previewing (you can also select none), and that you can select a disabled stream.
Since version 1.5.x VirtualDubMod includes the liba52 library. Thanks to this library you should be able to decompress (i.e. use in preview or in Full processing mode) an AC3 track (the stream is converted to Dolby surround compatible stereo by the library). Note that an option also allow you to use Priss (internal Mpeg audio decoder) instead of an ACM one to decode an MP3 track (see before).

You can change the order of the streams by using Move up or Move down. You can add external sources with the Add button, or remove a stream from the list with the Delete button (note that streams coming from the opened file can't be removed from the list, to select/deselect such a stream you need to disable it thanks to the (Un)Select button - the Delete button become Select or Unselect for this kind of stream - or by double-clicking on the correspondant item in the list).
Currently supported external sources are :
  • WAV files
  • MP3 files
  • AC3 files
  • Ogg Vorbis files
  • DTS files
  • SRT files (ASCII/Unicode)
Note that for MP3 files the program look if there is a RIFF header at the beginning (i.e. it is a WAV file but you forced the program to open it as MP3) or tags (at the beginning or end of the file). Those data (RIFF header and tags) aren't muxed in the output file.
For AC3 and DTS files the program also check if there is a RIFF header at the beginning of the file.
In any case you will find all those information (was there a RIFF header, tags, and or data seen as corrupted in the file) in the Report window.

As you can see Unicode filenames are also supported (in Windows version that support it).
Import stream When opening an external source a dialog box showing progress of the process will appear. If the file wasn't valid it won't be added in the stream list. You can verify all went well thanks to the Descripion or Length information given in the stream list (if it is far different from what you expected maybe something went wrong).
The external sources are parsed and all necessary information are stored in memory for faster data access afterwards. The amount of memory used depends of the type of file opened, and its content. Some improvements have been made since the previous version of VirtualDubMod ;).For standard (i.e. CBR) AC3/DTS files it should be a few hundred bytes, around 1MB for an MP3 source (1 hours) and 2MB for an Ogg Vorbis file with same duration. Subtitles are completly stored in memory but this doesn't represent an excessive amount of memory :p
Menu - Audio To access audio streams features you can right-click on the correspondant item in the list. The Audio menu will then popup. Note that the mode (i.e. None, AVI audio, WAV audio) have been removed from the menu since useless now.

You can demux a stream with or without a WAV header by selecting Save WAV or Demux.

Ogg Vorbis streams will be automatically demuxed to an Ogg file.
Save subtitle stream Text streams will be automatically demuxed to a subtitle (SRT) file.
You will have to choose in which format (ASCII, UTF-8 or Unicode) you want to save the subtitles.

The default selected format depends on the format of the subtitles you want to save. If subtitles are ASCII then the default proposed format is ASCII, otherwise it is Unicode.


Comments and chapters handling

You can access specific comments or chapters for a stream thanks to Comments and Chapters. The video comments and chapters are accessible thanks to Video comments and Video chapters in the Streams menu.
Generally you put your chapters in the video stream. Note that only the comments and chapters specified in the video stream are taken into account when saving to a file that only handle comments or chapters at the file level (and not at the stream level). This is for example the case for AVI files (which only handle comments). And comments or chapters coming from such files will only be added in the video stream.
Stream comments Comments have 3 properties :
  • Type : defines the type of comment (see below)
  • Tag : the name of the comment (only matters for Generic comments)
  • Value : the value of the comment

There are various type of comments. Types are a convenient way to use the same comment for any output format (the output functions automatically format a comment according to its type). Note that some output formats doesn't handle comments, or only some types (not all). Here is the list of currently defined comments under VirtualDubMod 1.5.x :
Type Description Handled
for AVI
Handled
for OGM
Handled
for MKV
Specific Comment specific to a container. This kind of comment can only come from a file (you can't insert one yourself) and won't be included in the output file unless both formats (input and output) are the same or you edit its type yourself. * * No
Generic Generic comment (use this type of comment and fill the Tag field if none of the type used suits you). Yes Yes Yes
Software Software used to make the file.
Note that you can't edit this comment, and that the original value won't be kept when generating a new file.
Yes No Yes
Title Title of the clip/track (Title property in WMPlayer). Yes Yes Yes
Description Subject of the clip/track (Description property in WMPlayer, except for AVI file). Yes Yes Yes
Language Language property in WMPlayer. No Yes Yes
Author The artist generally considered responsible for the work. In popular music this is usually the performing band or singer. For classical music it would be the composer. For an audio book it would be the author of the original text. (Author property in WMPLayer) Yes Yes Yes
Copyright Copyright attribution (Copyright property in WMPlayer). Yes Yes Yes
License License information, eg, 'All Rights Reserved', 'Any Use Permitted', a URL to a license, etc. No Yes Yes
Commissioner Person or organisation that commissioned the subject of the file. Yes No Yes
Comment Comment on the clip/track. Yes No Yes
Genre   Yes Yes Yes
Keywords Keywords refering to the file or its subject. Yes No Yes
Date Creation date. No Yes No
Version The version field may be used to differentiate multiple versions of the same track title in a single collection (e.g. remix info). No Yes No
Performer The artist(s) who performed the work. In classical music this would be the conductor, orchestra, soloists. In an audio book it would be the actor who did the reading. In popular music this is typically the same as the Author and is omitted. No Yes Yes
Album The collection name to which this track belongs. No Yes Yes
Track Number The track number of this piece if part of a specific larger collection or album. No Yes No
Organisation Name of the organization producing the track (i.e. the 'record label'). Yes Yes No
Location Location where track was recorded. Yes Yes No
Contact Contact information for the creators or distributors of the track. This could be a URL, an email address, the physical address of the producing label. No Yes No
ISRC ISRC number for the track. No Yes Yes
URL   No No No
(Track) Name Name of the track (as described in AVI or Matroska specs). Yes No Yes
Stream language As you could see Unicode comments are supported here too (except for Win9x as said at the beginning).

Nb : please note that when saving to AVI comments are translated to the ANSI code page (in my tests I wasn't able to properly include Unicode comments in an AVI file).

When selecting (or modifying) a Language comment another combo-box containing a list of predefined languages will appear. This list languages defined in the ISO-639-1 standard. You can access the full list of languages defined in the ISO-639-2 standard by checking the Full language list box.
Stream chapters Chapters are now handled in another window. Time is stored as fraction in the code, but in the GUI the format used is HH:MM:SS.mmm (HH = Hour; MM : Minute; SS : Second; mmm : Millisecond). If the time you entered in the field doesn't follow this format you will be warned when trying to Add or Edit a chapter information.

You can use Unicode chapter names too (unless under Win9x).

You can also import a chapter list (.txt file) thanks to the Import button. Known files formats are:
  • SmartRipper
  • chapterXtractor (select OGG format)
  • DVDDecrypter (select OGG format)


Previewing and Saving

Menu - File A few things have been changed in the File menu.

Since you can now append OGM segments, Append AVI segment has been renamed Append segment. When using this feature the program will select the correct extension of files to append (i.e. AVI files when you have opened an AVI file, and OGM files when you have opened an OGM file).
Comments and chapters should be appended correctly too. If comments are equals duplicated ones are removed. If chapters seems equals (same name, and time difference between them is less than 2 ms) then the duplicated ones are removed.

A new Preview VBR item has been added. Using this preview mode (instead of the normal Preview) should give better results when the audio stream you selected for preview is VBR (especially when you start previewing in the middle of the clip and not at the beginning).

The previous Save as AVI, Save old format AVI, Save segmented AVI and Save as OGM items have been replaced by a unique Save as window.
Save As The new Save as item let you access a window you can use to save in the desired format, with the desired options.

This window merge the options so that you can save in the old AVI format (AVI 1.0, VfW 1.1e; the default format being AVI 2.0, OpenDML 1.02).

You can select the desired output format (i.e. AVI, OGM or MKV file).
The format used in the last call of Save as is stored in the Windows registry and automatically selected each time you access the window.

You can also ask to segment the output file (according to a size or number of frames limit).

Note that suring a session of VirtualDubMod the program remembers if you used the Job list to queue the previous job or not. i.e. if you put a job in the list, next time you call Save as then the corresponding checkbox will be checked by default.

This window also remind you of the current video mode, and the selected codec (when reencoding). You can change the mode and/or change the codec to use for reencoding.
Dubbing window The Main tab in the Dubbing status window remains unchanged : it still show you status about the video stream and an audio stream. The audio section actually give you information on the first stream being muxed in the output file (i.e. it may in fact be a text stream). The Estimated total time is also computed only by taking into account the video and audio status.
However, even if no information is shown about other streams (if any) the Projected file size and the Progress information take into account all the streams being muxed.

For more information on the dubbing process a new Streams tab have been added. This tab still give you information about the video stream, but also list information about all the other streams (in the order in which they are muxed in the file). The number given for each stream is not an index but the serial given to the stream in the output file. This means that each number is unique for a dubbing process, but (even if it is most likely to be like this) they are not necessarily 1, 2, 3, ... (e.g. having 7803, 204, 65214 doesn't always mean there is a bug :p)
Here both Projected file size and Estimated total time take into account all the streams.
As you can see a scrollbar appears in the tab when the number of streams make it necessary (i.e. when you have more than 1 streams - not including video - to mux).


All the external files you added as input (and all the video comments and chapters) are removed from the list when closing the currently opened video file.
This happens when you open a new video file, when you select File -> Close video file in the menu, at the end of a job, and (of course) when leaving VirtualDubMod.
So don't open those external files before opening your video file because in this case you will have to do it again :p


Batch mode

Job List Last but not least the Job file will save all the information concerning used streams and their options (compression, ...), comments and chapters. So you can still use the Don't run this job now; add it to job control so I can run it in batch mode feature.
Note that a Skip button has been added in the Job list window. On the contrary to the Abort button (which stop jobs processing) it abort the current job and go the next one.

Also your current configuration (input streams selected and their associated comments and chapters) should be saved when using Save processing settings, and can be reloaded when using Load processing settings.


Miscellanea

The Go to last keyframe feature (coming from Nandub) has been added in the Edit menu.
This feature let you jump to the nearest previous keyframe preceding a certain position (expressed in megabytes) in the file.

You can see the position in file of the currently shown frame at the bottom of the window.
The file position only take into account the currently opened video file, and so is only worthy when you plan to save (in Direct stream copy mode) to the same file format (AVI and OGM don't have similar overheads).
Menu - Edit

Jump to

MB position