View Full Version : VirtualDub2
v0lt
5th January 2019, 07:32
This would be a job for a CLI multiplexer for your desired container format (e.g. MP4: MP4Box, or MKV: mkvtoolnix); or possibly ffmpeg as universal tool. But VirtualDub2 is for interactive editing.
I recently tried to split the MP4 file.
MP4Box can only cut with an accuracy of 1 second.
FFmpeg corrupts the beginning of MP4 file (https://trac.ffmpeg.org/ticket/7651).
LigH
5th January 2019, 08:43
@v0lt: groen did not mention cutting files, only selective remultiplexing.
I don't know much about the "Batch Wizard"; if shekh considers it powerful, I will trust him.
shekh
5th January 2019, 09:15
@v0lt: groen did not mention cutting files, only selective remultiplexing.
I don't know much about the "Batch Wizard"; if shekh considers it powerful, I will trust him.
It only lets to repeat same set of operations for multiple files, I don't claim the produced mp4 is free of any errors.
StainlessS
5th January 2019, 09:30
I once used the batch processor to mass convert hundreds (maybe thousands) of audio files[as WAV only], worked flawlessly (needed dummy video clip I think).
groen
8th January 2019, 01:13
To be honest I think I requested that feature years ago on virtualdub and nandub threads.
Does anyone know of an alternative tool that can change audio streams and direct stream copy in a batch process? thanks!
LigH
8th January 2019, 06:44
Usually, if you ask for batch processing, you ask for ffmpeg.
wonkey_monkey
8th January 2019, 10:50
Small request: when a video exceeds or matches screen resolution in a maximised window, the video frame disappears so the whole thing can be viewed. But if only the width matches, the border remains. Could the border remove itself when either the width or (less likely) height matches?
shekh
9th January 2019, 15:45
Small request: when a video exceeds or matches screen resolution in a maximised window, the video frame disappears so the whole thing can be viewed. But if only the width matches, the border remains. Could the border remove itself when either the width or (less likely) height matches?
Both width and height must match or exceed available area, I'm afraid otherwise I need to fill remaining borders with black or custom color (this feature was also requested before).
But you can manually reduce panes area (vertically) by using View->Curve editor.
lansing
14th January 2019, 20:34
Something is wrong with "full processing mode". I tried to encode a vapoursynth script, VS editor benchmark speed at 60 fps, with VD's "normal recompress", encoding speed is at 56 fps, but with "full processing mode", speed has dropped to 5 fps.
shekh
14th January 2019, 20:47
Try to run Tools->Benchmark analyze pass, show screenshot of what is displayed.
lansing
14th January 2019, 22:01
um, I couldn't reproduce the slow speed issue now, the "full processing mode" works normal again.
LigH
17th January 2019, 14:52
How do I use VirtualDub2 to remultiplex a video (addition: with a different frame rate) from MKV to MP4?
I open an MKV with AVC (H.264) video stream only.
I select "Video - Direct stream copy".
(addition: I select a new frame rate via "Video - Frame Rate..." and "Source rate adjustment")
I use "File - Save as", select "MP4 (MPEG-4 Part 14) (*.mp4)"
---------------------------
VirtualDub Error
---------------------------
Direct stream copy cannot be used with this video stream.
You may want to select different Input Driver.
---------------------------
OK
---------------------------
shekh
17th January 2019, 16:15
Some explanation https://sourceforge.net/p/vdfiltermod/wiki/direct_copy/
Input driver which works with mkv and direct stream copy is "fcchandler matroska" https://sourceforge.net/projects/fcchandler/files/Virtualdub%20Matroska%20plugin/
However I'm not sure the result can be saved to mp4 safely, try it.
Yanak
19th January 2019, 17:03
Not using virtualdub for this but just in case... MP4box should achieve this simply :
MP4Box.exe -add video.h264:fps=60 -new Output.mp4
Once you have extracted the video stream from the mkv video (using mkvextract for example) just set the desired fps in the command line
Edit :
this command should do too:
MP4Box.exe -add video.h264 -fps 120 -new Output.mp4
SeeMoreDigital
19th January 2019, 18:16
How do I use VirtualDub2 to remultiplex a video (addition: with a different frame rate) from MKV to MP4?
I think it would also be most useful if VirtualDub2 could be configured to save a selected quantity of frames (between key or I-frames) into the same container as the source or as an elementary stream.
wonkey_monkey
19th January 2019, 23:41
VirtualDub2 doesn't (for me) update the Audio Display when playing. It's fine when stepping with cursor keys, page up/down, or scrubbing on the timeline with the mouse, but hitting space to play just causes the currenty displayed waveforms to scroll off to the left with no new waveform data replacing it from the right. The frame numbers update, though.
shekh
20th January 2019, 00:56
VirtualDub2 doesn't (for me) update the Audio Display when playing. It's fine when stepping with cursor keys, page up/down, or scrubbing on the timeline with the mouse, but hitting space to play just causes the currenty displayed waveforms to scroll off to the left with no new waveform data replacing it from the right. The frame numbers update, though.
Are you playing avisynth script? Currently the waveform can update during playback only when using caching input driver.
This is because audio must be read concurrently on two threads, and most sources do not support this. I was thinking on possible solution, best I can imagine is to buffer a window long enough to satisfy both ends. This feels surprisingly complex.
wonkey_monkey
20th January 2019, 01:04
Yes, sorry, I forgot to say: it was Avisynth colorbars.
Milardo
28th January 2019, 07:45
Does virtualdub2 have a capture avi mode? I haven't tried it out yet. Also, can ffdshow be used as the video decoder for just preview/watching in virtualdub2 when in the capture avi mode?
LigH
28th January 2019, 09:37
Yes, VirtualDub2 still contains the "File - Capture AVI..." menu entry of the original VirtualDub by Avery Lee (can't test its functionality due to a lack of source devices here).
I believe the capture mode is mainly based on VfW still, so it can probably use ffvfw as VfW decoder for captured video (no affirmative answer). Use the 32 bit application.
Milardo
28th January 2019, 17:30
Ok, but can I just preview/watch through virtualdub and have ffdshow decode the video? I don't want capture/record anything.
shekh
28th January 2019, 17:37
Ok, but can I just preview/watch through virtualdub and have ffdshow decode the video? I don't want capture/record anything.
Duplicate thread https://forum.doom9.org/showthread.php?p=1864060
wonkey_monkey
31st January 2019, 17:54
Feature request: when right clicking to change zoom, center (as much as possible) on the point which was initially right-clicked on, rather than whatever is currently in the center of the view.
----------
Question: does VirtualDub2 cache frames differently depending on how long they take to be fetched? Like if a frame is fetched very quickly, is it less likely to cache the frame?
rbauer
4th February 2019, 19:00
Hi.
is there any chances to make it portable?
Now it writes (a lot) to:
HKEY_USERS\S-1-5-21-95864766-2325389660-2471813846-1002\Software\VirtualDub.org\
HKEY_USERS\S-1-5-21-95864766-2325389660-2471813846-1002\Software\VirtualDub.org\Script Editor\
HKEY_USERS\S-1-5-21-95864766-2325389660-2471813846-1002\Software\VirtualDub.org\VirtualDub\
HKEY_USERS\S-1-5-21-95864766-2325389660-2471813846-1002\Software\VirtualDub.org\VirtualDub\External Encoders\
HKEY_USERS\S-1-5-21-95864766-2325389660-2471813846-1002\Software\VirtualDub.org\VirtualDub\MRU List\
HKEY_USERS\S-1-5-21-95864766-2325389660-2471813846-1002\Software\VirtualDub.org\VirtualDub\Persistence\
Many Thanks
shekh
4th February 2019, 19:34
These are actually HKEY_CURRENT_USER
You can run once virtualdub.exe /portable and it will create VirtualDub.ini, or you can just create a blank file yourself.
All VirtualDub settings will go to ini file instead of registry.
But plugins will continue to use registry (e.g. Script Editor)
nji
4th February 2019, 21:13
When adding a logo
(say logo image = unique color (255,0,255),
"Enable...", "Use gray",
secondary image a mask containing black and white)
in the resulting frame the logo is (254,0,254).
This in 64 bit (build 43073)
In 32 bit everything's fine.
rbauer
4th February 2019, 21:34
You can run once virtualdub.exe /portable and it will create VirtualDub.ini, or you can just create a blank file yourself.
All VirtualDub settings will go to ini file instead of registry.
But plugins will continue to use registry (e.g. Script Editor)
I have tried again with VirtualDub2_43364 (no added external plugin), empty VirtualDub.ini and then double click on "VirtualDub64.exe" (I'm using win8.1pro 64bit on non admin account):
VirtualDub.ini is written but the program still writes to registry:
HKEY_USERS\S-1-5-21-95864766-2325389660-2471813846-1002\Software\VirtualDub.org\
HKEY_USERS\S-1-5-21-95864766-2325389660-2471813846-1002\Software\VirtualDub.org\Script Editor\
Thanks
Groucho2004
4th February 2019, 21:39
I have tried again with VirtualDub2_43364 (no added external plugin), empty VirtualDub.ini and then double click on "VirtualDub64.exe" (I'm using win8.1pro 64bit on non admin account):
VirtualDub.ini is written but the program still writes to registry:
HKEY_USERS\S-1-5-21-95864766-2325389660-2471813846-1002\Software\VirtualDub.org\
HKEY_USERS\S-1-5-21-95864766-2325389660-2471813846-1002\Software\VirtualDub.org\Script Editor\
What do you think the files in the "plugins32" and "plugins64" directories are? The directory names should give you a hint.
Just a reminder, this is what shekh wrote:
All VirtualDub settings will go to ini file instead of registry.
But plugins will continue to use registry (e.g. Script Editor)
rbauer
4th February 2019, 22:00
What do you think the files in the "plugins32" and "plugins64" directories are? The directory names should give you a hint.
I don't get what you mean :confused: : I'm using VirtualDub64.exe 'cause I'm using a 64bit OS (i know plugins32 holds 32bit filters and the same with plugins64 and its filters).
Just a reminder, this is what shekh wrote:
Ok, get it, i'm gonna make a turbostudio version.
:thanks:
shekh
4th February 2019, 23:57
When adding a logo
(say logo image = unique color (255,0,255),
"Enable...", "Use gray",
secondary image a mask containing black and white)
in the resulting frame the logo is (254,0,254).
This in 64 bit (build 43073)
In 32 bit everything's fine.
This is terrible. I was about to offer another filter (fflayer) but it has similar issue.
for logo 32-bit code uses mmx inline asm; 64-bit code uses heavy bit-hackery. All this code looks throwaway.
nji
5th February 2019, 00:20
This is terrible. I was about to offer another filter (fflayer) but it has similar issue.
for logo 32-bit code uses mmx inline asm; 64-bit code uses heavy bit-hackery. All this code looks throwaway.
As far as I know the original VirtualDub (64 bit) filter works fine.
Maybe you could take that one?
shekh
5th February 2019, 00:30
As far as I know the original VirtualDub (64 bit) filter works fine.
Maybe you could take that one?
I did not change it. Anyway, tested with 1.10.5 and the issue is present.
nji
5th February 2019, 00:39
I'm sorry - then my information about orig VirtualDub was wrong.
However don't worry too much.
Actually it WAS terrible when nobody knew about the bugs in logo and fflayer.
Now we're a step further, and can turn to that :-)
wonkey_monkey
13th February 2019, 00:39
I've just noticed that if I press F2 while an Avisynth script is loaded, the new instance of the filter I'm testing gets constructed before the previous one gets destructed. If, instead, I reload the file manually (selecting it from the Recent list), the previous instance gets destructed before the new instance is constructed.
More out of curiosity than anything else (I'm trying to track down a crash, but that's my filter's problem), is there a reason for the difference?
shekh
13th February 2019, 01:57
I've just noticed that if I press F2 while an Avisynth script is loaded, the new instance of the filter I'm testing gets constructed before the previous one gets destructed. If, instead, I reload the file manually (selecting it from the Recent list), the previous instance gets destructed before the new instance is constructed.
More out of curiosity than anything else (I'm trying to track down a crash, but that's my filter's problem), is there a reason for the difference?
Interesting. This probably can become an issue with some script.
Calling recent file is same as "close, open" but "reopen" is special atomic procedure. However the only case where it makes difference is the dialog telling the timeline becomes shorter and you can lose some edits. From there you can choose "cancel", in which case the whole reopening is aborted and you are left with previous state unchanged.
wonkey_monkey
15th February 2019, 00:24
Hey shekh, I know I've already asked for a lot of stuff, but would you consider adding an option to disable the grey frame that comes up when you reach the end of the timeline? It can be jarring when scrubbing back and forth.
Seeing the frame count at the end of the timeline is nice, but if you could add an option to make it impossible to actually reach that last point, it'd be really great.
shekh
15th February 2019, 11:58
I have an idea. There is this feature which can work: go to last visible frame, press "set selection end" (to select entire timeline but the last frame), press Go->Zoom selection. In this mode you will not see the gray "past the end frame".
What is missing probably, I should enable "Zoom selection" doing exactly this when there is no timeline selection initially. Would be easy.
Btw,
I just updated and now I find that VirtualDub2 remembers zoom levels from when I last closed it. This, I think, is different to the previous behaviour, where files were always first opened at 100%.
The option exists now: preferences->Main->Remember autosize and zoom
nji
25th February 2019, 16:33
As far as I understand the matter of direct stream copy of audio
it is only possible by reading the audio by another codec.
As the standard codecs decode both video and audio.
Right?
OK, as mostly I only change visible effects in the video
(no fps change etc.) my typical work flow is to use
"direct stream copy" with "from another file".
This works well for MP4(AVC,AAC), by reading the audio
with the "Quick Time decoder".
But - as I now discovered - fails for WMV9 (even if both
audio/ video are CBR), reading the file with the WMV plugin (by fccHandler).
The audio is out of sync (too late).
What did I do wrong?
nji
26th February 2019, 09:53
Anybody to confirm that effect?
shekh
27th February 2019, 06:55
Hi nji,
In some file types audio has relative offset to video and this offset is ignored when using "audio from other file". Maybe this is the case. I can tell better if I look at specific sample, can you share it?
nji
27th February 2019, 10:07
Hi shekh.
The effect seems to be with every typical WMV file (WMV9/ WMA2, even if both CBR).
And it differs from file to file (sometimes it's about -600ms, sometimes about -700ms, ...).
While I'm not sure if it's an absolute offset at all, but non-linear.
I had a look with MediaInfo, but there's no entry about audio offset.
I would like to point out that I'm not trying to do some very unusual thing.
It's just that I want to improve some older videos by light, color.
No timeline change, no audio change.
And of course I would like audio leave untouched then.
But - if I get all this right ... (do I?) - for this I have to get a
second import filter for that format, import audio separately with that,
and for "some (which?) file types" (your quote) still get wrong results?
Isn't that kind of ... horrible?
Or is my thinking wrong somewhere, and there is a simple workflow for that
simple task?
shekh
27th February 2019, 19:12
The whole application is not seamless. Simple workflow is full processing (video and audio). Anything involving direct copy has caveats, something works something not, I would not call this simple.
Please understand vd2 is product of different motivation. The original was meant to perform direct copy - abandoned by all developers. I mostly concentrate on full processing. As you see utilizing both these pieces at the same time is problematic.
Direct copy may look like simple concept, but implementation is not easy, for example, mkvmerge has incredible amount of code and it "just" does direct copy of some formats.
Considering the WMV problem, will see if I find it fixable
nji
27th February 2019, 21:13
Hi shekh.
Thankyou for your explanation.
Please don't get me wrong - it is not meant demanding.
(Actually I'm very grateful for your great work on vd2).
Being mostly a user, with a little knowledge here and there,
I am often suprised by all that pitholes.
(Said between us:
If I was to design the technology of video in a most confusing way...
I wouldn't have enough creativity to reach what is given now ... ;-))
OK, maybe my newbies' feedback still is kind of useful for you?
If one just wants to improve the video (without changing timeline)
and lets the audio at "copy", he would expect to have that done.
searching for another input filter (if exist at all),
setting "from another file",
all this is not so nice.
(Even worse if the result of all this is wrong then (de-sync)).
Isn't there a way to copy the audio without a different input filter?
For example by reading the file by a second instance of the given filter?
In the meantime I searched for infos about wmv/wma and audio issues
- without success.
As mentioned, no info about the audio offset shown.
But it must be somewhere (?).
On the other side:
Maybe for the professionals it's a strange combination I produced:
MKV container with AVC and WMA?
But to decrease the audio quality without need ...?
Greetings :)
shekh
27th February 2019, 21:46
In fact I started to fix the audio copy issue (I agree it is annoying), but you know there is always lack of time for something.
If I was to design the technology of video in a most confusing way...
I wouldn't have enough creativity to reach what is given now
This is brilliant :)
Taurus
27th February 2019, 23:18
If I was to design the technology of video in a most confusing way...
I wouldn't have enough creativity to reach what is given now ...
Yeah, this what I'm thinking every other day!
wonkey_monkey
4th March 2019, 17:44
I recently updated to the latest version and it now seems that copying (CTRL+1, CTRL+2) doesn't work. Photoshop complains of "unexpected end-of-file" and Ditto (clipboard manager) doesn't show a thumbnail as it used to.
Edit: 43385 seems to fix it.
lansing
13th March 2019, 08:00
I'm requesting new feature, I want to go through a video and save a lot of screenshots manually. Right now I can set a hotkey to trigger the "file.saveImage" event, but it'll come with a prompt and file name of the saving image was defaulted to the file name of the video. So the work flow not good. I want something like setting an image location and then when I press the hotkey, the image will be save automatically to the folder with a unique image file name, and no prompt.
shekh
13th March 2019, 11:02
I'm requesting new feature, I want to go through a video and save a lot of screenshots manually. Right now I can set a hotkey to trigger the "file.saveImage" event, but it'll come with a prompt and file name of the saving image was defaulted to the file name of the video. So the work flow not good. I want something like setting an image location and then when I press the hotkey, the image will be save automatically to the folder with a unique image file name, and no prompt.
Hi. The way I want to do it:
first set markers for all desired frames
then use "Save image sequence" and enable "save what: markers" option. The option needs to be implemented.
I might also do as you describe but it means adding some hidden file.SaveImageWithoutAsking command. Need to think about it.
lansing
13th March 2019, 18:02
Hi. The way I want to do it:
first set markers for all desired frames
then use "Save image sequence" and enable "save what: markers" option. The option needs to be implemented.
I might also do as you describe but it means adding some hidden file.SaveImageWithoutAsking command. Need to think about it.
Saving images as hotkey pressed gives me more control, I can get access to the saved image right away. It is similar to how the capture mode saving works, you first set a location and a base file name, and then every captured video was auto saved to that folder with filename + some increment number.
With "set marker->save image sequence", I can't access the images until the whole thing was finished.
wonkey_monkey
24th March 2019, 00:21
I'm not sure if this is a VirtualDub2 problem, but the following Avisynth script:
colorbars(pixel_type="rgbap8")
comes out all messed up. I was surprised it worked at all, given that VirtualDub2 doesn't understand pixel_type="rgbp8" (no alpha). Is it mistaking RGBAP8 for some other colour space?
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.