View Full Version : VirtualDub2


Pages : 1 [2] 3

shekh
14th April 2020, 09:51
What's wrong?
https://i.postimg.cc/wT8gmVfd/filter.png

nji
14th April 2020, 10:34
There are several things that are wrong here.

1. At my (quite typical) installation sections "Preferred filter" and "Display mode" are all greyed ( = can't be changed).
2. "Preferred filter" is set to "Any available" which means that it (at my config) uses bicubic.
This is completely nonsense as I (as already mentioned) need to assess the actual pixels, and no "en-nicing".
3. Enabling section "Preferred filter" works at me only if enabling "OpenGL" (which has time-consuming disadvantages I assume).
If I disable DirectX at all (and fall back to GDI?) has other drawbacks I assume. But obviously (although still greyed "Any available"
chosen then) it uses the wanted "Point" method.

==> Everything is wrong.

shekh
14th April 2020, 17:08
Check this: https://sourceforge.net/p/vdfiltermod/wiki/display/

Why best setup is not initial? Because of historical reasons.
With Direct3D all options should be enabled, if you have them grayed it is strange.

videoh
14th April 2020, 17:42
I confirm options are all enabled when configured that way. Thanks!

nji
14th April 2020, 18:14
I agree to that ... IF options are configured that way.
(If anything else fails >> read the wiki ;-)
(Will take my time now to read all it's pages finally).

Still I would like to point out once again that to my opinion it makes no sense to set "Preferred filter" to
- "Any available" (since you don't know which that may be)
- anything else but "Point" (since I want to assess the movie, and not enjoy a "en-niced" version of it).

Hope that it may be of any enlightment for not only me ;-).

Thanks for the contribs!

nji
14th April 2020, 18:56
For this issue I have one more suggestion:

Could you please remember the chosen values for "Preferred filter" in VD2?
As you do with "zoom".

LigH
30th April 2020, 23:39
We may need new ffmpeg input plugins supporting AV1; I could not open the YouTube beta UHD files.

LigH
11th May 2020, 09:29
@shekh - any opinions about updated input plugins?

shekh
12th May 2020, 09:54
@shekh - any opinions about updated input plugins?

Hi, the plan to do this is to update ffmpeg build to the current version and check for any breaking changes. Also it will lose XP compatibility so I have to decide something about it.

StainlessS
12th May 2020, 15:38
Shekh, if you do decide to abandon XP users, then please make available "LastForXP" version on your github, and thanks very much whatever you decide.

EDIT: I meant Sourceforge.

videoh
12th May 2020, 15:43
C'mon shekh, drive that stake through the heart of XP. :devil:

LigH
13th May 2020, 07:45
Alright, soon™ then ... and :thanks: in advance.

Emulgator
13th May 2020, 09:55
Hi shekh, many thanks for your continued work on that valuable tool !
Donation time for me.

Please no unnecessary XP killing if it can be avoided :)
There are still many use cases around the world.
Here running 5 machines XP32ProSP3, 3 machines Win7U64SP1.
Let's not forget: Some useful softwares, devices and their drivers are working perfectly well, but are abandoned and will never be updated above WinXP. People in some parts of the world are still blocked out by embargos (I was once too) and will see no financial progress.
They won't have access to newer, hungry, more expensive machines, but are capable of doing good stuff with the old ones...

Where do I put it ?

wonkey_monkey
14th May 2020, 18:56
A couple of feature requests:

https://i.imgur.com/UYeLwEl.png

A couple of things have bugged me about this dialogue box for a while.

Firstly, "Video data:" and "Audio data:" have the suffix "KB", but "Projected file size:" has the suffix "K". Making them match would make the numbers in the last two line up and make for easier comparison.

I think the bitrate in "Video data" should come before the data size to maintain that alignment for all three fields. Come to think of it, why not include a bitrate for "Audio data" as well?

Lastly, it has always bugged that there isn't an "Estimated time remaining" because this would be the most useful information to display. "Time elapsed" and "Total time" don't actually tell you anything useful unless you do the mental gymnastics to subtract one from the other.

LigH
2nd June 2020, 10:22
Does the ffmpeg input plugin also have known limits regarding very low bitrate WMA9 and (possibly HE) AAC, or on-the-fly resampling while decoding? Seems to be the case in this VideoHelp forum thread (https://forum.videohelp.com/threads/397499-Decoding-WMAP-audio-codecs-with-VirtualDub).

Morku
10th June 2020, 20:36
Are there any known issue for Windows 10 Version 2004 (Version 19041.329) when Capturing AVI? I have.

Today I wanted capture some AVI with my Dazzle DV100 (DirectShow) with VirtualDub. But instead to get my fluid and clean result as usually, the video is choppy and audio distorted.

To show you, I recorded a short clip (little compressed) and uploaded here: https://www.dropbox.com/s/ycn7ce9fyw2ft3e/VirtualDub2%20issue.zip?dl=1

I have also put my VirtualDub Settings into it.


Luckily, I have some other hard drive with Windows 10 Version 1809 (Build 17763.1039) on it.

So: Same hardware, same grabber, same player, same settings, same VirtualDub2 version -> no problem at all. The result is clean.

Now, to verify, it's 'not NVIDIA again', I took my older Laptop with integrated Intel HD graphics on it, also Windows 10 Version 2004 (Version 19041.329).
The result is again choppy and audio distorted.
And of course to verify, it's not my player, I checked my Nintendo N64 on my grabber, but the result is the same.

The choppy video and distorted audio is already in the Preview, not just the output file.

So it comes down, the only difference I notice between fine and distorted result is the Windows version.
What can I do and try now?

VirtualDub2 is build 44282

shekh
11th June 2020, 08:21
Morku

I don't know, the only idea: make sure you capture at 100% cpu power. "balanced power profile" may have bad effect on capture and it may change with os version. I saw it happening only once though.

Morku
11th June 2020, 12:38
For test, i set my energy settings in control panel to "ultimate performance". Also I set the hook in VirtualDub2 for "Maximize CPU power when capturing", but the result is the same. Chopy and audio distorted.

During capturing, the Inserted frames statistics rise up. "Like my PC is to slow". But can't be, it's i7 6-core 8086K, 32GB and all SSD.

I have tested another Laptop with Windows version 1909 on it. Sandy Bridge i3-2328M CPU 2-core CPU, 4GB RAM and same old slow HDD and the recording is absolutly fine.

Unfortunately I have no other DirectShow recording device to check the result there. Still could be something incompatible driver of Dazzle DVC100 in 2004. But the device and driver is detected fine and video/audio passthrough 'somehow'. So I don't know...

It's definitely really annoying :(

EDIT: tested with OBS and the result is choppy, too. So probably some driver or W10 2004 in general issue...

shekh
11th June 2020, 22:43
To get more info:
during capture test
1) Capture->DShow graph
dshow may construct extremely weird decoding chains
2) Capture->Realtime profiler
just make screenshot of it

Morku
12th June 2020, 16:11
Thank you for having a look, also when I think there is nothing we can do.

https://i.imgur.com/daLWVDr.png

shekh
13th June 2020, 08:34
Thank you for having a look, also when I think there is nothing we can do.

https://i.imgur.com/daLWVDr.png

Looks like this is preview, you should start capture before, some details will change. In this state I don't see anything evil.

Morku
13th June 2020, 17:40
sry
https://i.imgur.com/rGnQu34.png

shekh
14th June 2020, 10:31
sry
https://i.imgur.com/rGnQu34.png

It looks wrong that cpu profile still indicates 5-100% - this is wide power range (I cant see proof that is actually has any bad effect).
Might be interesting to see the same test picture from the system where the capture works right.

Some generic ideas
disable audio resample (capture->timing->do not sync..)
change DirectShow options in capture->timing.

The choppy audio sounds like every sound packed is padded with silence - hard to tell with AAC on top. Don't know what can cause this.

Morku
14th June 2020, 15:00
This is from the System with mobile Sandy Bridge CPU where all is fine (with previous Windows OS version). Like it was on my main PC with previous Windows OS before 2004.

https://i.imgur.com/BZERqfw.png

I changed option to like that:

https://i.imgur.com/oLZtlMn.png

It doesn't make any difference. Even disabling recording audio, the Inserted Frames till rise up and the preview video (Overlay) is choppy which is normally not.

StainlessS
15th June 2020, 15:12
Hi Shekh,
Perhaps you can inject some wisdom into this thread:- https://forum.doom9.org/showthread.php?p=1915724#post1915724
thanks.

age
24th June 2020, 18:47
Hi, is it possible to update ffmpeg and x264 to the latest releases?

LigH
25th June 2020, 07:52
@age - that seems to require a decision...

Hi, the plan to do this is to update ffmpeg build to the current version and check for any breaking changes. Also it will lose XP compatibility so I have to decide something about it.

shekh
1st July 2020, 11:03
Hi, is it possible to update ffmpeg and x264 to the latest releases?

It's good thing to do but I really lack time.

Wam7
3rd July 2020, 18:29
Are there any Delogo filters that works with VDub2 x64?

vigan1
8th July 2020, 15:55
Hello, is there any tutorial on how to use it. Like all the function explained step by step.

I need to add a denoiser BM3D in virtualdub2 but I can't understand how to use avisynth scripts ?
Is there a way to use BM3D in virtualdub2 at 16bit (deepcolor i think) ?

Thank you.

LigH
9th July 2020, 10:56
VirtualDub filters and AviSynth plugins are different things. If you load an AviSynth script in VirtualDub2, then the filtering is probably mostly done in the AviSynth engine, so you will need to learn AviSynth scripting (http://avisynth.nl/index.php/Main_Page) to handle its plugins.

Apart from that, BM3D (https://forum.doom9.org/showthread.php?t=172172) seems to be a VapourSynth filter. Again, something different.

Tehnicni
19th July 2020, 00:00
Does anyone have experience with importing and processing raw images from any camera.
I am thinking of buying a good let say 14 bit camera for sunset time lapse and would like to ensure compatibility with VirtualDub2.

poisondeathray
19th July 2020, 03:09
Does anyone have experience with importing and processing raw images from any camera.
I am thinking of buying a good let say 14 bit camera for sunset time lapse and would like to ensure compatibility with VirtualDub2.


Raw images will not be accepted natively. They need to be debayered and processed and exported into some compatible format first, maybe 16bit PNG or TIFF .

eg. dcraw, RawTherapee, or commerical options like adobe, DxO etc...

shekh
19th July 2020, 13:48
Does anyone have experience with importing and processing raw images from any camera.
I am thinking of buying a good let say 14 bit camera for sunset time lapse and would like to ensure compatibility with VirtualDub2.

Yes VD2 does not have much to offer about raw formats. One thing you may think of is debayering with another tool to 16-bit tiff and then manipulate 16-bit sequence in VD2. Still, there is not much useful filters for that task, not a single HDR tonemapping for instance.

Tehnicni
19th July 2020, 14:29
I was dealing with these programs (free and paid) about a year ago, but I couldn't get a 16 bit image before tone mapping. Is LRTimelapse really the only solution for time lapse, which I don't like it.

For wide angle I have great solution YI action camera & VD2. At narrow angle (around 20 to 30°) sunset there is so big dynamic rang, that you can't handle without HDR.

Here is a nice wide angle sunset.
https://youtu.be/oI57LcjHOJs
And demo for txt and transition.
https://youtu.be/r4a5Vj4mPNs

JK1974
25th July 2020, 12:36
Is there a solution to split a long AVI file (in my case encoded with UTVideoCodec) to several smaller files (without recompression) not by setting a range for each segment?

I have used the scene detection feature of VD2 and then, after validation, set a marker on each correct scene start, but there does not seem to be an option to export those segments automatically into several AVI files.

Or does anyone know a tool that can accomplish this by importing a list of scene start frames? Because when I open the vdproject file in a text editor, I get entries like this;
VirtualDub.video.AddMarker(0);
VirtualDub.video.AddMarker(1030);
VirtualDub.video.AddMarker(1299);
VirtualDub.video.AddMarker(1311);
VirtualDub.video.AddMarker(1445);
VirtualDub.video.AddMarker(1449);
VirtualDub.video.AddMarker(1814);
VirtualDub.video.AddMarker(1911);
VirtualDub.video.AddMarker(2045);
Using a text editor, I could get rid of the AddMarker command, the brackets and the semicolon within seconds, so that I could get a plain list of section start entries... ;)

nji
17th August 2020, 14:08
Why are there 2 codecs offered for lagarith (lagarith.dll and lagarith.vdplugin), and what's the difference?

LigH
17th August 2020, 14:32
The archive VirtualDub2_44282.zip does not contain any lagarith.dll :confused:

nji
17th August 2020, 15:18
The version I use (44054) doesn't contain a lagarith.dll either. But still that codec is offered too when saving a movie.
Do you have only 1 lagarith entry when saving?

StainlessS
17th August 2020, 17:20
You probably installed a system wide Lagarith codec [maybe via some codec pack], the vdplugin thing comes with vdub2, and only works with vdub2.

EDIT:
This seens to be the Lagarith home site:- https://lags.leetcode.net/codec.html

Lagarith was last updated on December 8, 2011.
Last official version v1.3.27.

nji
17th August 2020, 20:40
The man from over the rainbow is right again :)
Thanks.

Actually I installed a codec pack (K-Lite).
But as probably most of VD users will,
and most of the codec packs will contain lagarith,
nearly everyone should have that double entry in VD (?).
Should be no problem to "disable" the vdplugin thing then?
(I hate unnecessary redundancy)

LigH
18th August 2020, 07:29
You might delete the vdplugin files from the plugin directories below VDub2. Would just be a pity if you missed any advantage of the native plugin if you prefer the VfW codec, if there are any.

Blackout
18th September 2020, 10:39
Hi i seem to experience a frustrating bug in the latest Virtualdub2

exactly same bug is in Virtualdub1. Hmmm

heres how to replicate:
1:/ Load Virtualdub1 or 2
2:/ Load avi
3:/ load "Load processing settings" containing the De-interlace plugin with setting to Yadif and double frame rate, bottom field first
4:/ scroll bar across bottom...avi ends early when dragged to far right.

in comparison...it works correctly if you do it in reverse:
1:/ Load Virtualdub 1 or 2
2:/ Load "Load processing settings" containing the De-interlace plugin with setting to Yadif and double frame rate, bottom field first
3:/ Load avi
4:/ scroll bar across bottom to the far right, last frame number listed on the slider bar far-right is double the figure from above procedure (as it should be)...avi ends correctly

????

Whilst there is a workaround it is fairly frustrating...please take a look at this would be much appreciated.

Cheers,
Blackout.

LigH
18th September 2020, 11:39
^ A few more bits were discussed earlier in the VideoHelp forums (https://forum.videohelp.com/threads/398846-Virtualdub-1-10-4-(last)-render-length-bug-due-to-framerate).

shekh
19th September 2020, 01:55
Blackout

Hi, show your processing settings (entire file). There is such effect when video length is written in script.

Blackout
19th September 2020, 02:49
hi shekh...sure thing here you are:

VirtualDub.audio.SetSource(1);
VirtualDub.audio.SetMode(0);
VirtualDub.audio.SetInterleave(1,500,1,0,0);
VirtualDub.audio.SetClipMode(1,1);
VirtualDub.audio.SetEditMode(1);
VirtualDub.audio.SetConversion(0,0,0,0,0);
VirtualDub.audio.SetVolume();
VirtualDub.audio.SetCompression();
VirtualDub.audio.EnableFilterGraph(0);
VirtualDub.video.SetInputFormat(0);
VirtualDub.video.SetOutputFormat(7);
VirtualDub.video.SetMode(3);
VirtualDub.video.SetSmartRendering(0);
VirtualDub.video.SetPreserveEmptyFrames(0);
VirtualDub.video.SetFrameRate2(1,0,1);
VirtualDub.video.SetTargetFrameRate(500000,10000);
VirtualDub.video.SetIVTC(0, 0, 0, 0);
VirtualDub.video.SetCompression();
VirtualDub.SaveFormatAVI();
VirtualDub.SaveAudioFormat("");
VirtualDub.video.filters.BeginUpdate();
VirtualDub.video.filters.Clear();
VirtualDub.video.filters.Add("deinterlace");
VirtualDub.video.filters.instance[0].Config(0,0,1);
VirtualDub.video.filters.EndUpdate();
VirtualDub.audio.filters.Clear();

Cheers,
Blackout

TB54
23rd September 2020, 22:02
Hello everyone (sorry kinda newbie here)!

I was very pleased to discover the existence of Virtualdub2, and to see it could encode ProResHQ - which is really practical for video editing.

But weirdly, it seems most of the files I encode with Virtualdub2 (Uncompressed video files, h265 encoded files...) are not understood by Adobe Premiere/Encoder, which doesn't recognize the codec and doesn't want to import it.

Any idea why?

The weirdest happens when i export ProRes (in mov) from virtualdub2.

If the clip I export is shorter than 7mn10 (below 1,63 Go in this case), it opens without a problem in Quick Time Player, Adobe Premiere, or Adobe Media Encoder (the only difference with a "normal" ProResHQ exported from adobe or quicktime, is that when i import this one in Adobe, the video's codec will be called "APCH" and not "Apple Pro Res HQ").

But if the clip is longer than 7mn10 (or at least above 1,63 Go), it won't open in QuickTime, or Adobe Premiere/Encoder - the software says it can't read APCH codec (and Quicktime will also not open it anymore, speaking of "a bad public movie atom").

Of course it's an Adobe/QT problem, but what changes in the file after 7mn10 or 1,63 Go for it to suddenly be not recognized by Adobe? Is there a problem in the way it's exported? In the metadata? I first thought it was a problem related to .mov container, but it's the same difference once i muxed the file in a mkv...

The fact that an Uncompressed video file exported threw the old Virtualdub 1.10.4 opens in Adobe Suite without problem makes me think it's related to the software (well, freeware).

I would be very happy if there is a solution, or an explanation, because for video files encoded for the net or for my video player, Virtualdub2 is the perfect-dream freeware.

LigH
24th September 2020, 08:07
Thank you for your verbose report. The error message "bad public movie atom" is clearly a hint towards an issue with the structure of the MOV header.

TB54
24th September 2020, 09:58
Just to add a precision: the h265 not working in Adobe Suite were exported in mp4 container.

Thanks for the quick answer!

shekh
24th September 2020, 10:39
Maybe "mov +faststart" output option could change something, it alters the file structure (moves all headers to the beginning).
Also I had a bunch of requests to improve metadata on prores which I failed to reach yet. Could be related.

TB54
24th September 2020, 10:58
I'm sorry (newbie here), where can i check the "mov +faststart" option?

Another tiny thing concerning ProRes encoding (it's really a detail): the little ProRes window proposes me the profiles I already know (Proxy, LT, Standard, HQ, 444...), but also proposes me to choose a quality (between 2 and 31). This is a little confusing, because usually (in all editing software), you only choose the ProRes Profile you need, and can't choose anything else (it's rather the idea: the HQ profile is the assurance of a almost lossless quality, it's a standard).

Is it an error from VD, or just something (different quality gradient for each profile) the other software never proposed?

LigH
24th September 2020, 13:29
One of the file types when saving in VD2 (F7):

https://frupic.frubar.net/shots/40447.png

I guess the quality (or rather quantization?) selection is for saving without respecting the constraints of a specific profile?

poisondeathray
24th September 2020, 15:28
Another tiny thing concerning ProRes encoding (it's really a detail): the little ProRes window proposes me the profiles I already know (Proxy, LT, Standard, HQ, 444...), but also proposes me to choose a quality (between 2 and 31). This is a little confusing, because usually (in all editing software), you only choose the ProRes Profile you need, and can't choose anything else (it's rather the idea: the HQ profile is the assurance of a almost lossless quality, it's a standard).

Is it an error from VD, or just something (different quality gradient for each profile) the other software never proposed?


This has to do with ffmpeg's prores implementation (which vdub2 uses), and all the ffmpeg variations (prores_ks, prores_aw, prores) . It's not Apple certified. Apple certified prores is bitrate restricted. When you use a lower quantizer for ffmpeg variants can end up with much higher bitrate and higher quality than certified prores. Sometimes there are reported problems in some programs (those reports are more rare now)

TB54
24th September 2020, 15:46
I guess the quality (or rather quantization?) selection is for saving without respecting the constraints of a specific profile?

It's written "quality", but you're probably right!

I just tried the two (Mov / Mov +faststart), it doesn't seem to change anything: the two works below 7mn10 / 1,63 Go, and don't work above.

But i'm afraid i bothered you all for nothing: I just tested another source file, and i don't find this limit (time or size), all is accepted in adobe, at least for now (i'm still trying other durations/files). So something in my original source file i tested first is probably to blame (even if it's weird, as i didn't always choose the same IN and OUT points in it).

Sorry for the trouble... I will continue to test files as soon as i have time, to see if there is a coherence/pattern for those (if there is more than one) that don't work to come back to you only if I'm sure of it.


This has to do with ffmpeg's prores implementation (which vdub2 uses), and all the ffmpeg variations (prores_ks, prores_aw, prores) . It's not Apple certified. Apple certified prores is bitrate restricted. When you use a lower quantizer for ffmpeg variants can end up with much higher bitrate and higher quality than certified prores. Sometimes there are reported problems in some programs (those reports are more rare now)
Ok, thanks for the explanation! Maybe that could translate in a functionality to fit the bitrate restrictions of Apple? (if it helps in anyway the compatibility?)

poisondeathray
24th September 2020, 16:27
Ok, thanks for the explanation! Maybe that could translate in a functionality to fit the bitrate restrictions of Apple? (if it helps in anyway the compatibility?)

Not sure if it would affect compatibility. For the most part, compatibility is a non-issue - it's just a wild guess that the bitrates are part of the reason why in rare situations there are some issues. There are probably other reasons in addition to the bitrate

Eitherway, that would have to be implemented on the ffmpeg side. vdub is just using the ffmpeg libraries to encode prores. It has nothing to do with vdub2 directly

TB54
14th October 2020, 20:38
Another little thing (i don't know if it's possible, or if it's just something from the ffmpeg side): is their the project to add more options to the x265 encoder?

Possibility to encode in two passes, to have a target bitrate (instead of "quality"), to have a advanced option window to add specific code... All that is available in the x264 encoding panel, or in handbrake for x265. It would be helpful!

Dwedit
18th October 2020, 22:06
I just added a new feature (copy frame to Windows Clipboard), how do I get this merged into the mainline version?

poisondeathray
18th October 2020, 22:25
I just added a new feature (copy frame to Windows Clipboard), how do I get this merged into the mainline version?

Is this feature any different than:

video => copy source frame to clipboard (ctrl+1)
or
video => copy output frame to clipboard (ctrl+2)

Dwedit
18th October 2020, 22:30
Didn't see that feature, thanks. Not needed then. Normally, I'd expect something that copies to the clipboard to be on the "Edit" menu, not the "Video" menu, so I missed it completely.

LigH
19th October 2020, 07:35
Possibly because you copy only the video frame, not the related audio; and it was paired with writing it out into a file, already in earlier VirtualDub versions.

jeffk
19th October 2020, 16:52
Hello,

Is there a way to see crash log ?

I use Virtualdub 64bits with a end to end 64 bits pipeline every plugin updated, Avisynth+, It seem that when I set multithreading with :

Import("C:\Program Files (x86)\AviSynth+\plugins64+\MtModes.avsi")
Global set_plugins_threads = 1
...
Prefetch(8)

MTmodes.avsi version
(https://publishwith.me/ep/pad/view/ro.rDkwcdWn4k9/latest)
It crash randomly when I press F2. (I reload a lot)

Thanks

LigH
20th October 2020, 07:25
Just a remark: You may not really need to Import("C:\Program Files (x86)\AviSynth+\plugins64+\MtModes.avsi") because it should be auto-loaded from this directory (default locations assumed, and if you don't clear the auto-load paths in your script).

Using Global set_plugins_threads = 1 I guess that QTGMC is among the frequently used functions?

jeffk
20th October 2020, 15:08
Yes i can remove this import. This can cause crash when I reload the script ?

LigH
20th October 2020, 16:28
Doubtful. Rather one of the many loaded plugins which need the most RAM. But who knows...

jeffk
20th October 2020, 20:20
This is why I wanted to know if there is any way to get a crash log :D

wonkey_monkey
25th November 2020, 20:37
Is GIF export broken? I appreciate it's probably not a high priority, but this was the result I got:

http://horman.net/circles.gif


The left half should look like the right half and it should be at approx 60fps.

LigH
26th November 2020, 08:44
This looks like the GIF transparency animation effects "restore the previous content" and "keep the current content" got mixed up.

BTW, GIF does not support 60 fps, it handles only multiples of 1/100 s. So the closest valid speed would be 2/100 s/f = 50 fps.
_

Apart from that, there are better palette quantizer and optimizer applications for converting full color content to animated GIFs out there. Here you got discrete colors already, that's not your issue.

wonkey_monkey
26th November 2020, 11:17
So the closest valid speed would be 2/100 s/f = 50 fps.

It's come out as 40fps for some reason.

LigH
27th November 2020, 08:52
It may be useful to have a copy of the original video to check the behaviour of the GIF animation encoder. As already mentioned, the main issue will be the visual artifacts, probably caused by wrong bit flags defining the meaning of transparency. Their support may depend on the renderer in different viewers, too; I remember a warning about that in JASC Animation Shop 3.

I remembered one quirk: Animated GIFs support a variable framerate. The duration of every frame may only be integer multiples of 1/100 s, but every frame may have a different one. So one would have to analyze this sequence. Also the playback speed is not guaranteed to be supported by all viewers, some may have their own technical limits. Different webbrowsers or image viewers may be able to play them fast enough, others may fail.

nji
11th December 2020, 20:53
I searched but didn't find a simple answer
if VD2 can read and handle vfr movies.

If I open a vfr (mp4/ avc1) in VD2 it is taken as cfr.
1. So I assume VD2 in principle can't do vfr, right?

And if that should be the case:
2. Then for manipulating a vfr movie in VD
I have to convert it to cfr first?

As I want to avoid unnescessary quality loss,
I would either need an avisynth script,
or would have to save the intermediate movie lossless, correct?

shekh
12th December 2020, 12:00
I searched but didn't find a simple answer
if VD2 can read and handle vfr movies.

If I open a vfr (mp4/ avc1) in VD2 it is taken as cfr.
1. So I assume VD2 in principle can't do vfr, right?

And if that should be the case:
2. Then for manipulating a vfr movie in VD
I have to convert it to cfr first?

As I want to avoid unnescessary quality loss,
I would either need an avisynth script,
or would have to save the intermediate movie lossless, correct?

What do you need to do with vfr? If you must resolve it to cfr by means of frame interpolation or similar: yes there is no method in VD. If you are ok with dropping timestamps (and audio) it may work, then if you need to encode it back with the original timestamps: VD cant do this.

nji
12th December 2020, 15:15
What do you need to do with vfr?...

It's just that I have some movies that have been done as vfr.

I need to manipulate them (in VD2), without encountering audio desnyc,
and with as less quality loss as possible.

VD2 is able to read the vfr source, but as you said timestamp and
audio sync is gone then. OK, I'm assured by that now.

But: How can I do the task to properly work on a vfr movie?

Get all used fps in the movie and determine their smallest common multiple
for the cfr movie.
Would it be a way to do then with AviSynth?
Read the vfr with DirectShowSource and parameter convertfps
or http://avisynth.nl/index.php/VfrToCfr

Or am I completely wrong and there's a far better way
to deal with vfr movies?

poisondeathray
12th December 2020, 17:31
What type of "manipulations" ?

If you are doing edits that change the framecount (cuts/additions), then you must convert to CFR in vdub or use something else that can edit VFR (difficult, most editors have a CFR timeline, but you can do it with vfr.py for timecode edits to keep VFR)

If you are doing filtering, but keeping the same framecount, you can keep it VFR by extracting the timecodes from the source, and adding them back in the export. (Ignore the sync within vdub ,it will be fixed when you add the proper timecodes)

nji
12th December 2020, 17:56
...If you are doing edits that change the framecount (cuts/additions), then you must convert to CFR in vdub ...

What do you mean by that?
How do I convert from VFR to CFR _IN_ VD?

What type of "manipulations" ?

Well, most to improve the quality.
One of it will be DeShaker... and it looks to me as this one
"expects" a linear timeline to assess the movements correctly. Not sure however.

poisondeathray
12th December 2020, 18:32
What do you mean by that?
How do I convert from VFR to CFR _IN_ VD?



I mean edits that change the frame count - cut a section out, add an intro, add a scene, delete a commercial , etc... . ie. planned video edits to the content which also affect the audio

I don't know if there is a reliable or accurate way within vdub alone to convert vfr to cfr




Well, most to improve the quality.
One of it will be DeShaker... and it looks to me as this one
"expects" a linear timeline to assess the movements correctly. Not sure however.


What kind of "movie" is this ? Probably it's not a theatrical "movie" ?

When you convert vfr to cfr , 99.9% of the time, duplicate frames are added to make up the cfr time (during sections where the fps drops from the base frame rate, duplicate frames are added; the frame count changes, but this is not really an edit to the content, the latter is where the audio also changes). Duplicate frames are generally bad for generic stabilizers (you have compensatory overshoots during the duplicate frames), or temporal filters (less effective).

nji
12th December 2020, 18:54
OK, so it's quite sure that converting from VFR to CFR
can't be done by VD or a filter of VD.

Doing the conversion external (for example by the mentioned
avisynth methods) seems to have several drawbacks.
If I want to avoid frame interpolation (due to quality loss)
and do the least common multiple fps I need absurdely high fps.
And even if that would do, than there are your arguments due
to the filters effects on double frames.

So, IF (I'm still not sure about that!) DeShaker will produce
wrong/ bad results on non-linear timeline, then the only way
would be to have DeShaker use the timeline.

???

poisondeathray
12th December 2020, 19:12
Doing the conversion external (for example by the mentioned
avisynth methods) seems to have several drawbacks.
If I want to avoid frame interpolation (due to quality loss)
and do the least common multiple fps I need absurdely high fps.
And even if that would do, than there are your arguments due
to the filters effects on double frames.





First, there are several types of VFR.

What is your video ? You mentioned "MP4", so I'm making the assumption this is timecode VFR, this most common type of VFR. But there are others.



The typical VFR=>CFR frame interpolation uses added clean duplicates frames. It does not used the LCM fps, it uses the base frame rate as if the original source was CFR. Practially all sources have an original CFR framerate before they became VFR.

There are synthesized VFR=>CFR variants, which add blended or optical flow methods, but they are prone to artifacts. It sounds like those are the ones you want to avoid


It partially depends on how variable the frame rate is . If it's minimally variable, sometimes you can treat it as the base frame rate. If there are major changes, drops in the framerate, then you will get long sections with many duplicates - that can be problematic depending on what you do afterwards . (If you do nothing, it's exactly what you see when you play the video - your display refreshes at a CFR Hz anyways. Frames are "held" for a longer display time and those are functionally duplicates)



So, IF (I'm still not sure about that!) DeShaker will produce
wrong/ bad results on non-linear timeline, then the only way
would be to have DeShaker use the timeline.

???


In general, if you feed it a VFR video treated as CFR (with dropped frames, jumps , audio desync but fixed later with timecodes) , there are no duplicate frames, and it treats the motion linearly. So if there are low FPS sections, large jumps in the motion, it will treat it as a large motion

If you feed it a converted VFR => CFR video, the stabilized sections with duplicates can have overshoots. Duplicate images are identical, but they can add extra motion and "move" with the compensatory stabilization. This can be unnerving for many viewers - the image is supposed to be a duplicate and still, but now it "moves"

You can try both ways and see which is better for your specific video

nji
12th December 2020, 19:58
Thank you (once again :-) ) for your valuable thoughts.

If I summarize the results so far.

If I don't do (or use) the timeline in VD
then I just do my manipulations there
and add the vfr timeline afterwards.

But otherwise (as with DeShaker) there is a problem:
Using the non-linear timeline as linear will (probably?)
lead to bad deshaking results.
So no way that way.
Converting the vfr to cfr will lead to duplicates
(which are the real life timeline anyhow).
But Deshaker produces wrong results at still scenarios.
Which is a pure DeShaker problem
that has nothing to do with vfr, but would also occur at cfr.

Am I right with that?

poisondeathray
12th December 2020, 20:28
But otherwise (as with DeShaker) there is a problem:
Using the non-linear timeline as linear will (probably?)
lead to bad deshaking results.
So no way that way.
Converting the vfr to cfr will lead to duplicates
(which are the real life timeline anyhow).
But Deshaker produces wrong results at still scenarios.
Which is a pure DeShaker problem
that has nothing to do with vfr, but would also occur at cfr.

Am I right with that?


It depends on your video, what type of VFR , and the reason for the VFR.

VFR to CFR with duplicates is not the real, real timeline (The original, original CFR data before your video). You have missing data. Inserted duplicates are a method of approximation for the real data

In general, the motion will be smoother if you interpolate the missing frames using optical flow (but predisposed to artifacts) - it sounds like you discarded that.


Deshaking either VFR as is ; or converted to CFR (with inserted duplicates) can both produce bad results . It partially depends on how variable your video is (how bad the drops are, the magnitude of the fps drops).

Some types proper timecode VFR video can be the result of low motion in the first place. E.g. still scene. Or you do a camera pan and slow down to a still shot. It's properly represented by fast motion, to slower motion, then no motion.

Other types of timecode VFR are functional - the recording system can't keep up and frames are dropped. It might not be an actual "still scenario" (there is supposed to be motion) , but inserted duplicates represent it as a "still scenario", even though it is not actually. The compensatory motion introduced by a stabilizer can sometimes look wrong

nji
16th December 2020, 11:39
There arose more questions on vfr and I didn't want to mess up this VirtualDub2 thread, so I build a seperate one (https://forum.doom9.org/showthread.php?p=1931029#post1931029).

StainlessS
21st December 2020, 18:41
@Shekh,
May want to look at this:- https://forum.doom9.org/showthread.php?p=1931586#post1931586


And I discovered a bug in VDub2
If 'Direct stream copy' is selected it pops when you try to start the analysis pass
Define "pops", is that audio ?

EDIT: OK, I see that 'pops' means Access Violation and Crash.

EDIT: Also occurs in VD2 if direct load of clip into VD2, Direct Stream Copy, Video Analysis Pass, Access violation.
EDIT: Also occurs if VD2 fed RGB32 from Avisynth and Direct Stream Copy, Analysis Pass.

shekh
21st December 2020, 20:26
@Shekh,
May want to look at this:- https://forum.doom9.org/showthread.php?p=1931586#post1931586



EDIT: Also occurs in VD2 if direct load of clip into VD2, Direct Stream Copy, Video Analysis Pass, Access violation.
EDIT: Also occurs if VD2 fed RGB32 from Avisynth and Direct Stream Copy, Analysis Pass.

thanks

lansing
30th January 2021, 03:25
I have a shortcut key to switch input/output frame panel so I can see the difference quickly, but for every 2-8 toggles, there's a quick flash on the frames

TB54
3rd April 2021, 22:24
Hello,

Do you know if there is any project to insert a dialog box (extra-command line) in the "ffmpeg / x265" configuration panel in VDB2, like it's the case for the x264 compression panel? The h265 presets are not perfect, and it could be nice to manually adjust the settings.

albino
7th April 2021, 20:20
I tried to find anywhere this had been requested before, but couldn't find anything. Apologies is this is a duplicate feature request :)

I was wondering if it would be possible to add a quick auto-crop button on the crop dialogue that trims the black based on your current frame. Trying to guess all four sides is kind of time consuming if you do it a lot, and eyeballing it is iffy unless you zoom in on each side. Some kind of auto crop would speed it up quite a bit I think.

Thanks!

GAP
26th April 2021, 01:05
Can anyone here tell more about the FFMPEG codecs in Virtualdub2?

LigH
26th April 2021, 07:37
What exactly do you want to know? ... It contains a selection of container splitters and audio/video content decoders so that you will be able to import a variety of formats (unfortunately it is a bit outdated, so no AV1 yet); unfortunately I do not know if a comprehensive list is documented. And a few specific encoders (e.g. FFV1, VP9, x265 for video; Opus, Vorbis, Lame MP3, AAC for audio) are exposed with own dialogs via the "Compression" lists, and a few multiplexers are exposed as file formats in the "Save as..." dialog.

GAP
28th April 2021, 10:28
What exactly do you want to know? ... It contains a selection of container splitters and audio/video content decoders so that you will be able to import a variety of formats (unfortunately it is a bit outdated, so no AV1 yet); unfortunately I do not know if a comprehensive list is documented. And a few specific encoders (e.g. FFV1, VP9, x265 for video; Opus, Vorbis, Lame MP3, AAC for audio) are exposed with own dialogs via the "Compression" lists, and a few multiplexers are exposed as file formats in the "Save as..." dialog.

I want to know if those encoders can serve as good substitutes for some of the codecs I do have. I heard many things about FFMPEG so I thought those codecs might be as good or better than the regular ones. I wanted to know some of the features of the FFMPEG codecs so that I may use for future encodings if possible.

LigH
28th April 2021, 13:31
VirtualDub2 does not expose many encoders. They will be the same as separate encoders or those included in any other ffmpeg (command line or core of a converter) of that time when it was built. But VirtualDub2 may not offer all the options of all the encoders via dialogs and controls. An alternative way to use other encoders more flexibly may be the "External encoder" setup.

Regarding the codecs in ffmpeg, it is hard to say something general without taking a detailed look at specific codecs: e.g. x264, x265, vp9, Opus, Vorbis, Lame are all exactly what they are, the best of OpenSource codecs in their formats; ffmpeg's AAC encoder is quite good, but Fraunhofer FDK or Apple iTunes (CoreAudio) AAC encoders are better in quality, it's just not possible to include them in ffmpeg (either closed source or with restrictive license).

GAP
1st May 2021, 10:27
Can you give a detailed guide on the codecs in Virtualdub2? I am more familiar with XVID and Lagarith but not with the others.

LigH
3rd May 2021, 07:22
That's not really a matter of this topic, I believe ... VirtualDub2 just provides basic access to them. But what they are, what they do, how they work, how you can configure them ... that's documented elsewhere. Primarily in their own documentation, some of that in general Media and Codec Wikis (even the Wikipedia, regarding their underlying standards), or in the documentation of ffmpeg. Writing a new guide just for you would be a full-time job (and I already have a different one).

GAP
4th May 2021, 17:53
I see. Thanks for the help anyway. I was just looking into alternative methods of encoding and good encoders.

doctorkhv
5th May 2021, 04:24
https://gist.github.com/shekh/c28db6ed8f826e3dda4e14fbe6c1369b

first you need to modify command line to point to actual ffmpeg.exe
then Options->External encoders->Import...

now you can use File->Export->Using external encoder...

Thank you!
How to export to the EXR format exactly exr zip1 and exr zip16?
https://i.postimg.cc/SxN72GZc/Pot-Player.png (https://postimg.cc/ZC2yX6zq)

poisondeathray
5th May 2021, 05:43
Thank you!
How to export to the EXR format exactly exr zip1 and exr zip16?


I just posted this in your other thread -

You can write EXR sequence with ffmpeg, using your avs input

Instead of sending float through the ffmpeg avisynth demuxer (float not supported), send 8 or 10bit in the avs script and use ffmpeg to do the float conversion and linearization with zscale

https://forum.doom9.org/showthread.php?p=1942303#post1942303

doctorkhv
5th May 2021, 08:41
You can write EXR sequence with ffmpeg, using your avs input
How to insert .vdscript(s) in avs?

LigH
5th May 2021, 11:42
They control VirtualDub, not AviSynth. Different purpose.

StainlessS
5th May 2021, 20:55
VDub/VDub2 has some kind of Frame Server mode [I aint used it since bout 2002, dont remember how it works]
VDub2\AviProxy\readme.txt

The AVIFile handler included with VirtualDub is capable
of running in Proxy mode -- that is, you can install it as the
*default* handler for AVI files, and it will work with signposts
that are renamed to the AVI extension. This means that
applications which previously failed with the AVIFile handler
because of the .VDR extension can now be used, provided that
the .VDR files are renamed to the .AVI extension.

This support is very experimental, so try at your own risk.

To try the AVIFile proxy support, first use auxsetup.exe to
install AVIFile frameserver support, then use the REGEDIT tool
to install the proxyon.reg file. Use the proxyoff.reg file
to disable it.

The proxy support will be invisible to most programs, but some
programs do not like the proxy handler and will no longer work
if it is installed; you will have to disable the proxy for
these programs. These applications were tested:

Ligos LSX-MPEG Encoder 3.0: works
Panasonic MPEG Encoder 2.30: works most of the time
XingMPEG Encoder 2.20: fails (must deinstall proxy)



Issues with Windows Vista and newer versions of Windows
=======================================================
Starting with Windows Vista, the registry keys that associate
the .AVI extension to the built-in handler in Windows are
protected by Windows Resource Protection and are not normally
replaceable. As such, the proxy mechanism is not recommended
and not supported under Vista and newer versions of Windows.

If you really need to try it, editing the access control list
(ACL) for the registry entries in the Registry Editor to allow
Administrators full control over the keys and not just
TrustedInstaller has been reported to work.


also in same directory,

Proxyon.reg
Proxyoff.reg


In my VDub2\extra\
folder I got an auxsetup.exe

Dont recall what that is but I think is related in some way.
[also a vdremote.dll]

There is also in VD2 dir VirtualDub.chm, with a FrameServer section.

It is possible that above files are heldover from previous version of VD and I just copied into VD2 directories.

Anyways, I aint read or experimented in any way with above, but maybe they might point in right direction,
or maybe somebody remembers how that stuff works.

EDIT: concerning frameserving from Vdub2 into Avisynth.

SeeMoreDigital
5th May 2021, 21:14
Unlike the 'libx264 core 157' video encoder (built into VirtualDub 2), the FFmpeg (Lavc57.104.100) x265 video encoder does not offer a method of entering 'Sample Aspect Ratio' values.

Are there any FFmpeg x265 video builds that do?

LigH
6th May 2021, 07:09
Neither as ffmpeg parameter nor in x265-params?

SeeMoreDigital
6th May 2021, 08:27
I installed x265vfw v3.40 which like libx264 core 157 video encoder does offer a method of entering 'Sample Aspect Ratio' values. But sadly the entered values don't appear to make it into the video stream :(

https://i.ibb.co/vjTs1zf/x265.png

By contrast, the x265 video encoder in MeGUI is able to produce encodes with aspect ratio signalling within the video stream. But I don't know when/where this SAR information is added

LigH
6th May 2021, 13:35
Oops, my fault, I only thought about the ffmpeg command line interface... :o

MeGUI uses the x265.exe command line encoder; this is neither a VfW codec nor a library module (as used in VirtualDub2's separate "FFMPEG / x265" encoder).

You might use the x265 CLI encoder via the "External encoder" setup in VirtualDub2. But this has no pretty user interface.

poisondeathray
6th May 2021, 14:52
I installed x265vfw v3.40 which like libx264 core 157 video encoder does offer a method of entering 'Sample Aspect Ratio' values. But sadly the entered values don't appear to make it into the video stream :(

https://i.ibb.co/vjTs1zf/x265.png

By contrast, the x265 video encoder in MeGUI is able to produce encodes with aspect ratio signalling within the video stream. But I don't know when/where this SAR information is added


Your screenshot for x265vfw shows DAR width, height, not SAR . Try 16 and 9 .

If the the extra commandline box works, you can enter --sar x:y there instead

SeeMoreDigital
6th May 2021, 20:08
Your screenshot for x265vfw shows DAR width, height, not SAR . Try 16 and 9 .After entering '16' in the 'DAR width' box and '9' in the 'DAR height' box, I can confirm that no aspect ratio signalling makes its way into the video stream...

LigH
7th May 2021, 08:25
Does it work differently if you use a side channel "Output file" in x265vfw, instead of passing it through VirtualDub2?

takla
7th May 2021, 12:31
Is there any way to get 10bit to the dropdown menu under external encoder settings? I can only pick between yuv 8bit, 16bit and various rgb pixel formats.

SeeMoreDigital
7th May 2021, 13:18
Does it work differently if you use a side channel "Output file" in x265vfw, instead of passing it through VirtualDub2?Sadly your suggestion does not work either :(

shekh
8th May 2021, 05:17
Is there any way to get 10bit to the dropdown menu under external encoder settings? I can only pick between yuv 8bit, 16bit and various rgb pixel formats.

Such option is not implemented, but I assume it is safe to roundtrip 10-bit content in 16-bit. Are you afraid of rounding error?

takla
8th May 2021, 08:02
Such option is not implemented, but I assume it is safe to roundtrip 10-bit content in 16-bit. Are you afraid of rounding error?

I wanted to encode in 10bit (lossy) for better precision from the encoder. I'd like to do this with vdub2 since it is nice for cutting the video frame accurately. I'd then send the stream to ffmpeg.

Not sure what you mean with "roundtrip 10-bit content in 16-bit". But when I select 16bit, and set 10bit as an ffmpeg command, I get the following 2 errors:

with -pix_fmt yuv420p10le and 4:2:0 8bit yuv
https://i.imgur.com/8p3rCq1.png

with -pix_fmt yuv420p10le and 4:2:0 16bit yuv
https://i.imgur.com/ZZlw6pE.png

shekh
8th May 2021, 22:22
I wanted to encode in 10bit (lossy) for better precision from the encoder. I'd like to do this with vdub2 since it is nice for cutting the video frame accurately. I'd then send the stream to ffmpeg.

Not sure what you mean with "roundtrip 10-bit content in 16-bit". But when I select 16bit, and set 10bit as an ffmpeg command, I get the following 2 errors:

with -pix_fmt yuv420p10le and 4:2:0 8bit yuv
https://i.imgur.com/8p3rCq1.png

with -pix_fmt yuv420p10le and 4:2:0 16bit yuv
https://i.imgur.com/ZZlw6pE.png


the ffmpeg command line must include pix_fmt twice: one for raw input and another for your desired output

like this:
-f rawvideo -pix_fmt %(pix_fmt) -s %(width)x%(height) -r %(fpsnum)/%(fpsden) -i - -c:v libx264 -pix_fmt yuv420p10le %(tempvideofile)

%(pix_fmt) macro always matches the format selected in dropdown in ffmpeg syntax.

takla
9th May 2021, 06:04
-

Ohh I see. Thanks. It's working now.

GAP
12th May 2021, 17:21
I have two questions:


What is the difference the x264 8 bit and x264 10 bit codecs respectively? And is it similar to x264vfw codec?
Can anyone explain what those FFMPEG encoders are?

LigH
12th May 2021, 18:31
1. x264 8 bit encodes video in the MPEG-4 AVC Main/High Profile with internal quantized components of 8 bit resolution; x264 10 bit encodes video in the MPEG-4 AVC High 10 Profile with internal quantized components of 10 bit resolution. The latter is specifically known to be useful for cartoon video content. — NOTE: Not every player is capable of playing High 10 Profile AVC video.

2. They are not VfW codecs, but provided by a separate collection of encoders based on ffmpeg's libavcodec library, so they are independent of any codecs installed into your Windows system. Similar to the decoders in VLC. VDub2 contains ffmpeg based decoders, too

LigH
17th May 2021, 08:07
I got a report that VirtualDub2 doesn't handle audio conversions when processing a clip with 24 bit PCM audio. Using FFmpeg Lame MP3 produces loud static noise (I can confirm). FFmpeg AAC "crashes" (in my case the dub process gets stuck after 650 audio samples, then "Integer division by zero" crash).

When I try to convert the audio to 16 bit internally in VirtualDub2 before compression, it fails with an error message in the Audio group of the "Save video" dialog, Sample Layout: [Cannot convert audio: the source audio form{...}].

LigH
26th May 2021, 08:17
Any idea about the reason, shekh? 24 bit integer not supported in the audio pipeline?

And again, the ffmpeg library ages on and on...

richardpl
26th May 2021, 18:08
What ages on and on?

LigH
27th May 2021, 13:22
VirtualDub2 still uses an ffmpeg plugin version with an older API because adapting VirtualDub2 to the requirements of the most recent ffmpeg API version seems to be a heavy challenge for shekh...

shekh
7th June 2021, 21:06
Any idea about the reason, shekh? 24 bit integer not supported in the audio pipeline?

And again, the ffmpeg library ages on and on...

Sorry for late reply, do you still have the sample? I tried it and it works for me (converted test file to pcm_s24le with ffmpeg).
Anyway, VD2 can internally work with u8, s16le, f32le. Other formats get converted by the input driver.

Emulgator
15th June 2021, 00:18
x264 with CRF <17 might be what you're searching for.

LigH
19th June 2021, 08:55
@shekh: 24 bit example (https://www.ligh.de/tmp/String1s24b.7z). AviSynth script just as dummy video track. Important part is the WAV file to be used as external audio track (Audio - Audio from other file...), in Audio "Full processing mode" and with a Compressor. Archive contains an MKV with Ut Video and PCM audio track, and to compare, another with MP3 audio track compressed via the FFmpeg Lame MP3 encoder. The result with AAC is broken, did not add this.

Audio driver is an "NVIDIA High Definition Audio" device, general Windows 10 64b.

GAP
19th June 2021, 15:24
How do you convert AVISynth scripts to Virtualdub processing scripts?

LigH
19th June 2021, 17:12
Not generally possible. They may handle fundamentally different actions (e.g. VirtualDub has no substitute to every possible AviSynth filter and NLE feature, whereas AviSynth is not able to select a codec for the compression).

StainlessS
19th June 2021, 18:47
How do you convert AVISynth scripts to Virtualdub processing scripts?
As LigH said, but you can load avisynth scripts into VDub2, and additionally process in some way, and/or add to queued jobs list.

GAP
20th June 2021, 03:46
Okay thanks.

StainlessS
19th December 2021, 21:22
Yo shekh,
If you do get back to this, can I ask if cursor in AVS script editor be sizeable, specifically adjust width wider,
on 4K monitor and Windows 10 scaling to 150%, cursor is almost invisible in the editor [W10 scaling or Ease of Access cursor width seems to make no difference].
I quite often find myself having to click with the mouse so I can tell where the cursor is.

Thanks muchly :)

wonkey_monkey
3rd February 2022, 18:19
It seems VirtualDub2 doesn't understand Y-only clips with >8 bits. Not sure if this has been noted before so just putting it on record.

Wilbert
10th February 2022, 20:45
I made this one sticky, and collected all the depreciated stuff into one sticky. Let me know if anyone has other suggestions.

wonkey_monkey
10th February 2022, 22:26
You could un-sticky my "Compiling VirtualDub with VC++ Express - how I did it" thread because it's hopelessly out of date.

LigH
6th September 2022, 08:27
Are you barking at the wrong tree?

tormento
7th September 2022, 14:59
Are you barking at the wrong tree?
Don't feed the troll™.

GAP
11th September 2022, 03:54
Due to circumstances involving my laptop's GPU being busted, I am foced to use my Woindws XP comuter. I wanted to convert my videos to .mp4 but while converting my video, I encountered an error called "Requested frame not found". I am not sure what has caused this error but I want to convert my videos using Virtualdub2. Can anyone help me?

nji
11th September 2022, 16:51
With my limited knowledge I would say that
the video stream is defect in some way.
Try different decoder (at VD2's open dialog),
or try avidemux.
If successfull check the audio (sync and quality).

StainlessS
12th September 2022, 15:43
"Requested frame not found"

From another of your threads, [EDIT: GAP threads]
If you can't play back uncompressed in realtime, I'd worry that you might not be able to record uncompressed in realtime, and thus would get dropped frames. So double-check that before trying uncompressed.

Recording uncompressed video is a great use case for RAID, if that's an option for you.

From this [GAP] thread,
https://forum.doom9.org/showthread.php?t=183052

Maybe suggest trying the batch script with that error producing clip,
BAT(same thread) = https://forum.doom9.org/showthread.php?p=1948505#post1948505

See if ffmpeg gives any further info in error message for the missing frame,
perhaps it can even auto conceal the error. (producing legal output clip)
EDIT:
OR smaller bat script. Output UT_Video, AVI.

SomethingOrOther.bat

setlocal

REM Where to Find ffmpeg
set FFMPEG="C:\BIN\ffmpeg.exe"

REM Where to get input file, No terminating Backslash, "." = current directory
set INDIR="."


REM Where to place output file, No terminating Backslash.
set OUTDIR="D:"


FOR %%A IN (*.wmv *.mpg *.avi *.flv *.mov *.mp4 *.m4v *.RAM *.RM *.mkv *.TS *.ogv *264 *.webm *.m2v *.VOB) DO (
%FFMPEG% -i "%INDIR%\%%A" -vcodec utvideo -acodec pcm_s16le "%OUTDIR%\%%~nxA.AVI"

)

Pause


Output AVI to to D: drive. Input types in BLUE (can try adding more at end of list, eg " *.abc", SPACE separatedf from other extensions).

Create CONVERT Folder. Copy bat and source clips into that folder.
Ensure FFMPEG line points to your ffmpeg binary.
Run the bat.
(The Bat dont like SPACES nor weird foreign chars in filenames)

GAP
14th September 2022, 08:51
I will that a try and see what I get. I am not sure Virtualdub2 works for XP as I want to export to .mp4.

With my limited knowledge I would say that
the video stream is defect in some way.
Try different decoder (at VD2's open dialog),
or try avidemux.
If successfull check the audio (sync and quality).

What version of AVIDemux works with XP?

filler56789
19th September 2022, 21:53
<OT>

(The Bat dont like SPACES nor weird foreign chars in filenames)

Not sure whether the members from France, Italy, Spain, Poland or Hungary (for example) would like to see their native languages labeled as "weird" or "foreign". :rolleyes:
Next time please try to write just "non-ASCII characters". ;)
It's true that the Amerikans have the bad habit of assuming that they are the center of the universe;
however it's easy to forget that they inherited this bad habit from the Brits. :p
</OT>

StainlessS
19th September 2022, 23:02
I consider my bottom well smacked ! (but will likely repeat said faux pas :) )

One day we will take back that colony and re-establish the center of the Universe :)

GAP
22nd September 2022, 04:16
What is the the input caching driver? I heard once that it might be somehting wrong with the driver.

isidroco
5th November 2022, 12:35
I will that a try and see what I get. I am not sure Virtualdub2 works for XP as I want to export to .mp4.
What version of AVIDemux works with XP?
Last working version: https://sourceforge.net/projects/avidemux/files/avidemux/2.6.20/
Until today (v44282) all virtualDub2 versions work with XP, some third party plugins (as Filtres_JPSDR) may fail.

isidroco
5th November 2022, 13:28
What is the the input caching driver? I heard once that it might be somehting wrong with the driver.

In VDUB2, File, Open, at the bottom you can use original VDub Input driver: "Audio/video interleave..." which will only open AVIs (and will fail to accurately seek frames on h264/h265). Or "Caching Input Driver" (FFMPEG based) which will open almost anything although you will loose DirectStreamCopy (unless video is compressed using a compressor with AllKeyFrames as MJPG).

You may try to fix corrupted video: http://www.risingresearch.com/en/dvr/

jpsdr
6th November 2022, 15:16
Until today (v44282) all virtualDub2 versions work with XP, some third party plugins (as Filtres_JPSDR) may fail.

Even the XP build version ? :scared:

nji
12th November 2022, 18:45
?How?

LigH
13th November 2022, 00:13
Not in VirtualDub2; it does not contain a fully configurable native HEVC (x265) codec.

SeeMoreDigital
13th November 2022, 12:58
HEVC; set display aspect ratio
?How?Not in VirtualDub2; it does not contain a fully configurable native HEVC (x265) codec.Indeed... You'll need to install one of the x265vfw versions if you require access to DAR options ;)

LigH
13th November 2022, 13:28
I would recommend configuring a x265.exe as external encoder instead. HEVC does not belong into VfW.

nji
13th November 2022, 14:53
Thankyou for your help!
I'll do as you proposed.

GAP
21st November 2022, 21:30
In VDUB2, File, Open, at the bottom you can use original VDub Input driver: "Audio/video interleave..." which will only open AVIs (and will fail to accurately seek frames on h264/h265). Or "Caching Input Driver" (FFMPEG based) which will open almost anything although you will loose DirectStreamCopy (unless video is compressed using a compressor with AllKeyFrames as MJPG).

You may try to fix corrupted video: http://www.risingresearch.com/en/dvr/

I will have to try that but unless I buy a Windows 10 or above computer, I am still need to figure out how to make mp4s.

Even the XP build version ? :scared:

There is an XP build version?

jpsdr
22nd November 2022, 18:34
I was talking about the XP build version of my plugins, not VDUB2.

GAP
6th December 2022, 11:30
Sorry about that. Anyway I think the only reason Virtualdub2 worked on my computer for a time is due tot he codecs I used. I may need to manipulate the registry or something to "reformat" the program. It seems like Virtualdub2 will only work on Windows 10 or if I used codecs like XVID or something.

Edit: I discovered that I had to change the input driver from :Caching Input Driver" to "Audio/video interleave input driver (internal)" to successfully to convert a video on XP. I also discovered some options on both input drivers but I do not know which is ideal for XP.

GAP
18th December 2022, 21:47
"Requested frame not found"

From another of your threads, [EDIT: GAP threads]


From this [GAP] thread,
https://forum.doom9.org/showthread.php?t=183052

Maybe suggest trying the batch script with that error producing clip,
BAT(same thread) = https://forum.doom9.org/showthread.php?p=1948505#post1948505

See if ffmpeg gives any further info in error message for the missing frame,
perhaps it can even auto conceal the error. (producing legal output clip)
EDIT:
OR smaller bat script. Output UT_Video, AVI.

SomethingOrOther.bat

setlocal

REM Where to Find ffmpeg
set FFMPEG="C:\BIN\ffmpeg.exe"

REM Where to get input file, No terminating Backslash, "." = current directory
set INDIR="."


REM Where to place output file, No terminating Backslash.
set OUTDIR="D:"


FOR %%A IN (*.wmv *.mpg *.avi *.flv *.mov *.mp4 *.m4v *.RAM *.RM *.mkv *.TS *.ogv *264 *.webm *.m2v *.VOB) DO (
%FFMPEG% -i "%INDIR%\%%A" -vcodec utvideo -acodec pcm_s16le "%OUTDIR%\%%~nxA.AVI"

)

Pause


Output AVI to to D: drive. Input types in BLUE (can try adding more at end of list, eg " *.abc", SPACE separatedf from other extensions).

Create CONVERT Folder. Copy bat and source clips into that folder.
Ensure FFMPEG line points to your ffmpeg binary.
Run the bat.
(The Bat dont like SPACES nor weird foreign chars in filenames)

Do you need to make the output directory the same as the FFMPEG folder? I tried this and it could not go on without an output directory.

StainlessS
19th December 2022, 01:31
OK GAP, posted script was not quite right but worked for me [I aint no command line expert, in fact I hate it :) ]

This seems to be quite bullet proof, and seems to cope OK with SPACES and even Japanese/Chinese hieroglyphics in the file names.
(which earlier scripts did not do well with)


Folder structure

BATCH_CONVERTER\ # Containing directory, move it anywhere.
FFMPEG\ # Directory Contains FFMPEG.EXE # EDIT: Plus any required ffmpeg dll's if ffmpeg.exe is not statically linked version, ie requires some ffmpeg dll files.
INPUT\ # Dir, files to be converted
OUTPUT\ # Dir, Converted results
Convert_Input_To_UtVideo_Output.BAT # Batch File, convert to lossless AVI
Encode_SquarePixel_AVS_Input_To_Output_AVC_MP4.BAT # Batch File, Encode square pixel AVS script to x264 MP4
Encode_SquarePixel_AVS_Input_To_Output_HEVC_MKV.BAT # Batch File, Encode square pixel AVS script to x265 MKV



Convert_Input_To_UtVideo_Output.BAT

setlocal

REM Where to Find ffmpeg
set FFMPEG=".\FFMPEG\ffmpeg.exe"

FOR /R ".\INPUT" %%A IN (*.wmv *.mpg *.avi *.flv *.mov *.mp4 *.m4v *.RAM *.RM *.mkv *.TS *.ogv *.264 *.webm *.m2v *.VOB) DO (
%FFMPEG% -i "%%A" -vcodec utvideo -acodec pcm_s16le ".\OUTPUT\%%~nA.AVI"
)
Pause


These two set aspect ratio based upon square pixels, ie by input AVS FAR, Frame Aspect Ratio (ie width/height).
Maybe mod to your favourite crf and aac audio bitrate.
Encode_SquarePixel_AVS_Input_To_Output_AVC_MP4.BAT

setlocal

REM Where to Find ffmpeg
set FFMPEG=".\FFMPEG\ffmpeg.exe"

FOR /R ".\INPUT" %%A IN (*.avs) DO (
%FFMPEG% -i "%%A" -c:v libx264 -crf 21.5 -preset slow -c:a aac -b:a 96k ".\OUTPUT\%%~nA.MP4"
)
Pause


Encode_SquarePixel_AVS_Input_To_Output_HEVC_MKV.BAT

setlocal

REM Where to Find ffmpeg
set FFMPEG=".\FFMPEG\ffmpeg.exe"

FOR /R ".\INPUT" %%A IN (*.avs) DO (
%FFMPEG% -i "%%A" -c:v libx265 -crf 25.0 -preset slow -c:a aac -b:a 96k ".\OUTPUT\%%~nA.MKV"
)
Pause


Can create your own as above, or download 7z compressed file of about 35MB [including ffmpeg.exe] from UTILITY/Batch_Converter.7z
from StainlessS@MediaFire below this post in my sig. [in the UTILITY folder]

or direct link here:- https://www.mediafire.com/file/nhaxvwpcjphlkn8/BATCH_CONVERTER.7z/file

I think you could point output to anywhere else by replacing BLUE '.\OUTPUT' above with FULL DRIVE & PATH (no filename nor extension EDIT: Output folder MUST Exist)

If you already have path to ffmpeg.exe set in your system environment PATH Variable, then can change above %FFMPEG% to just FFMPEG.EXE and it should work without needing
the FFMPEG\ffmpeg.exe in zip.
eg,

setlocal

FOR /R ".\INPUT" %%A IN (*.wmv *.mpg *.avi *.flv *.mov *.mp4 *.m4v *.RAM *.RM *.mkv *.TS *.ogv *.264 *.webm *.m2v *.VOB) DO (
Ffmpeg.Exe -i "%%A" -vcodec utvideo -acodec pcm_s16le ".\OUTPUT\%%~nA.AVI"
)
Pause

and then dont need the FFMPEG folder or zip included ffmpeg.exe.

EDIT: Reino 32 bit XP [works anywhere] compatible ffmpeg:- https://rwijnsma.home.xs4all.nl/files/ffmpeg/?C=M
I suggest STATIC linked [no dll's] version.

EDIT: Any further updates will be posted HERE:- https://forum.doom9.org/showthread.php?p=1986671

GAP
1st February 2023, 11:50
I think I might have solved my caching input driver problem. I had to go the Virtualdub2 Sourceforge (https://sourceforge.net/p/vdfiltermod/wiki/Home/)and download the input driver (https://sourceforge.net/projects/vdcachingdriver/) myself. I am not sure if that is the 'right' thing to do as it was for VirtualdubMod but it seems to work for my XP. Other computers that run Windows do not have that problem. Looks like it is solved for now. Thanks for the help.

nji
8th February 2023, 21:12
One might think it saves the filter settings.
But there is no <Load>-Button in sight.
Also I don't see no saved file anywhere.

(Maybe it's just for calming the nervous ones of us? ;) )

albino
10th March 2023, 22:04
I wonder if anybody here would happen to have a 64bit version of the plugin DShowInputDriver.vdplugin? I have a 32bit version, and some googling tells me that maybe a 64bit version existed at some point, but if so it's long gone now. Thanks.

jpsdr
11th March 2023, 10:50
Yes i have. I can put the file on an ftp server and PM you IP & log information if you want.

albino
11th March 2023, 19:27
Yes i have. I can put the file on an ftp server and PM you IP & log information if you want.

That would be great, thank you!

If it's easier or it would make your more comfortable, you could always upload it to a temporary file sharing service like WeTransfer:

https://wetransfer.com/

Whatever is best :)

jpsdr
12th March 2023, 15:14
I've PM you ftp server information.
File is in albino directory. Notify me when retrievied, i hope this the proper file you're looking for.

albino
12th March 2023, 19:38
I've PM you ftp server information.
File is in albino directory. Notify me when retrievied, i hope this the proper file you're looking for.

That was it, thank you so much! I really appreciate it!

v0lt
24th March 2023, 16:04
VirtualDub2 x64 with updated avlib-1.vdplugin (https://www.sendspace.com/file/au1wu2)

avlib-1.vdplugin (FFmpeg 6.0) source code (https://github.com/v0lt/avlib_vdplugin)

Emulgator
24th March 2023, 17:33
Many thanks, v0lt !

GAP
26th March 2023, 15:17
Does anyone here have the input caching driver for every container?

LigH
1st April 2023, 17:03
VirtualDub2 x64 with updated avlib-1.vdplugin (https://www.sendspace.com/file/au1wu2)

I just tried to convert a clip encoded with AV1 and Opus. File Information displays the details. But the audio stream appears to be silent.

https://9gag.com/gag/aOxex83
https://www.ligh.de/tmp/Cat-clip.zip

v0lt
4th April 2023, 04:38
I just tried to convert a clip encoded with AV1 and Opus. File Information displays the details. But the audio stream appears to be silent.
Yes. There is a problem with Opus audio decoding.

blob2500
6th April 2023, 16:42
VirtualDub2 x64 with updated avlib-1.vdplugin (https://www.sendspace.com/file/au1wu2)

Thanks for this upgrade.

But with this version I get this issue (using caching input driver): mpeg-2 in .mkv doesn't seek; it doesn't see I/K-frames (shift + right/left arrow goes to last/first frame only).

No problem with last official Virtualdub2 (2020) and no problem with h.264/MKV.

LigH
8th April 2023, 03:36
I found another issue with your test build:

On the :( occasion of the death of the most thanked Flat Earther, Bob Knodel, I downloaded a video (https://youtu.be/8V8TLL2345k) from YouTube using yt-dlp, to cut out the "15 degrees per hour drift" meme. But the selected start and end positions of the opened clip were not reliable, neither while exporting it to a separate MP4 file, nor while navigating and playing it in the timeline editor. The audio was async, and the start moved randomly.

v0lt
22nd April 2023, 19:24
VirtualDub2_x64_ffmpeg6.0_test6.7z (https://www.sendspace.com/file/3rum56)
I seem to have fixed the problem with OPUS decoding.
It's not clear to me how to solve other problems, the code is very confusing.

isidroco
25th April 2023, 21:01
Yes i have. I can put the file on an ftp server and PM you IP & log information if you want.

Any chance for me to have x64 of DShowInputDriver.vdplugin?
Not needed now, but want to do some comparisons with Caching Input driver. Thanks!

isidroco
26th April 2023, 03:53
Your screenshot for x265vfw shows DAR width, height, not SAR . Try 16 and 9 .
If the the extra commandline box works, you can enter --sar x:y there instead

Just tested, DAR setting is ignored in x265vfw, but ntsc: "--sar 10:11" or for PAL: "--sar 59:54" will generate 4:3 hevc video.
For 16:9 ntsc/pal use: --sar 40:33 / --sar 16:11

v0lt
8th May 2023, 09:30
Any chance for me to have x64 of DShowInputDriver.vdplugin?
http://www.virtualdub.org/beta/DShowInputDriver-0.93.zip

nji
23rd May 2023, 13:32
I need to make a capture of a coming broadcasted video
and so tried this function of VD2 for the first time.
Doing so I encountered problems, maybe someone can help?

At the beginning the audio is about 1s to early.
In between the audio sounds "strangely wrong"/ swaying.
At the end (abt. 2 min) the audio is much to quick,
the voices sound like Donald Duck, still the audio
sync seems to lessen/ vanish (in opposite to what the
statistic pane says).

I enclose the statistic pan at the end of the video.
(At the beginning it shows a sync error of abt 10ms).

I used lagarith for video compr., and PCM for audio.

My settings (when different from default):
Video - Source:
Panning area = top level client area, Acc. mode = GDI
Video - Set Custom Format = 1280 x 768
Audio - Default Output Loopback (Core Audio)
Capture - Capture Settings: Framerate = 50
(Strange: The statistic pane says 27.3 fps, and the
captured movie is abt. 50 fps; checked framewise: a dupe abt. every 10th)
Capture - Timing: Automatical disable ... (no matter how it's set).

What might be going on here?

isidroco
23rd May 2023, 22:38
http://www.virtualdub.org/beta/DShowInputDriver-0.93.zip
Thanks!

Screen Capture: Strange audio desync

Hi nji. Which is the capture card you are using?
Please try these Capture Timing Options:
[x] Drop frames..; [x] Insert null...; Null limit: 10; [x] Sync audio to video...; [x] Correct video timing...; [x] Automatic; Number of audio blocks:30; [x] Force audio clock...

Also try first using Capture Settings: Frame Rate=25 (you may try 50fps later after succeeding with 25).

On Lagarith: Mode YV12; [x] Use Multithreading. Uncheck the rest (Null frames may cause desynch on some programs). YV12 is smaller.

nji
24th May 2023, 10:38
@isidroco:
Thank you.

Capture card: For screen capture there is no need for a capture card - I don't have any.

Settings: Timing: The settings you suggest are the default ones. With the exception of "Automatic".
That's what I tried - without success.

But meanwhile I tried disabling Resync mode, "Correct" and "Automatic". ==> Audio in sync from start to end!!
So there seems to be a kind of bug (?) in VD2?

Moreover there remains the question about fps (see my first post above).

nji
28th May 2023, 09:55
Up to now I mostly used mp4 container for (AVC1, AAC) to have good compatibility.
(Good choice?).
Recently I noticed that AAC in VD2 offers only CBR mode, while most prof movies use VBR mode.
So my (second) question:
Should I use VBR, and how to do that?
(I suspect I need an external codec for it?)

StainlessS
28th May 2023, 11:43
No idea if relevant but,
There were always problems in VDub with mp3 VBR,
perhaps problems with *any* VBR is an AVI issue. [EDIT: Or VDub issue]

isidroco
31st May 2023, 16:27
...
(Strange: The statistic pane says 27.3 fps, and the
captured movie is abt. 50 fps; ...

I think the key is there, VDub thinks video is 50fps, but it's being captured at 27.3. I just made a test (with defaults settings as shown before), and with 50fps statistics was also 50 A/V was on synch. Maybe your system has a bottleneck that prevents you to reach that fps. Please use VirtualDub64 which is a lot faster. And try slower FPS first.

isidroco
31st May 2023, 16:29
Should I use VBR, and how to do that?
(I suspect I need an external codec for it?)

Learnt the hard way: Never use VBR audio with VDub.

nji
1st June 2023, 09:06
Thank you for your hints!

LigH
19th June 2023, 13:32
Today I wanted to open an old AVI file with 16 kHz stereo MP3 audio through AviSynth+. VirtualDub2 build 44282 does it. VirtualDub2_x64_ffmpeg6.0_test6 instead:

---------------------------
File open error
---------------------------
FFMPEG: Unsupported channel layout.
---------------------------
OK
---------------------------

I also tried to export it as WAV, 16 bit stereo, 44100 Hz, loading it separately via LwLibavAudioSource and multiplexing it using AudioDub: same issue.

SeeMoreDigital
19th June 2023, 14:13
I also tried to export it as WAV, 16 bit stereo, 44100 Hz, loading it separately via LwLibavAudioSource and multiplexing it using AudioDub: same issue.
Have you tried using good old fashioned AVIMux GUI?

LigH
19th June 2023, 16:30
Ehm, I passed the material through AviSynth+, that failed. Both with audio out of an AVI file and with separate audio from WAVSource().AudioDub().

isidroco
22nd June 2023, 18:42
Ehm, I passed the material through AviSynth+, that failed. Both with audio out of an AVI file and with separate audio from WAVSource().AudioDub().

Try opening the video with VDub2, and File, Save Audio to a WAV file. Try that .WAV in AviSynth.

LigH
23rd June 2023, 21:37
I tested a little more and discovered:

The basic builds of VirtualDub2 (both 32 and 64 bit) usually offer the "Caching input driver" when opening an AVI file but immediately switch to the internal "AVIFile/AviSynth input driver" when I select an AVS file.

The test6 build of VirtualDub2 also offers the "Caching input driver" when opening an AVI file; but when I select an AVS file in the directory listing of the File - Open dialog, it utilises my harddisk heavily for a dozen of seconds, then does not automatically switch to "AVIFile/AviSynth input driver". When I try to open the AviSynth script file with the "Caching input driver", it fails complaining "FFMPEG: Unsupported channel layout."; but when I manually switch to the "AVIFile/AviSynth input driver", the script opens.

nji
2nd July 2023, 14:12
Some time ago I discovered the Capture feature of VD2.
This came pretty handy as I was short before searching for
some other programs for that - for legal content of course.

It works pretty fine for me;
but with the time the little "stuttering" came to my attending.
Having I closer look there showed dupes and jumps in the capture.
For sure I have to do a matching between source and capture fps
(which I did by trial and error),
but even if it matches very well, there is say every 10th frame
a dupe followed by a drop. Especially when frame contents changes a lot.

I searched for information about how to handle that,
but nothing is specific enough.
Maybe somebody is able to answer my questions?

How do I know the frame rate of the source (some source stations
seem to change from strip to strip)?
Is there still a difference between F5 and F6?
(How) can the "Real-time profiler" be a help for that?
(I don't know the meaning of the statistics).
In this situation, is it better to use (low-CPU, large data) lararith codec
or say h264 (higher-CPU, less data)?
How can I know a potential bottleneck (memory etc.)?
My hardware is from 2018: i7-6700 (on-chip GPU, no graphic card etc.),
SSD for capture.

I would really appreciate if somebody has some help for me. :)

isidroco
4th July 2023, 01:06
Frame Size and FPS? Usually Lagarith using YV12 instead of RGB is fast and not so heavy, but HDD may be a bottleneck. Your CPU is quite fast, h264 with a fast preset may be better in keeping MB/s low. You should probably try using a standard FPS (regardless of dupes) of 25 or 30 fps.
Win10 may have a lot of background tasks/ services/ updates that may interrupt capture. You may try my automatic script/ utilities for that (OptimWin Batch on sourceforge).
What are you trying to capture? Maybe player is stuttering and not VDub, VideoLan VLC player might be faster than MPC. Open taskmanager to monitor what's taking more resources.

nji
4th July 2023, 08:22
Thank you for your hints. I will try them... one by one. (As you asked: The frame size I mostly use is 1280x1024 @ 24 fps, playback in browser). Another idea that came to my mind: if the source site offers it I could try lowering the playback fps, and record with that... to change it afterwards. I wouldn't have thought it may be as tricky nowadays... :)

nji
1st August 2023, 16:05
Recently I made a very strange oberservation:
Load a movie with VD2,
take filter MSU Denoising https://compression.ru/video/denoising_copy/index_en.html
choose "Add filter" to open its dialog
(the CPU consumption instantly goes to 100% of 1 core)
close the dialog with cancel.
The CPU stays at 100% as long as you don't close VD2.

What is going here?
Bug in VD2, or is it From Russia with Love?

LigH
1st August 2023, 19:43
You suspect someone forging Bitcoins on your CPU time?

I don't know how much ProcessExplorer or similar SysInternals tools can help you digging deeper.

nji
1st August 2023, 20:40
I'm just interested about this quite unexpected effect.

blob2500
6th August 2023, 14:48
Recently I noticed that AAC in VD2 offers only CBR mode, while most prof movies use VBR mode.
So my (second) question:
Should I use VBR, and how to do that?
(I suspect I need an external codec for it?)
VD(2) doesn't support AAC natively to mux in AVI.
Support is via plugin:

Example: import through mkv(and mka) or mov plugin by fcchandler.

In this way, muxing mode is VBR always, even in case of constant bit rate aac audio into mkv/mka/m4a.

It' is similar (in avi headers level) to native mp3 vbr muxing import audio for mp3 (vbr or cbr). This works fine for MP3.

VBR muxing mode vs. CBR muxing mode is in AVI header, not in stream.

LigH
7th August 2023, 08:41
I don't see nji talking about saving AAC audio in an AVI container. Just above your quote he mentioned the MP4 container; this is where AAC audio belongs.

The integrated ffmpeg AAC encoder offers only an ABR like bitrate control; fdkaac does the same.
Nero AAC and QAAC offer real quality based VBR; VirtualDub2 may not be able to multiplex those without configuring an external MP4 muxer like MP4Box as "external codec", though.

blob2500
7th August 2023, 23:45
I didn't understand nji post, sorry :(

nji
20th August 2023, 10:01
Recently I noticed that a filter I use obviously reads/ writes the registry.
I thought about it...
Yes, filters obviously are allowed to read/ write files too (e.g. DeShaker).
So the next thought:
As they are not "sandboxed" like JavaScript or browser add-ons:
(How) can I trust a filter not doing malicious things?
(Especially if it is not open source).

StainlessS
20th August 2023, 13:24
(Especially if it is not open source).
Not sure if the filter you reference is Deshaker or not, but if so then is now open source.
Deshaker @ Github:- https://github.com/gu-t/Deshaker

nji
20th August 2023, 14:06
Yes, I know that.
It was just an example of what filters may do.

shekh
21st August 2023, 10:21
(How) can I trust a filter not doing malicious things?
(Especially if it is not open source).

You can`t completely trust it. Certain sensitive OS parts are somewhat protected from accidents - by user rights (VD doesn't require elevation to run).

nji
21st August 2023, 16:38
Hey shekh :)

However that's kind of bad news... especially in these times you never know
what you get.

The reason for this post was due of a filter from a somehow strange source.

Still some time ago I already had some other experience which made me feel uneasy:

https://forum.doom9.org/showthread.php?p=1990265#post1990265

shekh
22nd August 2023, 11:21
Still some time ago I already had some other experience which made me feel uneasy:

https://forum.doom9.org/showthread.php?p=1990265#post1990265

Yes I know nothing about MSU but after trying various filters I had impression these are some sort of student projects (nothing good).

nji
18th September 2023, 14:28
Recently I wanted to remove an annoying subtitle from a movie.
(A cut of the movie: https://c.gmx.net/@1155842887640945833/o46DBll3QqiL0KZkxjFo4g)

I searched and found MSU Subtitle Remover
https://videoprocessing.ai/video_filters/subtitles-removal.html

Trying it (yellow subtitles with a small black border around)
I wasn't successful, no matter what kind of adjustments I did.
There were no or only very small parts of the subtitles found
(even with decreased "Subtitle outline contrast" slider
and/ or increased "Subtitle sensivity" slider).
The present doesn't find anything.
(Anyway I wondered how the filter should work without giving it
explicitely the subtitle color).

Then I tried the previous version (2.2b).
Here you can give the color (in YUV!),
but it doesn't generate any files in working folder.

Has anyone any experiences with it?

Or are there alternative filters for removing subtitles?
Actually I haven't found ANY...

Emulgator
18th September 2023, 16:22
InpaintDeLogo (https://forum.doom9.org/showthread.php?t=176860)

nji
18th September 2023, 17:08
InpaintDeLogo (https://forum.doom9.org/showthread.php?t=176860)

Thank you.
(I could have bet that with AviSynth it had been done).

But...
that looks extremely complex to me, even if you're common to AviSynth.
Moreover there is a long list of other packets that have to be installed before.
It may be the very last resort, but first of all there may be an origin VD2-filter?
This might be as simple/ usable as the MSU one - but working.


There are possible workarounds, using deshaking filter:

For that there is needed a pre-filter that allows
to specify the main subtitle color/ tolerance, and the area to expand
and fuzzy around that.
As its output the fulfilling area shall
- color-changed (for DeShaker) or
- alpha set (for shekh's repair filter in "lens transform").
DeShaker would have the advantage of intelligent temporal filling.
(But somewhere in my brain I remember that Deshaker doesn't do
with no deshaking (but only ignoring)).
I don't know if there is such a filter somewhere...

(There is - of course :) - an AviSynth filter: TweakColor.
Still you can't specify parameters for expand and fuzzy area
- which will fail with bordered subtitles).

Any ideas anyone?

nji
16th October 2023, 11:48
Take a mp4/avc1 and write it with same codec (but in it's config
change from YUV 4:2:0 to RGB).

Why is that?
I would expect only minor effects, measurable but not so obvious.

https://c.gmx.net/@1155842887640945833/o46DBll3QqiL0KZkxjFo4g

FranceBB
7th November 2023, 09:59
Hi there,
I've just realized that the last time I updated VirtualDub was like 3 years ago, so I went on to update it again, but the last update I could find is 20 Update 19 from March 20, 2020.
Is this effectively the last version or did I miss something?

nji
7th November 2023, 11:52
No, you didn't miss something.

Sadly development of VirtualDub2 (https://sourceforge.net/projects/vdfiltermod/files/plugins/)has stopped since then until now.

Quite noticeable as VD2 is best manipulating/ restoring video GUI that I know.
(Of course, behind the seven mountains with the seven dwarves... there is AviSynth (http://avisynth.nl/index.php/Main_Page)...)

Emulgator
7th November 2023, 14:34
VirtualDub Build 44282, this is what I use too, weekly.
AvsPmod to generate and preview restoration .avs, VD2 to write intermediate .avis
Vegas Pro to edit/compose/render, x264/265 to encode, (sometimes NVEncC265 for quick&dirty preview),
tsMuxer to mux into .m2ts, MP4box to mux into .mp4, mkvtoolnix to mux into .mkv,
BDEdit or DVD-A Pro to mux into BD-R....

poisondeathray
7th November 2023, 15:32
Take a mp4/avc1 and write it with same codec (but in it's config
change from YUV 4:2:0 to RGB).

Why is that?
I would expect only minor effects, measurable but not so obvious.

https://c.gmx.net/@1155842887640945833/o46DBll3QqiL0KZkxjFo4g


I can't see the image, but likely it's a Rec601 vs. Rec709 matrix mismatch . The color matrix is a major factor governing how YUV <=> RGB conversions are performed

HD uses 709 by convention , SD uses 601 . Vdub uses 601 for RGB conversion

You get slight color shifting with the wrong interpretation . Ideally you would use correct matrix conversion, and flag the metadata correctly as well in the encoder, so the playback device/software has the highest chance of display correct colors as well

There should be a workaround in vdub2 - decode format has 601/709 full vs limited options and/or the alias format and convert format filters

If it's not the color matrix problem, post more information

nji
7th November 2023, 16:28
@poisondeathray:
But that seems to be another pitfall of VD2 then?
If VD2 always uses Rec601 - what about all the implicit filter conversions when working on a Rec709 movie?
Moreover I tried: input AVC1/ Rec709 and output Lagarith (Both with RGB and YUV12 format): Both results are slightly too bright.
Try with AviDemux (https://avidemux.sourceforge.net/): Read the above video, write with the lossless codecs... all fine.

poisondeathray
7th November 2023, 16:44
@poisondeathray:
But that seems to be another pitfall of VD2 then?
If VD2 always uses Rec601 - what about all the implicit filter conversions when working on a Rec709 movie?
Moreover I tried: input AVC1/ Rec709 and output Lagarith (Both with RGB and YUV12 format): Both results are slightly too bright.
Try with AviDemux (https://avidemux.sourceforge.net/): Read the above video, write with the lossless codecs... all fine.

If the filters work in YUV, there is no problem, because there are no RGB<=>YUV conversions. If you checkmark "show image formats" in the filter options dialog box it will show you which pixel formats are being sent

It's a limitation of vdub classic, which was used in an era that only dealt with SD. 601 was ok back then. Vdub2 has a workaround as mentioned above

There are threads discussing this vdub/vdub2 matrix issue and the workarounds. If you still need help , provide more information, because I'm making some guesses that is your problem

nji
7th November 2023, 17:19
There was a misunderstanding. I didn't noticed you were talking about "classic virtualdub" - and not about VD2.

Of course I'm doing only in VD2 (... the whole thread is about it).
And the problems with enlightened output is with VD2.

Moreover: all those color conversion in a typical filter chain is what I am talking about.

Seems to be much confusion about this...

BTW: If do a VD2 encode to HuffYUV it's OK with YUV12, but brighter in RGB mode.

poisondeathray
7th November 2023, 17:59
There was a misunderstanding. I didn't noticed you were talking about "classic virtualdub" - and not about VD2.

Of course I'm doing only in VD2 (... the whole thread is about it).
And the problems with enlightened output is with VD2.

Moreover: all those color conversion in a typical filter chain is what I am talking about.

Seems to be much confusion about this...


Assuming this is your problem, you need to take control of the RGB <=> YUV conversion steps, instead of letting vdub and/or filters automatically use 601 or the wrong matrix. Many of the older vdub filters that work in RGB, automatically use 601 with YUV input for the RGB conversion. So take control and convert to RGB using 709 before that filter, and if exporting YUV, use 709 instead of 601 . Alternatively, you can use 601 for the YUV to RGB step, but you have to use 601 on the return step to YUV, but flag it as 709

It's possible in vdub2 with the decode format, alias format, convert format, and the compression menu has options as well with the pixel format button (601/709, full vs. limited)


BTW: If do a VD2 encode to HuffYUV it's OK with YUV12, but brighter in RGB mode.

But do you mean no filters, or YUV filters ie. YUV to YUV (no RGB step), then that is the expected result

nji
7th November 2023, 19:13
It's hard for me to believe this should be true.
As that situation wouldn't be a pitfall, but a field of pitfalls:

I would have to check for every movie about its color profile
(601/709, full/ limited), also would have to know which VD2 filter
uses which color conversion matrix, and do manually a conversion.
This can't be true!?

Moreover for me personally it's anything but expected that
encoding an avc1/709/YUV421 movie losslessly as HuffYUV
does fine as YUV, but as RGB changes brightness.

poisondeathray
7th November 2023, 19:45
It's hard for me to believe this should be true.
As that situation wouldn't be a pitfall, but a field of pitfalls:

I would have to check for every movie about its color profile
(601/709, full/ limited), also would have to know which VD2 filter
uses which color conversion matrix, and do manually a conversion.
This can't be true!?

Moreover for me personally it's anything but expected that
encoding an avc1/709/YUV421 movie losslessly as HuffYUV
does fine as YUV, but as RGB changes brightness.



Assuming that's your problem, welcome to vdub/vdub2.

vdub2 is based on legacy software . Many of the vdub RGB filters are hardcoded to use Rec601 with YUV input. Many of the legacy compressors (like huffyuv) are also hardcoded to use Rec601 for YUV to RGB conversions.

Just beware of YUV<=>RGB conversions, that's true for all software not just vdub . Pro NLE's potentially have this sort of issue to if you're not careful

Maybe you didn't notice before because you were only using SD sources in the past.

It's actually many more combinations now - with UHD, Rec2020 , HDR . Not just matrix; but transfer, primaries too . There are dozens of more combinations and tonemapping for SDR outputs. Vdub2 doesn't cover them all. Look on the bright side - at least it's still possible to work with HD, RGB filters when using workarounds

shekh
10th November 2023, 21:12
Take a mp4/avc1 and write it with same codec (but in it's config
change from YUV 4:2:0 to RGB).

Why is that?
I would expect only minor effects, measurable but not so obvious.

https://c.gmx.net/@1155842887640945833/o46DBll3QqiL0KZkxjFo4g

Hi, it is not clear which software do you use for viewing when comparing?

nji
11th November 2023, 12:37
Hi. I used in-built software (firmware of my eyes and brain) :)

I checked again: It depends a bit from movie to movie.

But if you take the one I linked to (see above, re-activated) it is obvious.
(Still you can stop YUV and RGB movies at the same frame; then flip-flop).
If you measure the difference you find about 1 per component (average), max to 3.

One may not notice the difference at a superficial look (but the same holds for many settings).
The more serious this issue is.

Also videos are AVC1/YUV by origin, many modifiying VD filters do in RGB...
Saving in YUV seems to revert the effect sometimes...(?)

What is real cause for this difference?

poisondeathray
11th November 2023, 15:14
Hi. I used in-built software (firmware of my eyes and brain) :)

I checked again: It depends a bit from movie to movie.

But if you take the one I linked to (see above, re-activated) it is obvious.
(Still you can stop YUV and RGB movies at the same frame; then flip-flop).
If you measure the difference you find about 1 per component (average), max to 3.


Max 3 is expected error for a correct 8bit YUV=>RGB=>YUV conversions due to rounding, clipping, precision issues for 8bit and the YUV/RGB color models (there are many 8bit YUV values that do not map to 8bit RGB - you get negative RGB values, and RGB values >255 - these are clipped in an 8bit conversion). But +/-3 is not noticable under normal viewing conditions . You need RGB float for a lossless round trip



The more serious this issue is.


If you have a rec601/709 mismatch, you can have a difference of ~0-30 . It affects reds , greens more than other colors, but the error is much larger than an 8bit "correct" conversion

shekh
11th November 2023, 17:41
Hi. I used in-built software (firmware of my eyes and brain) :)

I checked again: It depends a bit from movie to movie.

But if you take the one I linked to (see above, re-activated) it is obvious.
(Still you can stop YUV and RGB movies at the same frame; then flip-flop).
If you measure the difference you find about 1 per component (average), max to 3.

One may not notice the difference at a superficial look (but the same holds for many settings).
The more serious this issue is.

Also videos are AVC1/YUV by origin, many modifiying VD filters do in RGB...
Saving in YUV seems to revert the effect sometimes...(?)

What is real cause for this difference?

https://i.postimg.cc/P5gGLqrG/image.png

In VD2 you can use shift+mouse move within filter preview to inspect pixel values.
The random difference per component is related with the codec being lossy. But overall (if you average any large portion of the frame) it should stay the same, works for me. Used x264 at crf 20 in this example.

shekh
11th November 2023, 17:47
Max 3 is expected error for a correct 8bit YUV=>RGB=>YUV conversions due to rounding, clipping, precision issues for 8bit and the YUV/RGB color models (there are many 8bit YUV values that do not map to 8bit RGB - you get negative RGB values, and RGB values >255 - these are clipped in an 8bit conversion). But +/-3 is not noticable under normal viewing conditions . You need RGB float for a lossless round trip




If you have a rec601/709 mismatch, you can have a difference of ~0-30 . It affects reds , greens more than other colors, but the error is much larger than an 8bit "correct" conversion

All of this can be involed in some scenarios, but when you look at the picture in VD2 it is already converted to rgb for display (same YUV-RGB conversion is used either for display, filtering or encoding). And this rgb should not be affected by anything after you send it to rgb codec, except the codec accuracy.

poisondeathray
11th November 2023, 19:40
The random difference per component is related with the codec being lossy. But overall (if you average any large portion of the frame) it should stay the same, works for me. Used x264 at crf 20 in this example.

He was using lagarith, huffyuv earlier, so assuming he didn't change , "lossy" is not the explanation. 8bit YUV=>RGB=>YUV +/-3 expected values explains it nicely



BTW: If do a VD2 encode to HuffYUV it's OK with YUV12, but brighter in RGB mode.


Moreover for me personally it's anything but expected that
encoding an avc1/709/YUV421 movie losslessly as HuffYUV
does fine as YUV, but as RGB changes brightness.





All of this can be involed in some scenarios, but when you look at the picture in VD2 it is already converted to rgb for display (same YUV-RGB conversion is used either for display, filtering or encoding). And this rgb should not be affected by anything after you send it to rgb codec, except the codec accuracy.


Yes, the preview is an RGB converted representation

For RGB codec, lossless codec like lagarith should be "accurate"...

And when you save out a YUV export directly, there isn't necessarily a RGB step if you do it properly - and there was a claim that lagarith YV12 was also incorrect:



Moreover I tried: input AVC1/ Rec709 and output Lagarith (Both with RGB and YUV12 format): Both results are slightly too bright.
Try with AviDemux: Read the above video, write with the lossless codecs... all fine.


This one needs more clarification . Did vdub2 use RGB filters > Did avidemux use the same RGB filters? Because avidemux suffers the same +/- 3 8bit YUV=> 8bit RGB=> 8bit YUV issue because it's simple math and unavoidable with 8bit RGB

If no filters, then lagarith was not used correctly . There should be no colorspace conversion if you set video=>fast recompress . So YV12 in should be YV12 out, lossless. Also, lagarith in RGB(default) mode does not actually convert to RGB, it retains the input colorspace - if you send YV12, RGB(default) actually uses YV12 too - also lossless. But if you send RGB, then RGB(default) uses RGB. So this might be some other issue like a preview issue (eg. your viewing program might be using Rec601 to convert to display for the lagarith YV12 version, but 709 for the MP4 version. But you would expect the same problem with avidemux lossless codecs on playback...)

For the RGB lagarith version, I can see no other explanation than a rec601/709 mismatch - it's converted incorrectly

But if "slightly too bright" refers to the max +/- 25-30 then the Rec601/709 mismatch, is the most common explanation. Either conversion, or playback chain incorrect

nji
11th November 2023, 19:51
...
The random difference per component is related with the codec being lossy. But overall (if you average any large portion of the frame) it should stay the same, works for me. Used x264 at crf 20 in this example.

For me it's different (BTW x264 @ crf18):
The RGB version is slightly lighter - almost everywhere.
(Checked by frame exports and subtracts).

If it would have been a random pattern I wouldn't get suspicious.

shekh
11th November 2023, 20:43
For me it's different (BTW x264 @ crf18):
The RGB version is slightly lighter - almost everywhere.
(Checked by frame exports and subtracts).

If it would have been a random pattern I wouldn't get suspicious.

This is weird. Describe 'frame exports'?
Try with this file. Your example 1st frame encoded in rgb avc.
https://wetransfer.com/downloads/785d636866ea30a89df3b9cee91cc0f020231111193712/e2cb907ef0a14390096f45abd8addbec20231111193730/8a9661

nji
11th November 2023, 22:31
This is weird. Describe 'frame exports'?...

"That detective, is the right question" (I robot)

Actually I "exported" that 1st frame when displaying the movie with MPC-HC (https://github.com/clsid2/mpc-hc).
And this is the true reason for the lightened RGB frame!
If I export (single frame) with VD2... everything is as expected.

So... wrong forum...
will see if my (default) MPC-HC settings are responsible for that,
or... etc.

However:
Thank you very much for all your help! :) :)

nji
12th November 2023, 11:59
OK, I did a "round-up" test for the topic.

For that I used these programs:
VirtualDub2-32 (newest)
MPC-HC-64 (1.9.23, Aug. 22, not newest)
AviDemux-64 (newest)
IrfanView-32 (newest)
PaintShopPro-32 (7.x, stone age)

1st scenario:
Open the movie (see above) with VD2, MPC, ADM respectively
export the first frame as png.
Result (as of IV and PSP):
VD2 > MPC > ADM (">": significant overall brighter, i.e. not randomly).
The difference is so significant that I would have different manipulation
parameters when working with VD2.
PROBLEM_No1.

2nd scenario:
Open the movie with VD2
write it as h264/ crf18/ RGB.
Now take this result movie and do the same test as in the first scenario.
Result:
All exported RGB frames are (about) the same brightness. (Hurray!)
And their brightness is identical to the original of... of...
VD2.
(This doesn't contradict to my posts above ("RGB is brighter"),
as there I exported the orig frame by MPC (= darker)).

My conclusion of all this:

It seems (!) like MPC, and ADM even more, have bugs of showing/ writing
contents too dark.

Maybe someone checks my results and conclusion?

v0lt
12th November 2023, 18:21
VirtualDub2 x64 with updated avlib-1.vdplugin (ffmpeg6.1 test 7) (https://www.sendspace.com/file/3iawvw)
Alternative link (https://disk.yandex.ru/d/R3Ob8yREy4ChvA)

avlib-1.vdplugin (FFmpeg 6.1) source code (https://github.com/v0lt/avlib_vdplugin)

danbow
10th December 2023, 17:57
Hi Doom9!
I very much love VirtualDub2 and it is very a pity, that it is stopped on 44282 version in 2020.
I love WindowsXP even more:) and i use ffmpeg xpmod by Reino Wijnsma: https://rwijnsma.home.xs4all.nl/files/ffmpeg/?C=M;O=D
Right now last version ffmpeg-6.1 (2023-09-04) for xp, there is and sources, but alls it only x86 (i do not know why for xp-64 does not do).
Maybe this is useful for compile.

Emulgator
10th December 2023, 19:42
I would guess that Reino might have no XP64 bit installation and building tools available (me neither)
But since he was so kind to publish his build configuration
https://forum.doom9.org/showthread.php?t=181802&highlight=ffmpeg
one who has all that (and the knowledge) should be able to compile himself.

v0lt
11th December 2023, 15:07
VirtualDub2 includes only one plugin that uses FFmpeg DLLs. This is avlib-1.vdplugin.
Old version of avlib-1.vdplugin uses old versions of FFmpeg DLLs. New versions of FFmpeg differ in the names of the DLL files. The FFmpeg API has also been changed.

tormento
7th January 2024, 17:21
VirtualDub2 x64 with updated avlib-1.vdplugin (ffmpeg6.1 test 7)
Tried to drag and drop a AVS file and it simply hangs.

v0lt
10th January 2024, 18:55
Tried to drag and drop a AVS file and it simply hangs.
It doesn't freeze for me, but it gives me an error.
I disabled support for AviSynth scripts in avlib-1.vdplugin.

VirtualDub2 x64 with updated avlib-1.vdplugin (ffmpeg6.1 test 8) (https://www.sendspace.com/file/tzul6n)
Alternative link (https://disk.yandex.ru/d/R3Ob8yREy4ChvA)

avlib-1.vdplugin (FFmpeg 6.1) source code (https://github.com/v0lt/avlib_vdplugin)

v0lt
20th January 2024, 08:25
VirtualDub2 x64 with updated avlib-1.vdplugin (ffmpeg 6.1.1 test 9) (https://www.sendspace.com/file/rsdacd)
Alternative link (https://disk.yandex.ru/d/R3Ob8yREy4ChvA)

avlib-1.vdplugin (FFmpeg 6.1.1) source code (https://github.com/v0lt/avlib_vdplugin)

Morku
10th February 2024, 19:17
It's nice to see updates here, but using VirtualDub2 x64 with updated avlib-1.vdplugin (ffmpeg 6.1.1 test 9) the process stays open in background after closing VD2. I need to close in task-manager.
To reproduce I need to drag and drop an Avisynth avs script, containing and loading a video:
LWLibavVideoSource("IMG_0001.MOV")
Closing VD2 and it still run.

v0lt
10th February 2024, 21:18
@Morku
I think the problem is not with avlib-1.vdplugin (test 9). Because this plugin should not be used with AviSynth scripts.

Morku
11th February 2024, 00:01
Yes, that makes me also wondering, but using last VirtualDub2_44282 64Bit version, the exact same video and script, it doesn't get stuck. Using test 9, the process get stuck after closing again.
Don't know why and what exactly is the cause, but with the Avisynth script is my observation. When I drag and drop the MOV directly, VD2 test 9 just closes fine.

v0lt
11th February 2024, 06:53
What happens if you open a simpler script?
Colorbars(1280,720)

Morku
11th February 2024, 10:23
Also don't close proper. I need to close in task-manager. (AviSynth+ 3.7.3)

v0lt
11th February 2024, 13:55
Also don't close proper. I need to close in task-manager. (AviSynth+ 3.7.3)
I confirm the problem. But I don’t know what to do with it yet.

Morku
14th February 2024, 17:56
One more thing with test 9. Loading a DV avi gives me error:

FFMPEG: Unsupported channel layout.

File to test: https://www.sendspace.com/file/p7eghe

Loading fine with 44282.

v0lt
14th February 2024, 19:08
One more thing with test 9. Loading a DV avi gives me error:

FFMPEG: Unsupported channel layout.
Older versions of FFmpeg recognized audio from DV as stereo. Newer versions of FFmpeg recognize audio as 2 channels with an unknown channel layout.

I tried to solve this problem.
VirtualDub2 x64 with updated avlib-1.vdplugin (ffmpeg 6.1.1 test 10) (https://www.sendspace.com/file/1hek7e)
Alternative link (https://disk.yandex.ru/d/R3Ob8yREy4ChvA)

Morku
14th February 2024, 22:59
That was quick and I can confirm, the DV loads fine now :)

v0lt
15th February 2024, 04:56
Also don't close proper. I need to close in task-manager. (AviSynth+ 3.7.3)
Fixed.
VirtualDub2 x64 with updated avlib-1.vdplugin (ffmpeg 6.1.1 test 11) (https://www.sendspace.com/file/hf1rb8)
Alternative link (https://disk.yandex.ru/d/R3Ob8yREy4ChvA)

tormento
15th February 2024, 13:37
It's a pity that I can't get working AVS+ support.

Hope in some future release.

v0lt
15th February 2024, 16:11
It's a pity that I can't get working AVS+ support.
AviSynth+ scripts open for me.
https://i.ibb.co/FnxvjYp/Avi-Synth-373-in-VD2.jpg (https://ibb.co/FnxvjYp)

LigH
16th February 2024, 16:13
It might be the issue I once reported: Selecting the Cached vs. AviFile input driver (https://forum.doom9.org/showthread.php?p=1988797#post1988797) when opening AVS files.

v0lt
17th February 2024, 10:13
It might be the issue I once reported: Selecting the Cached vs. AviFile input driver (https://forum.doom9.org/showthread.php?p=1988797#post1988797) when opening AVS files.
I don't have this problem with the latest test build.
You may be using FFmpegSource2, which builds an index file for the video file being opened.

tormento
21st February 2024, 09:53
I don't have this problem with the latest test build.
After having tested your last build for some days, I can say that it works really well, with AVS scripts as well.

Thank you!

Does it decode video in hw or sw? I have noticed some stuttering when scrolling backward.

v0lt
22nd February 2024, 20:18
Does it decode video in hw or sw? I have noticed some stuttering when scrolling backward.
avlib-1.vdplugin decodes in software mode.

tormento
28th February 2024, 14:39
avlib-1.vdplugin decodes in software mode.
Can you do something for reverse frame by frame (left arrow)?

It's so slow compared to forward mode.

Try with hevc.

LigH
28th February 2024, 14:58
That would require the caching of the whole GOP decoding sequence of P frames from the previous IDR frame to your current "mini GOP" of B frames between the surrounding I/P frames. That would cost a lot of RAM and a serious amount of code.

v0lt
28th February 2024, 15:20
Can you do something for reverse frame by frame (left arrow)?
I'm updating FFmpeg and fixing bugs that appeared after the update. I do not plan to change the functionality of the plugin; I do not have the time and competence for this.

tormento
28th February 2024, 15:34
That would require the caching of the whole GOP decoding sequence of P frames from the previous IDR frame to your current "mini GOP" of B frames between the surrounding I/P frames. That would cost a lot of RAM and a serious amount of code.
The "old" VirtualDub2 isn't so slow.

LigH
28th February 2024, 20:09
But it uses a severely outdated ffmpeg version with a different set of interface functions. Well possible that to make it support modern A/V formats better, some features had to be implemented in a different way, and to make full use of those, we would need a specialist in ffmpeg APIs in different major versions...

v0lt
29th February 2024, 19:28
The "old" VirtualDub2 isn't so slow.
I didn't see much difference. Moving backward within the current GOP is fast, but there is a slight delay when moving to an earlier GOP. This is the same for old and new avlib-1.vdplugin.

If you have a very large distance between keyframes, then you can try increasing the cache size in the "Cashing input driver" settings. By default there is 0.5 GB.

nji
29th February 2024, 20:59
First of all:
I never touched that frameserving thing;
I only now that VD2 may use AviSynth as frameserver and by this
may use AviSynth's very special filters.

Now I came to the point of using an ffmpeg filter and
do further manipulation in VD2.
I did this using an intermediate lossless file.
Not so nice.

So I wonder... if someone can drop some info about frameserving
from ffmpeg to VD2.
(Or is there a different way of using an ffmpeg filter in VD2?)

Emulgator
3rd March 2024, 17:38
1. Make an empty .avs.
2. It will be an one-liner. Call your desired ffmpeg-based source filter
http://avisynth.nl/index.php/FFmpegSource
FFmpegSource2("<yourpathhere>")
OR
http://avisynth.nl/index.php/LSMASHSource
LWLibavVideoSource("<yourpathhere>")
3. Drag and drop your .avs onto VD, may it be VD shortcut or open VD window.

nji
3rd March 2024, 18:51
Thanks for your help.

Still you got me wrong:
By "ffmpeg filter" I didn't mean source filter (just to open a file with ffmpeg),
but moreover an ffmpeg manipulation filter. For example:

Open movie and deinterlace it - then pass to VD.

LigH
4th March 2024, 14:14
Avisynth is indeed a frameserver which does a lot more than just serve frames from a supported source media format to an application which would usually only ask Windows to handle an AVI file. The real power is in all the core functions and plugins which allow manipulation of the video between opening the input and serving the output.

Many of the filters available in ffmpeg are also available in Avisynth and its plugins (either exactly the same or almost identical). And even more. So you don't actually need to cling to ffmpeg, you may just have to find the analog (or even better) filters in Avisynth.

I guess we could explain it better when you can provide a more or less complex example of what you are used to do in ffmpeg, so we can translate it to an equivalent Avisynth script. And this may even go beyond the topic of this thread... VirtualDub(2) does not really need to care how it receives its material, only that it is in a compatible uncompressed format which can be forwarded to the encoders it supports.

v0lt
8th March 2024, 07:07
VirtualDub2 x64 with updated avlib-1.vdplugin (ffmpeg 6.1.1 test 12) (https://disk.yandex.ru/d/R3Ob8yREy4ChvA)
Alternative link (https://www.sendspace.com/file/wvaeao)
Fixed a crash when calling RunNullVideoPass().
VirtualDub2 has been rebuilt in Visual Studio 2019.

Source code:
https://github.com/v0lt/VirtualDub2
https://github.com/v0lt/avlib_vdplugin

tormento
10th March 2024, 17:07
Fixed a crash when
Dunno if it happened with previous versions too but I can't jump to keyframes in a video, both with shortcut and with key buttons. It simply jumps to the end or the beginning of the video.

v0lt
11th March 2024, 19:37
Dunno if it happened with previous versions too but I can't jump to keyframes in a video, both with shortcut and with key buttons.
I don’t confirm this.

tormento
11th March 2024, 21:25
I don’t confirm this.
Try with a mkv.

I can send you a video clip of the issue.

v0lt
12th March 2024, 15:28
VirtualDub2 x64 with updated avlib-1.vdplugin (ffmpeg 6.1.1 test 13) (https://disk.yandex.ru/d/R3Ob8yREy4ChvA)
Alternative link (https://www.sendspace.com/file/4m7pv4)
Fixed reading of key frames for MKV.

FranceBB
13th March 2024, 05:04
Vapoursynth users

He's not a VapourSynth supporter, he's an ffmpeg one.
Sadly most ffmpeg Devs are rude and not polite.
The fact that he's adding a derogatory comment against Avisynth like that in this VirtualDub topic just demonstrates it as it doesn't bring anything to the conversation and it's done only to instigate an argument.
The remarks he made are downright disrespectful to the people who spent time on this amazing frameserver.
That being said, VirtualDub and Avisynth have always worked together and I would imagine that they will keep doing so for years to come.
Besides, facts are that we can do 32bit float YUV calculations in Avisynth and we've been able to do that for almost 10 years while his beloved FFMpeg can't go past 16bit planar, so before attacking other frameserver he should be checking his own.


VirtualDub2 x64 with updated avlib-1.vdplugin (ffmpeg 6.1.1 test 13) (https://disk.yandex.ru/d/R3Ob8yREy4ChvA)
Alternative link (https://www.sendspace.com/file/4m7pv4)

Thanks for the new version, I'll test it tomorrow. :)

foxyshadis
21st March 2024, 23:32
Avisynth is low quality plugin and code dumpster, do not use it.

Struck for rule 2. Ignore richardpl and his pot-stirring, it's a weak troll.

SkilledAbbot
28th March 2024, 09:29
Moderate as necessary, but just dropping in to say, thank you to the entire Vdub history. I still use as of right now since 2002. And If that is link to newer version, can't wait to try it out.

v0lt
14th April 2024, 07:07
VirtualDub2 version 2.1 (deleted)

Changes:
Windows XP is no longer supported.
Builds for x86 are no longer planned to be released.
Fixed crash when calling RunNullVideoPass().
Updated avlib-1.vdplugin to version 0.6.1.70.
├ FFmpeg 6.1.1 is now supported.
├ Removed CineForm HD (native) codec.
├ Removed manual lazy loading of DLL for FFmpeg DLLs.
├ Removed support for systems older than Windows 7.
└ The 32-bit plugin is not implemented because there is no official build of FFmpeg 6.1.1 for x86.

nji
14th April 2024, 09:39
Thankyou for your work! :)

I would like to mention drawbacks of dropping 32bit:

There are several filters which are only for 32 bit.

If I remember right it is the internal logo filter for 64 bit,
that produces slight false colors ("DeShaker default color").
(shekh once had a look at it, but didn't worked on as it is confusing code).

I don't know if ffmpeg source code would allow to be build as 32 bit?

LigH
14th April 2024, 11:29
What does DDL mean? Just a typo of DLL?

PS: I tried to select a video compression and it crashed:
An out-of-bounds memory access (access violation) occurred in module 'VirtualDub64'...
...reading address 00000000A9C072E0...
...while querying video codec "ffdshow Video Codec" (compchoose.cpp:420)...
...while opening video codec with FOURCC "ffds" (compchoose.cpp:528)...
...while enumerating video codecs (compchoose.cpp:515).

v0lt
14th April 2024, 13:19
I don't know if ffmpeg source code would allow to be build as 32 bit?
There are unofficial builds of FFmpeg (https://www.animmouse.com/p/ffmpeg-binaries/). You can look for x86 shared version 6.1.1 there.
But I'm not interested.

What does DDL mean? Just a typo of DLL?
Yes. It's a typo.
PS: I tried to select a video compression and it crashed:
This doesn't happen to me. I don't have "ffdshow Video Codec".

LigH
14th April 2024, 13:23
This doesn't happen to me. I don't have "ffdshow Video Codec".

Are you interested in a crash log? Your repo doesn't seem to have an "issues" page.

It contains an error:
Thread call stack:
Incorrect VirtualDub.vdi file (build 44282) for this version of VirtualDub -- call stack unavailable.

VirtualDub2 x64 build 44282 has no issues enumerating video compressors.

The ffdshow VfW codec is part of ffdshow-tryout rev4531 by e.g. clsid2

https://sourceforge.net/projects/ffdshow-tryout/files/Official%20releases/64-bit/
https://forum.doom9.org/showthread.php?t=120465
__

P.S.: I believe this problem was introduced between VirtualDub2 x64 ffmpeg6.1.1 test 11 (contains an old EXE from 2020) and 12 (contains a new EXE).

v0lt
14th April 2024, 13:45
I installed ffdshow_rev4533_20140929_clsid_x64.exe (https://sourceforge.net/projects/ffdshow-tryout/files/SVN%20builds%20by%20clsid/64-bit%20builds/) and during installation I saw a warning about possible crashes.
https://i.ibb.co/tzFh2KM/ffdshow-vfw.png (https://ibb.co/tzFh2KM)
I also get a crash when ffdshow VFW is installed.

PS: Perhaps the problem with ffdshow VFW appeared after replacing the Windows SDK and other things.

v0lt
15th April 2024, 20:01
Your repo doesn't seem to have an "issues" page.
I turned on the "Issues" page and created Issue #1 (https://github.com/v0lt/VirtualDub2/issues/1), where I collected various information on this issue.

LigH
15th April 2024, 20:14
:thanks:

I hope someone competent can find the real reason, skipping a codec is indeed not a perfect solution.

v0lt
19th April 2024, 04:47
VirtualDub2 44282 + avlib.vdplugin 0.6.1.70 (https://github.com/v0lt/avlib_vdplugin/releases/tag/0.6.1)
I decided to re-release the old VirtualDub2 build 44282 with updated avlib.vdplugin 0.6.1.70.

LigH
19th April 2024, 22:08
OK, nice, can handle an MP4 with AV1 video from YouTube and use ffvfw codecs.

v0lt
20th April 2024, 04:59
VirtualDub2_v2.1.0.603 (https://disk.yandex.ru/d/R3Ob8yREy4ChvA)
Alternative link (https://www.sendspace.com/file/8s9dwu)
Please check this version. Will it crash when choosing a video compressor or not?
ffdshow Video Codec (ff_vfw.dll) and Logitech Video (I420) (lvcod64.dll) are not supported.

LigH
20th April 2024, 20:51
It does not crash but ffvfw is not listed.

jpsdr
21st April 2024, 10:01
That's odd. I've tried the 1rst version of 2.1 on my PC, which have ffdshow 1.3.4533 installed, and it doesn't crash when i choose compressor, and the ffshow codec is listed.

LigH
21st April 2024, 10:17
For me it crashed from test12 on, because this included a new EXE built with a more modern MSVS. I guess it might be related to the set and maybe order of VfW codecs being enumerated, but we will need to trace the reason to understand what happens and find a way to avoid it. I hope a test build creating a verbose log of the enumeration loop may help...

v0lt
21st April 2024, 16:51
VirtualDub2 v2.1.0.605 (https://github.com/v0lt/VirtualDub2/releases/tag/2.1.0)

Windows XP is no longer supported.
Builds for x86 are no longer planned to be released.
Fixed crash when calling RunNullVideoPass().
64-bit "ffdshow Video Codec" (ff_vfw.dll) and "Logitech Video (I420)" (lvcod64.dll) are not supported because it crashes when opening the video compression selection window.
Updated avlib-1.vdplugin to version 0.6.1.70.
* FFmpeg 6.1.1 is now supported.
* Removed CineForm HD (native) codec.
* Removed manual lazy loading of DLL for FFmpeg DLLs.
* Removed support for systems older than Windows 7.
* The 32-bit plugin is not implemented because there is no official build of FFmpeg 6.1.1 for x86.


VirtualDub2 44282 + avlib.vdplugin 0.6.1.70 (https://github.com/v0lt/avlib_vdplugin/releases/tag/0.6.1)
Old VirtualDub2 with updated avlib.vdplugin.

Emulgator
21st April 2024, 17:17
Many thanks, v0lt !
As a sidenote: As long as there are classic 32-bit AVS plugins which won't get any update
because stable (or developer had to take on other tasks) it is viable to still have 32-bit applications
like VD2 available, so again thanks if somebody caring for that still.

jpsdr
26th April 2024, 16:28
What is CineForm ? Is it a lossless codec ?

LigH
26th April 2024, 16:33
CineForm Intermediate (https://en.wikipedia.org/wiki/CineForm) is the codec used in GoPro cameras, not lossless but wavelet oriented. I believe more modern camera generations moved on to HEVC and even AV1.

shekh
26th April 2024, 16:56
CineForm Intermediate (https://en.wikipedia.org/wiki/CineForm) is the codec used in GoPro cameras, not lossless but wavelet oriented. I believe more modern camera generations moved on to HEVC and even AV1.

AFAIK it wasn`t used in cameras. It is great as intermediate :)

LigH
26th April 2024, 17:04
Ah, okay... well, it's constant quality oriented, low loss, easy editing. Comparable to DNxHD/R

jpsdr
28th April 2024, 12:35
As i said, i don't know why, but in my PC (Windows 7 x64), the v2.1.0.600 didn't crash with ffdshow 1.3.4533 installed, and the codec is in list of the compression Codec.
Maybe this information can help to figure out how fix the issue...?
If more information is needed, ask and i'll provide them if i can.

LigH
28th April 2024, 13:08
I believe we need a test tool which runs the enumeration loop exactly like in VirtualDub2 64bit but creates a verbose log, up to a crash handler which can log down to a CPU / stack / heap level.

v0lt
30th April 2024, 18:40
I updated avlib.vdplugin to version 0.7.0.72. It now supports FFmpeg 7.0.
Download link (https://disk.yandex.ru/d/R3Ob8yREy4ChvA).

tormento
1st May 2024, 14:36
Download link
What is the difference between the two files?

LigH
1st May 2024, 14:49
Original EXE does not crash with unstable 64 bit VfW codecs but is not up to date otherwise.

v0lt
1st May 2024, 18:59
What is the difference between the two files?
The difference is written on the previous page. (https://forum.doom9.org/showthread.php?p=2000784#post2000784)

v0lt
6th May 2024, 17:06
I updated avlib.vdplugin to version 0.7.0.86 (FFmpeg 7.0).
Added support for JPEG XL images.
Improved navigation support for long FLVs and MKVs with audio.
More default formats for the "FFMpeg : video" and "FFMpeg : images" groups.
Download link (https://disk.yandex.ru/d/R3Ob8yREy4ChvA).

TCmullet
8th May 2024, 17:33
Many thanks, v0lt !
As a sidenote: As long as there are classic 32-bit AVS plugins which won't get any update
because stable (or developer had to take on other tasks) it is viable to still have 32-bit applications
like VD2 available, so again thanks if somebody caring for that still.
I HEARTILY 2nd your motion (and NJI's motion) to not let any 32-bit version of anything die this soon in computer history. I think there are millions of 32-bit PCs still alive and well. In fact, I have one myself, though I don't use it often. I'd be sad if I ran into "oh I can't run a decent Vdub here b/c this old reliable workhorse PC of mine isn't 64-bit".

LigH
8th May 2024, 17:39
Maybe the 32-bit version of VirtualDub2 has no issues handling VfW codecs...

v0lt
11th May 2024, 14:59
avlib.vdplugin 0.7.0.90 (FFmpeg 7.0)
Added support for VVC videos.
Changed the display of the "Metadata" field in "File Information".
Download link (https://disk.yandex.ru/d/R3Ob8yREy4ChvA).

LigH
11th May 2024, 19:10
Dear v0lt, could you please make a VfW enumeration test tool which tries to catch and report all exceptions as much as possible?

v0lt
11th May 2024, 21:08
Dear v0lt, could you please make a VfW enumeration test tool which tries to catch and report all exceptions as much as possible?
No.
I tried to put a "try catch" block on the problem spot, but it didn't help.

v0lt
26th May 2024, 15:21
avlib.vdplugin 0.7.0.93
was fixed and re-released as version 0.7.0.123

VirtualDub2 v2.1.1.607
was rebuilt and re-released under version v2.1.1.609

https://forum.doom9.org/showthread.php?p=2006278#post2006278

Bernard
1st June 2024, 15:01
I'm back after a 20 year break so I apologize in advance if I've missed something obvious.

Using either Vdub2 official or the latest v2.1.1.607 release, the built in huffyuv codec isn't recognized by VLC. Even if I change the FourCC code to what VLC expects, it still won't play. If I install the old huffyuv codec and save the file in Vdub2, VLC plays files encoded with it fine.

Is there a setting to make Vudb2's built in huffyuv codec compatible with VLC? I'd rather use the built in codec.

v0lt
1st June 2024, 17:06
Is there a setting to make Vudb2's built in huffyuv codec compatible with VLC?
VirtualDub2 does not contain the HuffYUV ('HFYU') encoder. It contains the FFMPEG Huffyuv (ffvhuff, 'FFVH') encoder. These are different encoders.

LigH
1st June 2024, 23:03
IIRC, the original Huffyuv codec only supported YUV 4:2:2 (YUY2/UYVY), while ffmpeg's Huffyuv adaption also supports planar YUV 4:2:0 (YV12).

qyot27
2nd June 2024, 00:23
As a libavcodec-based player, there's absolutely no reason why VLC should be rejecting ffvhuff. Unless it's a positively ancient version of VLC.

richardpl
2nd June 2024, 09:14
VLC is mess.

Bernard
2nd June 2024, 14:24
Thanks for the idea about VLC being out of date. But no, updating VLC to the latest version still doesn't let it read HFYU files.

LigH
2nd June 2024, 14:56
Again: VLC does support the original Huffyuv codec (by Ben R.G.) with FourCC "HFYU". But not the ffmpeg/libavcodec variant with FourCC "FFVH". And I see no reason for it not to, because its shipped plugins\codec\libavcodec_plugin.dll does contain the FourCC "FFVH", it is at least detected. Issue added (https://code.videolan.org/videolan/vlc/-/issues/28661) but there are still almost 4000 issues open.

Some players which should work instead: ffplay, mplayer, SMplayer, MPC-HC, MPC-BE ...

SeeMoreDigital
2nd June 2024, 15:07
Thanks for the idea about VLC being out of date. But no, updating VLC to the latest version still doesn't let it read HFYU files.Are your HFYU files in a container?

LigH
2nd June 2024, 15:15
In my quick test, I exported a video to FFmpeg's Huffyuv in YUV 4:2:0 as well as 4:2:2, each with 8 bit precision, both in an AVI container (where Huffyuv video is most common). VLC 3.0.20 did not support either.

richardpl
2nd June 2024, 15:18
And MPV player.

v0lt
3rd June 2024, 04:31
And MPV player.
mpv has no problem opening 'FFVH' videos.

LigH
3rd June 2024, 15:04
@v0lt: richardpl wanted to add MPV to my list of "alternatives to VLC", not to "same issue as VLC"...

LigH
11th June 2024, 18:02
Good news: VLC will fix this issue still in v3 branch. Seems that the AVI demultiplexer does not always report format specific data reliably.

LigH
20th June 2024, 20:01
@v0lt: Are you possibly able to update the x264 plugins as well? They are from 2019 and do not yet support e.g. the --qpfile parameter...

v0lt
22nd June 2024, 07:00
@v0lt: Are you possibly able to update the x264 plugins as well? They are from 2019 and do not yet support e.g. the --qpfile parameter...
There's a more complex build process using GCC. For me it is difficult and long.
https://sourceforge.net/p/vdfiltermod/x264/ci/master/tree/

LigH
22nd June 2024, 07:25
So volunteers with MSCV might do it easier?

LigH
23rd June 2024, 06:23
An updated plugin has been posted in the VideoHelp forum (https://forum.videohelp.com/threads/414223-VirtualDub2-Fork-By-v0lt#post2740481), did not test yet...

rgr
28th June 2024, 19:51
avlib.vdplugin 0.7.0.93 (https://github.com/v0lt/avlib_vdplugin/releases/tag/0.7.0) released
VirtualDub2 44282 with updated plugin is also available.


With the new avlib-1 I lost the ability to save in ffmpeg/ProRes (the plugin has only 0.5MB instead of 40MB compared to the old version).

v0lt
29th June 2024, 05:21
(the plugin has only 0.5MB instead of 40MB compared to the old version).
old avlib-1.vdplugin - 39,1 MB
new avlib-1.vdplugin + ffmpeg DLLs - 101 MB

LigH
29th June 2024, 05:38
Works for me - when I select "Show all formats" at the bottom of the codecs list and allow color space conversion as necessary. When the option is set to "Similar to source: [CS]", some codecs may be hidden when they don't support the current color space.

The codecs are now (dynamically linked) in avcodec-61.dll and avformat-61.dll in the main directory, not in plugins64.

blob2500
26th July 2024, 08:43
An updated plugin has been posted in the VideoHelp forum (https://forum.videohelp.com/threads/414223-VirtualDub2-Fork-By-v0lt#post2740481), did not test yet...

I updated it too.
I have a question: in the 10-bit version, shouldn't CRF have a range of 0-63 (or -12-51), instead of 0-51?

(similar question for qp range)

https://i.postimg.cc/yYjq9xPP/x264-10-window.jpg

In Help of x264 CLI:

Ratecontrol:

-q, --qp <integer> Force constant QP (0-81, 0=lossless)
-B, --bitrate <integer> Set bitrate (kbit/s)
--crf <float> Quality-based VBR (-12-51)[23.0]


In Help of x264 plugin:


Ratecontrol:

-q, --qp <integer> Force constant QP (0-51, 0=lossless)
-B, --bitrate <integer> Set bitrate (kbit/s)
--crf <float> Quality-based VBR (0-51) [23.0]

tormento
26th July 2024, 11:14
Everytime someone encodes in x264 10 bit, a satellite dies in the sky.

nji
26th July 2024, 15:13
By the time I built some filter sequences that perform special tasks.
For example contrast mask filter (a sequence of 8 filter ops).
I saved them as .vdscript files.
Now from time to time it happens that I need to perform
two or more of these sequences.
I haven't found a way to do this in VD2 GUI,
but instead copy the .vdscript files into a single file.

There surely must be a more elegant way for this common task?
Something with jobs, projects or that strange "Save" button in filter dialog?

FranceBB
26th July 2024, 19:14
Everytime someone encodes in x264 10 bit, a satellite dies in the sky.

Blame Sony and Panasonic who made it become standard with XAVC and AVC Ultra respectively.

LigH
26th July 2024, 19:37
I remember some people advertising it for encoding cartoons because it can handle the smooth colour ramps between the outlines better... I can't report from own experience, though.

tormento
27th July 2024, 07:26
I remember some people advertising it for encoding cartoons because it can handle the smooth colour ramps between the outlines better... I can't report from own experience, though.


You can’t create data where there isn’t. It’s just a matter of better compression.

HEVC overcame all that mess.

blob2500
27th July 2024, 11:19
I was just asking those who are more expert than me if the x264vdplugin-10-bit interface is correct or incomplete regarding the qp and crf range, not if it makes sense or not to use 10-bit depth with h.264 ;)

v0lt
30th July 2024, 20:10
avlib_vdplugin 0.7.0.94 (https://disk.yandex.ru/d/R3Ob8yREy4ChvA)
Fixed the use of audio encoders.

Hushpower
31st July 2024, 01:44
Excellent , that fixed it, thanks Volt. :thanks:

rgr
4th August 2024, 15:57
VDub2.0 with new plugins and VDub2.1 hang with my Avisynth script. Quite an extensive script, but old VDub2.0 works OK.
The program hangs, the CPU load is 0% and nothing happens. I can only kill the process. Any idea how to diagnose why this is happening?

v0lt
4th August 2024, 20:46
VDub2.0 with new plugins and VDub2.1 hang with my Avisynth script.
avlib_vdplugin 0.7.0.94?
I removed the use of the plugin for Avisynth scripts.
Please make a simple script with the problem to test. And upload it and the related files.

jay123210599
4th August 2024, 21:45
How do I create 32 bit images using VirtualDub2?

v0lt
5th August 2024, 14:44
How do I create 32 bit images using VirtualDub2?
Video > Copy output frame to clipboard (Ctrl+2)

jay123210599
5th August 2024, 15:23
Video > Copy output frame to clipboard (Ctrl+2)

I did it, now how do I export it as 32-bit png file? Also, how do I make image sequences of 32-bit png files?

v0lt
5th August 2024, 16:24
I did it, now how do I export it as 32-bit png file?
Paint > Ctrl+V > Cut (if necessary) > Save As > PNG...
Paint.NET > Ctrl+Alt+V > Ctrl+S > PNG...
IrfanView > Ctrl+V > Ctrl+S > PNG...

v0lt
5th August 2024, 16:27
avlib_vdplugin 0.7.0.98 (https://disk.yandex.ru/d/R3Ob8yREy4ChvA)
Improved ignoring of AviSynth scripts to prevent VirtualDub 2 interface from freezing in some situations.

rgr
5th August 2024, 16:50
avlib_vdplugin 0.7.0.98 (https://disk.yandex.ru/d/R3Ob8yREy4ChvA)
Improved ignoring of AviSynth scripts to prevent VirtualDub 2 interface from freezing in some situations.

VDub2.0 with new plugins and VDub2.1 hang with my Avisynth script.

Problem solved :)

jay123210599
5th August 2024, 17:11
Paint > Ctrl+V > Cut (if necessary) > Save As > PNG...
Paint.NET > Ctrl+Alt+V > Ctrl+S > PNG...
IrfanView > Ctrl+V > Ctrl+S > PNG...

And my other question of making image sequences of 32-bit png files from videos?

v0lt
5th August 2024, 17:26
And my other question of making image sequences of 32-bit png files from videos?
Use FFmpeg.
VirtualDub2 saves PNG sequence in 24-bit RGB format. And if avlib_vdplugin is used, saving the sequence may fail (there are problems with getting the right frame).

Problem solved :)
Fine.

jay123210599
5th August 2024, 18:09
How do I make ffmpeg as the default encoder (not as an external encoder) for all functions in VirtualDub2? I mean, how do I use it in VirtualDub2 for exacting frames and making image sequences, encoding videos, cutting/trimming videos, and burning in subtitles?

v0lt
5th August 2024, 20:02
How do I make ffmpeg as the default encoder (not as an external encoder) for all functions in VirtualDub2?
There's no way you can.

jay123210599
5th August 2024, 23:41
VirtualDub2 keeps producing and getting the wrong colors for images. What should I do?

Correct Colors:
https://imgur.com/a/pXfCGwz

Wrong Colors (VirtualDub2, what I got):
https://imgur.com/a/YocRFx8

Here the information for my video, by the way:
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High@L4.1
Format settings : CABAC / 4 Ref Frames
Format settings, CABAC : Yes
Format settings, Reference frames : 4 frames
Format settings, Slice count : 4 slices per frame
Codec ID : V_MPEG4/ISO/AVC
Duration : 23 min 43 s
Bit rate mode : Variable
Maximum bit rate : 40.0 Mb/s
Width : 1 920 pixels
Height : 1 080 pixels
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 23.976 (24000/1001) FPS
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Time code of first frame : 00:59:59:00
Default : No
Forced : No

LigH
6th August 2024, 01:44
Not enough details; MediaInfo has a more verbose output level which should also show colorimetry details (Rec.601/Rec.709, TV/PC scale).

jay123210599
6th August 2024, 01:49
Not enough details; MediaInfo has a more verbose output level which should also show colorimetry details (Rec.601/Rec.709, TV/PC scale).

How do I activate the more "verbose output level" to show the colorimetry details?

LigH
6th August 2024, 02:02
If you use the CLI version of MediaInfo, add the parameter -f

Or use https://github.com/stax76/MediaInfo.NET and look in the "Advanced" results or the video stream results.

There may be such fields present, but are not mandatory:
colour_description_present : Yes
colour_description_present_Source: Stream
Color range : Limited
colour_range_Source : Stream
colour_primaries_Source : Stream
transfer_characteristics_Source : Stream
Matrix coefficients : BT.470 System B/G
matrix_coefficients_Source : Stream

jay123210599
6th August 2024, 02:12
If you use the CLI version of MediaInfo, add the parameter -f

Or use https://github.com/stax76/MediaInfo.NET and look in the "Advanced" results or the video stream results.

There may be such fields present, but are not mandatory:
colour_description_present : Yes
colour_description_present_Source: Stream
Color range : Limited
colour_range_Source : Stream
colour_primaries_Source : Stream
transfer_characteristics_Source : Stream
Matrix coefficients : BT.470 System B/G
matrix_coefficients_Source : Stream

Here it is. I should also mention that the video is an anime episode.

Count : 392
Count of stream of this kind : 1
Kind of stream : Video
Kind of stream : Video
Stream identifier : 0
StreamOrder : 1
ID : 2
ID : 2
Unique ID : 1
Format : AVC
Format : AVC
Format/Info : Advanced Video Codec
Format/Url : http://developers.videolan.org/x264.html
Commercial name : AVC
Format profile : High@L4.1
Format settings : CABAC / 4 Ref Frames
Format settings, CABAC : Yes
Format settings, CABAC : Yes
Format settings, Reference frames : 4
Format settings, Reference frames : 4 frames
Format settings, Slice count : 4
Format settings, Slice count : 4 slices per frame
Internet media type : video/H264
Codec ID : V_MPEG4/ISO/AVC
Codec ID/Url : http://ffdshow-tryout.sourceforge.net/
Duration : 1423090
Duration : 23 min 43 s
Duration : 23 min 43 s 90 ms
Duration : 23 min 43 s
Duration : 00:23:43.090
Duration : 00:23:41:16
Duration : 00:23:43.090 (00:23:41:16)
Bit rate mode : VBR
Bit rate mode : Variable
Maximum bit rate : 39959808
Maximum bit rate : 40.0 Mb/s
Width : 1920
Width : 1 920 pixels
Height : 1080
Height : 1 080 pixels
Stored_Height : 1088
Sampled_Width : 1920
Sampled_Height : 1080
Pixel aspect ratio : 1.000
Display aspect ratio : 1.778
Display aspect ratio : 16:9
Frame rate mode : CFR
Frame rate mode : Constant
Frame rate : 23.976
Frame rate : 23.976 (24000/1001) FPS
FrameRate_Num : 24000
FrameRate_Den : 1001
Frame count : 34120
Color space : YUV
Chroma subsampling : 4:2:0
Chroma subsampling : 4:2:0
Bit depth : 8
Bit depth : 8 bits
Scan type : Progressive
Scan type : Progressive
Delay : 0
Delay : 00:00:00.000
Delay : 00:00:00:00
Delay : 00:00:00.000 (00:00:00:00)
Delay, origin : Container
Delay, origin : Container
Time code of first frame : 00:59:59:00
TimeCode_DropFrame : No
Default : No
Default : No
Forced : No
Forced : No
Buffer size : 30000000 / 30000000
FrameCount_Source : General_Duration
Duration_Source : General_Duration

v0lt
6th August 2024, 04:35
Many SDR rips do not have colorimetry data. This is a problem because players and video editors have to guess from the frame size, which can be wrong.

jay123210599
6th August 2024, 12:05
Many SDR rips do not have colorimetry data. This is a problem because players and video editors have to guess from the frame size, which can be wrong.

It's a 1080p Blu-Ray remux, so what do I do to fix it?

LigH
6th August 2024, 13:15
Depends on your goal and your methods...

Avisynth has functions to convert between YUV and RGB with different matrices. So at least you could use that to test which conversion matrix fits your needs. And then ... well, maybe a special tool can patch the video stream to add colorimetry metadata.

But that is already way beyond the purpose of VirtualDub2.

v0lt
6th August 2024, 14:33
It's a 1080p Blu-Ray remux, so what do I do to fix it?
I don't have your file (or a small sample), so I can't say anything.

I have a BD with this information:
General
ID : 0 (0x0)
Complete name : ...\BDMV\STREAM\00011.m2ts
Format : BDAV
Format/Info : Blu-ray Video
File size : 606 MiB
Duration : 2 min 42 s
Overall bit rate mode : Variable
Overall bit rate : 31.3 Mb/s
Maximum Overall bit rate : 48.0 Mb/s
Frame rate : 29.970 FPS

Video
ID : 4113 (0x1011)
Menu ID : 1 (0x1)
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High@L4.1
Format settings : CABAC / 4 Ref Frames
Format settings, CABAC : Yes
Format settings, Reference fra : 4 frames
Format settings, Slice count : 4 slices per frame
Codec ID : 27
Bit rate mode : Variable
Maximum bit rate : 36.0 Mb/s
Width : 1 920 pixels
Height : 1 080 pixels
Display aspect ratio : 16:9
Frame rate : 29.970 (30000/1001) FPS
Standard : NTSC
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : MBAFF
Scan type, store method : Interleaved fields
Scan order : Top Field First
Color range : Limited
Color primaries : BT.709
Transfer characteristics : BT.709
Matrix coefficients : BT.709

Audio
...
All the necessary data is present: Color range, Color primaries, Transfer characteristics, Matrix coefficients.

jay123210599
6th August 2024, 14:48
I don't have your file (or a small sample), so I can't say anything.

I have a BD with this information:
General
ID : 0 (0x0)
Complete name : ...\BDMV\STREAM\00011.m2ts
Format : BDAV
Format/Info : Blu-ray Video
File size : 606 MiB
Duration : 2 min 42 s
Overall bit rate mode : Variable
Overall bit rate : 31.3 Mb/s
Maximum Overall bit rate : 48.0 Mb/s
Frame rate : 29.970 FPS

Video
ID : 4113 (0x1011)
Menu ID : 1 (0x1)
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High@L4.1
Format settings : CABAC / 4 Ref Frames
Format settings, CABAC : Yes
Format settings, Reference fra : 4 frames
Format settings, Slice count : 4 slices per frame
Codec ID : 27
Bit rate mode : Variable
Maximum bit rate : 36.0 Mb/s
Width : 1 920 pixels
Height : 1 080 pixels
Display aspect ratio : 16:9
Frame rate : 29.970 (30000/1001) FPS
Standard : NTSC
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : MBAFF
Scan type, store method : Interleaved fields
Scan order : Top Field First
Color range : Limited
Color primaries : BT.709
Transfer characteristics : BT.709
Matrix coefficients : BT.709

Audio
...
All the necessary data is present: Color range, Color primaries, Transfer characteristics, Matrix coefficients.

Here's a sample.

https://mega.nz/file/cFZUUBqA#W5zPahLD66OpRAwYKvZrJqc-3O81i2NRObIy3nIqlLM

v0lt
6th August 2024, 15:33
Method of correcting parameters for BT.709:
ffmpeg -i "Blu-Ray Remux Sample.mkv" -map 0 -c copy -bsf:v h264_metadata=colour_primaries=1:transfer_characteristics=1:matrix_coefficients=1 "Blu-Ray Remux Sample_fix.mkv"

jay123210599
6th August 2024, 16:49
Method of correcting parameters for BT.709:
ffmpeg -i "Blu-Ray Remux Sample.mkv" -map 0 -c copy -bsf:v h264_metadata=colour_primaries=1:transfer_characteristics=1:matrix_coefficients=1 "Blu-Ray Remux Sample_fix.mkv"

It worked! Now how do I do this in VirtualDub2?

Also, another problem that the both and new samples produced this glitched image. How do I fix that?

https://imgur.com/a/7YJsTUX

v0lt
6th August 2024, 17:56
It worked! Now how do I do this in VirtualDub2?
There is no such functionality. You want too much from VirtualDub and do not understand for what purposes it was made.

poisondeathray
6th August 2024, 18:01
When video is unflagged, vdub2 assumes Rec 601 for the RGB conversion. Usually this will be wrong for most HD video

A workaround in vdub2 would be, video => filters => alias format => color space Rec.709

rgr
6th August 2024, 18:03
When video is unflagged, vdub2 assumes Rec 601 for the RGB conversion. Usually this will be wrong for most HD video

A workaround in vdub2 would be, video => filters => alias format => color space Rec.709

Why so? In VDub in Video->Decode Format you can change from 601 to 709. Even set 709 as default.

jay123210599
6th August 2024, 18:16
Both solutions worked, but what about my other problem with the faulty image?

poisondeathray
6th August 2024, 18:17
Why so? In VDub in Video->Decode Format you can change from 601 to 709. Even set 709 as default.

Yes decode format works and is a better workaround

poisondeathray
6th August 2024, 18:23
Both solutions worked, but what about my other problem with the faulty image?

I don't see the faulty image in vdub2 with your sample video. How did you produce the problem ?

jay123210599
6th August 2024, 21:56
I don't see the faulty image in vdub2 with your sample video. How did you produce the problem ?

Never mind, I went the program again and it didn't show up, must have had to restart the tool.

jay123210599
7th August 2024, 16:11
Is there a filter for VirtualDub2 that allows you to burn in PGS (.sup) subtitles?

LigH
7th August 2024, 16:14
There is one for AviSynth: SupTitle (http://forum.doom9.org/showthread.php?t=148167)

jay123210599
7th August 2024, 18:03
When video is unflagged, vdub2 assumes Rec 601 for the RGB conversion. Usually this will be wrong for most HD video

A workaround in vdub2 would be, video => filters => alias format => color space Rec.709

Unflagged video? What does that mean?

LigH
7th August 2024, 18:29
"Unflagged" = The video stream contains no set of bits (= bitflag) describing some of its attributes, here its colorimetry.

jay123210599
7th August 2024, 22:07
I want to use ffmpeg as an external encoder to extract frames and make image sequences, and also burn in subtitles. How do I do that while replacing it with the default encoder?

v0lt
8th August 2024, 04:22
I want to use ffmpeg as an external encoder...
Options > External encoders...

after you have everything set up

File > Export > Use external encoder...

jay123210599
8th August 2024, 05:23
Options > External encoders...

after you have everything set up

File > Export > Use external encoder...

and the rest of the my question? to extract frames and make image sequences, and also burn in subtitles?

tormento
8th August 2024, 14:17
Would be hard to add mkv chapter support to be shown in the timeline?

Eventually, jumping to them would be nice too.

nji
9th August 2024, 18:19
I tried (for the first time) the version with newer avlib etc.
(both orig and v.2.1) @
Win7-64, VC++ redistr. x64 2015-2022.

Entry point "kernel32.WaitOnAddress" wasn't found in DLL
"api-ms-win-core-synch-l1-2-0.dll"
(freely translated).

So at least Win8 necessary?
https://learn.microsoft.com/en-us/windows/win32/api/synchapi/nf-synchapi-waitonaddress#requirements

v0lt
9th August 2024, 19:16
Entry point "kernel32.WaitOnAddress" wasn't found in DLL
"api-ms-win-core-synch-l1-2-0.dll"
(freely translated).
I think some FFmpeg 7.0 builds no longer support Windows 7.
The function you mentioned is contained in avcodec-61.dll.

nji
9th August 2024, 19:44
So if it's only some ffmpeg builds that need Win8+,
it may be an option to use the other ones?

LigH
9th August 2024, 19:49
Worth a try for sure, some publishers may use different compilers/options. But no guarantee, ffmpeg may link modules which don't support outdated OS anymore. Multithreading is a feature that depends a lot on efficient OS features.

jay123210599
9th August 2024, 21:12
and the rest of the my question? to extract frames and make image sequences, and also burn in subtitles?

@v0lt Can you answer my question, please? How do I use ffmpeg as an external encoder for these things in Virtualdub2?

LigH
9th August 2024, 21:18
I know that VirtualDub2 can export image sequences on its own.

And I know that AviSynth can burn in subtitles.

I would certainly not insist in learning how to do it in ffmpeg.

v0lt
9th August 2024, 21:18
@v0lt Can you answer my question, please?
No.
How do I use ffmpeg as an external encoder for these things in Virtualdub2?
Read the FFmpeg documentation. Maybe there is what you need. This is off-topic here.

nji
10th August 2024, 10:15
I think some FFmpeg 7.0 builds no longer support Windows 7.
The function you mentioned is contained in avcodec-61.dll.

I checked the Win prebuilds mentioned at official site
https://www.ffmpeg.org/download.html

gyan.dev builds https://www.gyan.dev/ffmpeg/builds/
"Essentials build compatible with Windows 7 or above.
Full build requires at least Windows 10."
(Probably these are the ones you're using?)
==> No libs for Windows 7.

BtbN builds https://github.com/BtbN/FFmpeg-Builds
"are targetting Windows 7 and newer".
So I tried by exchanging the ffmpeg libs (in both 44282 and v.2.1 version)
but strange: same message at start.

EDIT:
It seems that BtbN builds are not targetting Windows 7/8 anymore,
at least from June on:
https://github.com/BtbN/FFmpeg-Builds/issues/386

EDIT2:
With that last Win7 compatible ffmpeg version mentioned in the issue...
replacing the av-libs, now both VD2 version do (at a first test).
Still it is not recommendable (e.g. the mentioned webp exploit
mentioned in the issue).
(OT: ESU since 2023, ffmpeg's (libs only!) since June, browser from Sept., ... finally time 4 Linux).

jay123210599
10th August 2024, 14:30
There is one for AviSynth: SupTitle (http://forum.doom9.org/showthread.php?t=148167)

What if the subtitles are embedded in the video?

nji
10th August 2024, 16:21
...replacing the av-libs, now both VD2 version do (at a first test).

But doing some comparison between "orig" VD2 with outdated ffmpeg and new v.2.1 with up-to-date ffmpeg
there is no difference in results (only few bytes in meta data).
I took an mp4/avc1 movie, rescaled and saved as mp4/avc1 again.
I would have expected especially that newer swscale would produce a better result.

Maybe I have a misunderstanding in the results new VD2 should produce?
What kind of differences should occur?
At the moment is seems it produces same as before...

v0lt
10th August 2024, 21:20
https://www.animmouse.com/p/ffmpeg-binaries/
Builds with DLLs are called shared.
Current versions of avlib_vdplugin require FFmpeg 7.0.x.

LigH
10th August 2024, 21:48
What if the subtitles are embedded in the video?

If they are "embedded" as multiplexed subtitle stream in a container, then they can be extracted to a *.sup file. In case of MKV files ripped from Blu-ray using MakeMKV, eac3to is pretty useful.

nji
10th August 2024, 22:00
https://www.animmouse.com/p/ffmpeg-binaries/
Builds with DLLs are called shared.
Current versions of avlib_vdplugin require FFmpeg 7.0.x.

Yes, I know that.

As posted above I used
https://github.com/BtbN/FFmpeg-Builds/releases/download/autobuild-2024-05-31-12-50/ffmpeg-n7.0.1-6-gf0b747ef1a-win64-gpl-shared-7.0.zip

With that I get the effect described above (i.e. no effect).

So, why's that?

v0lt
11th August 2024, 07:33
https://i.ibb.co/ZYfSdgV/avcodec-61-dll.png (https://ibb.co/ZYfSdgV)
I think it's obvious. You are missing the file "api-ms-win-core-synch-l1-2-0.dll".

LigH
11th August 2024, 07:53
AFAIR it is provided by MS VC Runtimes 2015+; please note that these installers exist in 32 bit and 64 bit flavours. You might use the VisualCppRedist AIO (https://github.com/abbodi1406/vcredist/releases/) to get all versions up to date.

nji
11th August 2024, 08:34
I think it's obvious. You are missing the file "api-ms-win-core-synch-l1-2-0.dll".

Not at all.

I would miss that runtime, if I would use the ffmpeg version you provide.
(BTW that runtime wouldn't be available for Win7).

But - as I tried to express in not only one of my posts above -
I do not use the ffmpeg version you provide,
but replaced your av-libs by ones that do for Win7.

They do well - without errors.
But... they produce exactly the same result movies as last shekh's (???)

My English must be very bad, that all my tries to express the matter are in vain... :rolleyes:

LigH
11th August 2024, 09:22
Of course, exactly the same codecs produce (more or less) exactly the same results. No surprise.

Even updated codecs may produce still (more or less) exactly the same results. Not many updates will change the efficiency noticeably. Maybe such updates which introduce features not yet present in previous codecs, so you can't compare them directly.

The main reason for updating av-libs was fitting them to new ffmpeg interfaces which are required to add new and more complex codecs. Like AV1 and VVC decoders.

nji
11th August 2024, 10:28
Ah... thanks for that. :)

As there are generations of updates between shekh's and vOlt's ffmpeg,
I would have expected differences in at least swscale module
(which is known to produce quite suboptimal results in the past).
But - as said - there is literally no difference (only some meta data bytes).

So, if anyone should ever notice main differences between the ffmpeg version's results,
maybe post the example.

v0lt
11th August 2024, 11:08
avlib_vdplugin provides the following functions:
1. Opens and decodes various video files. If you open File Information, you may see "Caching Input Driver" in the title. In this case, avlib_vdplugin is used.
2. Adds the "fflayer" video filter.
3. Adds video and audio codecs to the list of codecs with the "FFmpeg" prefix.
4. Allows you to save videos in MKV, MP4, etc.

v0lt
13th August 2024, 04:42
I have observed problems on some computers:
1. The "FFmpeg / x264" video codec is not displayed in the list of video codecs. One of the x264vfw codecs might not be displayed either.
2. When opening a file, one of the panels did not show a video frame and did not update during navigation.
3. The "File > Export > Image sequence" operation did not work.

All these problems disappeared after I deleted the VirtualDub2 settings from the registry. I do not know what was the reason for the unstable operation of VirtualDub2 and avlib_vdplugin.

blob2500
14th August 2024, 09:03
avlib_vdplugin 0.7.0.98 (https://disk.yandex.ru/d/R3Ob8yREy4ChvA)
Improved ignoring of AviSynth scripts to prevent VirtualDub 2 interface from freezing in some situations.

Virtualdub(44282 + avlib plugin) crashes, if in the dialog box, I select a .ffindex file with the mouse without even clicking ok.

It crashes even if the .ffindex file is dummy, as long as it is not empty

Even cleaning the "Virtualdub.org" folder in the Windows Registry the problem occurs again.

No problem with the original version of Virtualdub2 (avlib plugin 2020)

https://i.postimg.cc/TKFdCFXQ/vd2crash.png (https://postimg.cc/TKFdCFXQ)

LigH
14th August 2024, 15:52
It crashes even if the .ffindex file is dummy, as long as it is not empty

Sounds to me like you could even try

echo test > test.ffindex

https://frupic.frubar.net/shots/43979.png

v0lt
14th August 2024, 16:00
avlib_vdplugin 0.7.0.108 (https://disk.yandex.ru/d/R3Ob8yREy4ChvA)
Fixed a crash when trying to parse some unsupported files.

v0lt
20th August 2024, 16:44
Windows 7 users can try using FFmpeg files from builds here - https://github.com/kusaanko/FFmpeg-Auto-Build/releases

v0lt
30th August 2024, 18:47
avlib.vdplugin 0.7.0.123 (https://github.com/v0lt/avlib_vdplugin/releases/tag/0.7.0) released
VirtualDub2 44282 with updated plugin is also available.

Changes:
FFmpeg 7.0.2 is now supported.
Added support for JPEG XL images.
Added support for VVC videos.
Improved navigation support for long FLVs and MKVs with audio.
More default formats for the "FFMpeg : video" and "FFMpeg : images" groups.
Changed the display of the "Metadata" field in "File Information".
Fixed the use of audio encoders.
Improved ignoring of AviSynth scripts to prevent VirtualDub 2 interface from freezing in some situations.


VirtualDub2 v2.1.1.609 (https://github.com/v0lt/VirtualDub2/releases/tag/2.1.1) released

Changes:
More careful ignoring of 64-bit "ffdshow Video Codec" (ff_vfw.dll) and "Logitech Video (I420)" (lvcod64.dll) to eliminate crash when opening AVI files.
Updated avlib-1.vdplugin to version 0.7.0.123.

jay123210599
30th August 2024, 22:38
avlib.vdplugin 0.7.0.123 (https://github.com/v0lt/avlib_vdplugin/releases/tag/0.7.0) released
VirtualDub2 44282 with updated plugin is also available.

Changes:
FFmpeg 7.0.2 is now supported.
Added support for JPEG XL images.
Added support for VVC videos.
Improved navigation support for long FLVs and MKVs with audio.
More default formats for the "FFMpeg : video" and "FFMpeg : images" groups.
Changed the display of the "Metadata" field in "File Information".
Fixed the use of audio encoders.
Improved ignoring of AviSynth scripts to prevent VirtualDub 2 interface from freezing in some situations.


VirtualDub2 v2.1.1.609 (https://github.com/v0lt/VirtualDub2/releases/tag/2.1.1) released

Changes:
More careful ignoring of 64-bit "ffdshow Video Codec" (ff_vfw.dll) and "Logitech Video (I420)" (lvcod64.dll) to eliminate crash when opening AVI files.
Updated avlib-1.vdplugin to version 0.7.0.123.

Does your version of VirtualDub2 uses FFmpeg to extract frames from videos?

LigH
30th August 2024, 22:44
The avlib-1.vdplugin contains a multi-codec core from the ffmpeg project (libavcodec).

jay123210599
30th August 2024, 23:37
The avlib.vdplugin contains a multi-codec core from the ffmpeg project (libavcodec).

I'm talking about VirtualDub2 v2.1.1.609.

LigH
31st August 2024, 01:43
VirtualDub2, since it was invented as VirtualDub-FilterMod, and still today, uses codecs from the ffmpeg project inside an avlib-1.vdplugin file to decode (when supported) and partially encode (when selected). It does not use a separate ffmpeg.exe to do that.

What exactly is the point of your question?

The main difference between VirtualDub2 44282 and any newer version is: VirtualDub2 44282 contains an old EXE which was compiled with an older Visual Studio version and does not crash trying to load some 64-bit VfW codecs. But to introduce new features, v0lt needed to compile a new version of the VirtualDub2 EXE with a newer Visual Studio. That one crashes with some specific 64-bit VfW codecs, so it ignores those to avoid the crashes.

Summary:

If you really really need to use those VfW codecs which cause the newer VirtualDub2 to crash, use VirtualDub2 44282 but renounce any new features
If you prefer the new features, use the newer VirtualDub2 EXE which ignores VfW codecs you may not even have installed

jay123210599
31st August 2024, 06:45
How do I make embedded subtitles show up in the preview of my videos?

StainlessS
31st August 2024, 08:29
How do I make embedded subtitles show up in the preview of my videos?
Well, assuming that you do not have both input and output panes visible in your VD2 setup, you need to enable the output pane which shows results of any VD2 filters, eg rendered subs.

EDIT: Also, I believe that "Menu/Video/Full Processing Mode" needs to be selected for the VD2 filters to be processed at all. [Filters are processed in uncompressed RGB]

jay123210599
31st August 2024, 14:00
Well, assuming that you do not have both input and output panes visible in your VD2 setup, you need to enable the output pane which shows results of any VD2 filters, eg rendered subs.

EDIT: Also, I believe that "Menu/Video/Full Processing Mode" needs to be selected for the VD2 filters to be processed at all. [Filters are processed in uncompressed RGB]

How do enable the output pane?

LigH
31st August 2024, 14:04
Menu "View > Enable output pane [F10]"; and you may need to allow scaling of the panes when the video dimensions may fit the whole screen (right-click the video pane and select "Auto size" or a convenient scaling so that two panes fit in your desktop).

jay123210599
31st August 2024, 14:49
Menu "View > Enable output pane [F10]"; and you may need to allow scaling of the panes when the video dimensions may fit the whole screen (right-click the video pane and select "Auto size" or a convenient scaling so that two panes fit in your desktop).

I enabled both panes and the subtitles are still not showing. My video is a mkv file with .ass subtitles embedded in it (not hardcoded).

LigH
31st August 2024, 14:57
AFAIK, VirtualDub2 has no subtitle renderer. It ignores subtitle streams in your input files. And I don't see any VirtualDub filter which is able to render subtitles (but I can't say for sure that none exists; it might be possible to install DirectVobSub's VSFilter as a VDF plugin).

To "burn in" subtitles, you may have to open your source file via a "frame server" (AviSynth or Vapoursynth) which overlays your subtitles over the video stream. This may require extracting them from your MKV file first, then load a plugin in your script which can render them.

v0lt
31st August 2024, 16:17
And I don't see any VirtualDub filter which is able to render subtitles (but I can't say for sure that none exists; it might be possible to install DirectVobSub's VSFilter as a VDF plugin).
You need to take 64-bit VSFilter.dll, rename it to VSFilter.vdf and put it in the plugins64 folder. You will have 2 filters TextSub and VobSub.

64-bit VSFilter.dll can be found in old standalone_filters sets of MPC-BE or MPC-HC projects. Or take it from the xy-VSFilter project or its forks.
For example: https://github.com/pinterf/xy-VSFilter/releases

jay123210599
31st August 2024, 21:08
You need to take 64-bit VSFilter.dll, rename it to VSFilter.vdf and put it in the plugins64 folder. You will have 2 filters TextSub and VobSub.

64-bit VSFilter.dll can be found in old standalone_filters sets of MPC-BE or MPC-HC projects. Or take it from the xy-VSFilter project or its forks.
For example: https://github.com/pinterf/xy-VSFilter/releases

I used the filter and I still don't see the subtitles in the preview. I have both panes enabled as well.

v0lt
1st September 2024, 05:04
I used the filter and I still don't see the subtitles in the preview. I have both panes enabled as well.
I do not confirm.
It works for me. I added the TextSub filter, selected an external subtitle file in .ASS format and got the text in the output panel.

jay123210599
1st September 2024, 13:25
I do not confirm.
It works for me. I added the TextSub filter, selected an external subtitle file in .ASS format and got the text in the output panel.

Never mind, I see it now.

coolgit
4th September 2024, 16:05
Windows 7 users can try using FFmpeg files from builds here - https://github.com/kusaanko/FFmpeg-Auto-Build/releases

Your vdub doesn't work with win 7 as no catching input driver. Couldn't load ffv1 avi file.

Using above Kussaanko build and it worked. I haven't done a full test yet but so far so good.

Perhaps it would be wiser to use the above and not exclude win 7 users.

Sorry but win 10/11 are garbage.

LigH
4th September 2024, 16:23
German proverb, almost literally translated: "Wash me but don't wet me!" (Have your cake and eat it, too.)

If you insist in using the cancelled and therefore obsolete Windows 7, which is dangerous now that you can't rely on security updates anymore, you can still use VirtualDub2 up to build 44282, even in a 32-bit version, which does support the ffvfw codec. But then you may miss a few features of the new VDub2 EXE. And the new avlib plugin (https://github.com/v0lt/avlib_vdplugin/releases) was only made for the 64-bit version (it is available in a bundle with VDub2 r44282). But some of the latest codecs in FFmpeg 7 seem to need features Windows 7 lacks, I guess, so they need to be excluded to make FFmpeg work with the rest of less demanding codecs. Or what is the exact reason?

v0lt
4th September 2024, 19:46
Your vdub doesn't work with win 7 as no catching input driver. Couldn't load ffv1 avi file.
I know about this and added information to avlib_vdplugin Readme.md (https://github.com/v0lt/avlib_vdplugin/blob/master/Readme.md) and VirtualDub2 v2.1 Readme.md (https://github.com/v0lt/VirtualDub2/blob/master/Readme.md).
Using above Kussaanko build and it worked. I haven't done a full test yet but so far so good.
This is good. Use it.

There is also information that to use official FFmpeg builds on Windows 7, it is enough to put a special file "api-ms-win-core-synch-l1-2-0.dll" nearby, which can be taken from the link.
https://github.com/cristianadam/api-ms-win-core-synch-Win7/releases/
On more modern Windows, you shouldn't do this.

Sorry but win 10/11 are garbage.
Windows 10 22H2 works with the integrated graphics of my processor. When I used Visual Studio 2019, the installer immediately started the installation on a blank system. Visual Studio 2022 and other modern software that I need just work.

coolgit
5th September 2024, 12:58
I do use Vdub and have both 32 and 64 bit, but what reason could you have to exclude windows 7. It works and miles better than win 10/11 Security isn't an issue, just over-the-top scare tactics forcing lemmings to update because Microsoft said so.

As far as i know you may have fix some bugs but there no new wondrous features that requires excluding win 7.

LigH
5th September 2024, 18:17
Do not blame v0lt. He is not responsible for the decision of the ffmpeg developers to support new content even if that means to drop obsolete operating systems. If you need a VirtualDub2 which runs on Windows 7, you may need to avoid all the new content in ffmpeg which requires features of at least Windows 10. Sieving those out one by one is not a trivial job. And even more demanding when done for free.

coolgit
6th September 2024, 15:30
Do not blame v0lt. He is not responsible for the decision of the ffmpeg developers to support new content even if that means to drop obsolete operating systems. If you need a VirtualDub2 which runs on Windows 7, you may need to avoid all the new content in ffmpeg which requires features of at least Windows 10. Sieving those out one by one is not a trivial job. And even more demanding when done for free.

I am not blaming Volt for anything, just wondering what the new features are that vdub uses that requires excluding win 7.

LigH
6th September 2024, 15:46
GyanD's codexffmpeg issue 136 (https://github.com/GyanD/codexffmpeg/issues/136) reports a dependency on api-ms-win-core-synch-l1-2-0.dll; I assume that it is related to multi-threading features, organizing simultaneous access to Windows resources by several processes. Codecs or routines in ffmpeg which use these new features to avoid trouble and improve performance inside the Windows core are no longer compatible to a Windows system without these core features. There was mentioned that an essential ffmpeg build may still work on Windows 7, but more complete versions, especially those using OpenCL and Vulkan, will not ... but as mentioned before, working through a checklist which library may be downward compatible and which will not would cost a lot of efforts, especially for people who do not know ffmpeg sources line by line.

v0lt
6th September 2024, 15:56
I am not blaming Volt for anything, just wondering what the new features are that vdub uses that requires excluding win 7.
It seems you haven't read my messages. Everything is written in the topic.

v0lt
6th September 2024, 16:13
Let me sum it up.

I did not add anything incompatible with Windows 7 to the avlib_vdplugin and VirtualDub2.1 code.
You have a problem with the official FFmpeg DLL (avcodec-61.dll), which contains components incompatible with Windows 7.
You can find more details at the link: https://github.com/GyanD/codexffmpeg/issues/136

I didn't promise Windows 7 support to anyone. I'm not interested in this.

Windows 7 users can use one of the solutions:

1. Replace all FFmpeg DLLs with compatible ones.
For example, these FFmpeg 7.0 builds: https://github.com/kusaanko/FFmpeg-Auto-Build/releases

2. Put the api-ms-win-core-synch-l1-2-0.dll file in the VirtualDub2.1 folder (where avcodec-61.dll is).
Link: https://github.com/cristianadam/api-ms-win-core-synch-Win7/releases/

3.Use VxKex.
Link: https://github.com/i486/VxKex

LigH
6th September 2024, 16:21
3.Use VxKex.
Link: https://github.com/i486/VxKex

:thanks:

Even unrelated to VDub2, I know people who are stuck with Windows 7 on old hardware and might keep it running for a little longer...

coolgit
9th September 2024, 12:47
Let me sum it up.

I did not add anything incompatible with Windows 7 to the avlib_vdplugin and VirtualDub2.1 code.
You have a problem with the official FFmpeg DLL (avcodec-61.dll), which contains components incompatible with Windows 7.
You can find more details at the link: https://github.com/GyanD/codexffmpeg/issues/136

I didn't promise Windows 7 support to anyone. I'm not interested in this.

Windows 7 users can use one of the solutions:

1. Replace all FFmpeg DLLs with compatible ones.
For example, these FFmpeg 7.0 builds: https://github.com/kusaanko/FFmpeg-Auto-Build/releases

2. Put the api-ms-win-core-synch-l1-2-0.dll file in the VirtualDub2.1 folder (where avcodec-61.dll is).
Link: https://github.com/cristianadam/api-ms-win-core-synch-Win7/releases/

3.Use VxKex.
Link: https://github.com/i486/VxKex

Got it thanks. Just FFmpeg issue. Tested your vdub with kussanko ffmpeg and so far no probs.

coolgit
9th September 2024, 13:05
There is a bug that existed for a long time and frankly tediously annoying.

When using trims, at the bottom it says "selecting frames 50-100 (50 frames blah blah)"
When using curve editor and the mouse cursor goes over the curve area, it says "parameter curve editor blah blah" and over writes "selecting frames 50-100 (50 frames blah blah)" and this is the problem. To get back to "selecting frames 50-100 (50 frames blah blah)" i have to click on the rectangular box on the frame bar. This is the tediously annoying part.

Can't the "selecting frames 50-100 (50 frames blah blah)" be moved up to the "frame 100 blah" box as there is plenty of room or make "parameter curve editor blah blah" show up after "selecting frames 50-100 (50 frames blah blah)" instead of overwriting or make "selecting frames 50-100 (50 frames blah blah)" then the cursor no longer over the curve area.

isidroco
10th September 2024, 00:48
Hi, last vdub2 2.1.1.609 crashes instantly when adding deLogo Filter, (actually filter works if loaded from a script and one doesn't try to open it's settings):
Out of bounds addr 00000000 1ec68658... while configuring filter "DeLogo 1.3.2" (FilterInstance.cpp:1025).

v0lt
10th September 2024, 15:32
Hi, last vdub2 2.1.1.609 crashes instantly when adding deLogo Filter
As far as I know delogo.vdf (https://www.rationalqm.us/delogo132/delogo.html) does not exist for x64.

LigH
10th September 2024, 19:33
Gyan identified the latest Rust as the cause of Windows 7 incompatibility ... (https://forum.videohelp.com/threads/414767-ffmpeg-7-0-1-and-Windows-7#post2749956) so building rav1e with an older rust appears to be a solution.

isidroco
11th September 2024, 01:21
As far as I know delogo.vdf (https://www.rationalqm.us/delogo132/delogo.html) does not exist for x64.

https://forum.videohelp.com/threads/397927-64bit-Logo-Spot-remover-filter-for-VirtualDub#post2645514

jpsdr
14th September 2024, 12:29
About Windows 7 and V0lt avlib_vdplugin release, i've tested the both method :
a - Put the api-ms-win-core-synch-l1-2-0.dll file in the VirtualDub2.1 folder.
b - Replace all FFmpeg DLLs with compatible ones.

a didn't work for me, i even also put the dll in plugins directory, the filter was still failing loading.
b worked for me. Once all the ffmpeg dll were replaced, the filter wasn't failing to load anymore.

I just wanted to report.

v0lt
14th September 2024, 13:26
a - Put the api-ms-win-core-synch-l1-2-0.dll file in the VirtualDub2.1 folder.
...
a didn't work for me, i even also put the dll in plugins directory, the filter was still failing loading.
Did you do it wrong on purpose? :confused:

jpsdr
14th September 2024, 13:31
I don't understand your comment...:confused:
I said that putting in VD2 directory didn't work, then i also put in plugins directory and it still didn't work.
Where i was doing wrong ?

LigH
14th September 2024, 21:14
If you did it correctly, api-ms-win-core-synch-l1-2-0.dll should be in the same directory as VirtualDub64.exe and avcodec-61.dll and avformat-61.dll and others...

v0lt
15th September 2024, 05:07
Where i was doing wrong ?
I don't know what you're doing wrong. Here's what I did.

1. I am running Windows 7 SP1 with some updates in VirtualBox.

2. Downloaded VirtualDub2_v2.1.1.609.7z, unlocked the file. Unpacked the entire archive and launched VirtualDub64.exe. I get an error and cannot use the avlib-1.vdplugin features.

3. Downloaded mingw-11.2.0.7z, unlocked the file. Unpacked the api-ms-win-core-synch-l1-2-0.dll file into the VirtualDub2_v2.1 folder (where VirtualDub64.exe is located).

4. Runned VirtualDub64.exe without errors and I see FFmpeg video codecs in the list of video codecs.

v0lt
15th September 2024, 07:08
https://forum.videohelp.com/threads/397927-64bit-Logo-Spot-remover-filter-for-VirtualDub#post2645514
Yes, I confirm the problem.
Exception thrown at 0x00007FFA8DB433C6 (delogo.vdf) in VirtualDub64.exe: 0xC0000005: Access violation reading location 0xFFFFFFFFBC6C6C08.
It is possible that delogo.vdf was not ported correctly for x64.

jpsdr
15th September 2024, 11:32
If you did it correctly, api-ms-win-core-synch-l1-2-0.dll should be in the same directory as VirtualDub64.exe and avcodec-61.dll and avformat-61.dll and others...
Yes it was, that what i said.

I'm running Windows 7 "naturaly", not in Virtual box or anything.
And i did exactly what v0lt described in this post, get VDub, put the dll, etc... And when i run VDub, it said that one filter failed to load, and checking the log it was avlib-1.vdplugin. That's why i tried to put the dll also in plugins directory, didn't change anything.

Don't waste too much time on this, as i said, i just wanted to report my testing.

As method b of using Windows 7 compatible dll worked for me, it's fine.

v0lt
15th September 2024, 20:17
@isidroco
Try this file - delogo132_x64.zip (https://www.mediafire.com/file/4n25r22s9f40fyu/delogo132_x64.zip/file).

isidroco
17th September 2024, 01:07
Test 1) Regular w7sp1: "Procedure entry kernel32.WaitOnAddress in lib api-ms-win-core-synch-l1-2-0.dll", after that VDUB opens and only works with internal AVI driver.
Test 2) If DeShaker_64.dll is in plugins64 dir, VDUB opens with no errors (still no caching driver, no FFMPEG compresion formats).
Test 3) Using api-ms-win-core-synch-l1-2-0.dll from mingw-11.2.0 ONLY works if it doesn't previously exist within C:\WINDOWS\SYSTEM32, old version there will take precedence (must take ownership and replace or remove it from there). After that everything works.

new DELOGOx64 version works with new virtualDub, but it crashes in previous version: Unhandled Microsoft C++ Exception

Partial report:
VirtualDub2 crash report -- build 44282 (release-AMD64)
7fefd0db855: 33c9 xor ecx, ecx
7fefd0db857: 4889442430 mov [rsp+30h], rax
7fefd0db85c: 89542424 mov [rsp+24h], edx
7fefd0db860: 48894c2428 mov [rsp+28h], rcx
7fefd0db865: 4d85c9 test ecx, r9
7fefd0db868: 0f856a030000 jnz fd0dbbd8
7fefd0db86e: 894c2438 mov [rsp+38h], ecx
7fefd0db872: 488d4c2420 lea rcx, [rsp+20h]
7fefd0db877: ff1523ca0300 call dword ptr [fd1182a0]
7fefd0db87d: 4881c4c8000000 add esp, 000000c8 <-- FAULT

isidroco
17th September 2024, 01:31
Yes it was, that what i said.

Please try replacing it within windows\system32 folder.

rgr
17th September 2024, 19:11
VirtualDub crashes when the edited avs file is write-protected.

It would be nice if it would inform about it and save only after giving consent, preserving the read-only attribute :)

jpsdr
17th September 2024, 19:35
Thanks isidroco for your informations.
I have indeed in system32 an api-ms-win-core-synch-l1-2-0.dll, wich seems to be a "legitimate" MS version, with a version displayed when i click on it. The mingw-11.2.0 file has no version or anything. Files are different (12k vs 91k...!).
Honestly, i'm not a big fan of deleting what seems to be a legitimate version version of a dll in system32 directory. If one day realy i'm stuck, i'll know now what should be done. But for now, as using the Windows 7 compatible dll works for me, i'll stay with that.

v0lt
18th September 2024, 04:44
VirtualDub crashes when the edited avs file is write-protected.

It would be nice if it would inform about it and save only after giving consent, preserving the read-only attribute :)
The problem is in scripted.vdplugin (https://sourceforge.net/p/vdfiltermod/scripted/ci/master/tree/)

isidroco
18th September 2024, 15:12
Honestly, i'm not a big fan of deleting what seems to be a legitimate version version of a dll in system32 directory...
Same here, but test it in VM without issues, now I have both original (api-ms-win-core-synch-l1-2-0.dll 12k 2019/4/12; dxgi.dll 363k 2013/1/13) renamed to .DL0 and the minGW-11.2.0 versions in place of them. That allows vDub2 and possibly other w8+ software to run (as latest FFMPEG). If any problem it's easy to rollback.
In that way you can install latest VDub2, FFMPEG, etc without having to replace files or VxKex treat them each time you update.

Edit: VMware Workstation v15.5.7 gives: CreateDXGIFactory not found in dxgi.dll (after that it works). Restored original dxgi.dll (which it's not needed anywat for VDub/FFMEPG).

v0lt
18th September 2024, 17:35
VirtualDub crashes when the edited avs file is write-protected.
scripted.vdplugin_x64_fix.7z (https://www.mediafire.com/file/7kthpit06y2rdb1/scripted.vdplugin_x64_fix.7z/file)

tormento
20th September 2024, 11:49
Would be possible to add support for mkv chapters?

Markers on the time/frames bar would be more than enough, jumping to them would be even better.

LigH
20th September 2024, 16:26
The MP4 container supports chapters too. Adding them via ffmpeg metadata (chapterEditor supports this format) is possible but the CLI parameters are a bit elaborate.

v0lt
20th September 2024, 17:00
Would be possible to add support for mkv chapters?
Maybe someone can do it. But I doubt it will happen.

nji
22nd September 2024, 12:06
For still pictures the LUT-filter is well known.
If you need to change the "characterstic" of a picture
(say from one analog film type to another, or false colored exposure,
or if you want to have a sunset character from a beach photo to some other shooting).
The LUT matches every RGB entry from source to dest;
- mostly it is coarsened, so it will be extrapolated.

This kind of manipulation would be helpful for some of movies too,
as the manual color corrections are sub-optimal.

Does anyone know about such filter for VD?

Needless to mention there is an AVS filter for that
http://avisynth.nl/index.php/AVSCube

LigH
22nd September 2024, 12:15
The whole concept of VirtualDub Filters became quite obsolete...

nji
22nd September 2024, 13:08
... to be replaced by... what?

BTW: that's quite OT, isn't it?

LigH
22nd September 2024, 13:31
By AviSynth or VapourSynth, both frame servers with Non-Linear Editing features and filters working in multiple color spaces, not just RGB.

v0lt
22nd September 2024, 17:33
Avidemux and Shotcut support 3DLut.
Both editors are free and open source.

Leo 69
22nd September 2024, 17:52
The whole concept of VirtualDub Filters became quite obsolete...

Some people can't write scripts as quickly and easily as they can use VDub filters. For you personally they may be obsolete, for others they are as relevant as ever.

nji
22nd September 2024, 18:02
Avidemux and Shotcut support 3DLut.
Both editors are free and open source.

Thanks!
Wouldn't have expected that.
However they don't fit into my workflow with VD2.
Still I could export (huge) lossless results from them, to import into VD2.
Or use the AviSynth with the above script as frame server for VD2.

LigH
23rd September 2024, 17:11
For you personally they may be obsolete, for others they are as relevant as ever.

I don't mean me personally, but rather developers of plugins. The fewer people desperately need something, the lower may be the incentive for a developer to put any efforts in its implementation.

And I absolutely did not mean to point at you. I have similar problems from time to time. Like, I may be the only one who would like to have an audio plugin ported to AviSynth+ 64b, so I may have to learn coding it myself or wait eternally.

rgr
25th September 2024, 20:41
I may be the only one who would like to have an audio plugin ported to AviSynth+ 64b

You're not the only one.

isidroco
1st October 2024, 00:19
@isidroco
Try this file - delogo132_x64.zip (https://www.mediafire.com/file/4n25r22s9f40fyu/delogo132_x64.zip/file).

Thanks for the build, is there a possibility to build one which also works with previous VDUB version?

v0lt
1st October 2024, 19:24
Thanks for the build, is there a possibility to build one which also works with previous VDUB version?
I don't have this problem with filter selection on my computer. I haven't tried using the filter. But I tried compiling the filter a little differently.
delogo132_x64_2024-10-01.zip (https://www.mediafire.com/file/6lxcigddhrep4jd/delogo132_x64_2024-10-01.zip/file)

isidroco
2nd October 2024, 04:53
I don't have this problem with filter selection on my computer. I haven't tried using the filter. But I tried compiling the filter a little differently.
delogo132_x64_2024-10-01.zip (https://www.mediafire.com/file/6lxcigddhrep4jd/delogo132_x64_2024-10-01.zip/file)

Thanks, better, but still doesn't work when tried to use it in my script it gives: Cannot start filters: Filter "DeLogo 1.3.2" is not handling image formats correctly.

I would like to have only oneversion for all, but it's not critical.

Today I captured a NTSC DV. Original VirtualDub2_44282 using any input driver: all OK.
But with VirtualDub2_44282+avlib_vdplugin_0.7.0.123 or VirtualDub2_v2.1.1.609_x64only:
Image is broken using AV Internal input driver. Small sample here: https://www.mediafire.com/file/e0utl6hxbr2jzbp/tonyM60f.avi/file
Using Caching input driver can't see frames after aprox 1 second; seeking gives: error requested frame not found, next valid frame [lastFr]

Using old VDub, directStreamCopied to sample, partial, and full 7gb copy. None of those had problems with caching input. Will try to make a smaller direct sample with original winXP capture machine to upload it .

Unfortunately, new VirtualDub is for now less useful than 44282 which works with all the formats I'm using.

isidroco
2nd October 2024, 13:13
Maybe "Audio/Video interleave input driver", and "Caching input driver" code should be left exactly as it was before, and add a new "FFMPG input driver" to handle newer formats without breaking old ones which could be opened as before...

v0lt
2nd October 2024, 17:08
Image is broken using AV Internal input driver. Small sample here: https://www.mediafire.com/file/e0utl6hxbr2jzbp/tonyM60f.avi/file
"Internal DV decoder" does not work correctly due to optimizations in the modern compiler.

isidroco
3rd October 2024, 04:09
"Internal DV decoder" does not work correctly due to optimizations in the modern compiler.

Yes, but many of us use vdub to deal with old video formats (recover old footage). So breaking DV support is a deal breaker here... With new caching driver, Sekh enabled ease of use with newer cameras as MOV/MP4, etc, but we could always return to old internal driver for compatible old behaviour . Here that's not working anymore. Maybe using older compiler, or disabling certain optimizations we could restore those lost functions...

v0lt
3rd October 2024, 16:44
Looks like there is a problem with the VisualStudio 2022 compiler.
https://github.com/v0lt/VirtualDub2/commit/ded9caa528a6820204a6d1f9bfdc41dc6289e1ab

Added:
I wrote to Microsoft about the optimization problem. (https://developercommunity.visualstudio.com/t/Optimization-for-x64-produces-incorrect/10761549)

isidroco
5th October 2024, 22:14
I wrote to Microsoft about the optimization problem.
Thanks for your concern. Maybe it could be compiled with the older working version used for original VDUB2.
More DV tests in old VDUB2: DV audio with caching driver has correct length, but 100ms silence at the beginning which causes slight synchro displacement. With AV interleave internal driver, length is 50ms shorter, but with no silence at the begin, so it's better. Video is the same on both.

v0lt
6th October 2024, 19:12
VirtualDub2_v2.1.2.647 (https://disk.yandex.ru/d/R3Ob8yREy4ChvA) (test build)
Fixed "Internal DV decoder".
(Disabled optimization for VDVideoDecoderDV:: DecompressFrame function. Visual Studio 2022 v17.11.4 was used)

Updated avlib-1.vdplugin to version 0.7.1.154.
FFmpeg 7.1 is now supported.

Updated scripted.vdplugin to version 0.2.0.44.
Fixed a crash when trying to save a read-only file.
Implemented Unicode support. Now script files are read and saved in UTF-8 format.

jay123210599
7th October 2024, 21:08
VirtualDub2_v2.1.2.647 (https://disk.yandex.ru/d/R3Ob8yREy4ChvA) (test build)
Fixed "Internal DV decoder".
(Disabled optimization for VDVideoDecoderDV:: DecompressFrame function. Visual Studio 2022 v17.11.4 was used)

Updated avlib-1.vdplugin to version 0.7.1.154.
FFmpeg 7.1 is now supported.

Updated scripted.vdplugin to version 0.2.0.44.
Fixed a crash when trying to save a read-only file.
Implemented Unicode support. Now script files are read and saved in UTF-8 format.

How do I add the SubText filter from StaxRip to your version of Virtualdub2? How do I cut losslessly at keyframes?

v0lt
12th October 2024, 09:27
How do I add the SubText filter from StaxRip to your version of Virtualdub2?
VirtualDub supports filters and plugins written for VirtualDub.

VirtualDub can open Avisynth script files, and accordingly you can use Avisynth/Avisynth+ filters.

How do I cut losslessly at keyframes?
In general, no way. Because it works with many limitations (especially with modern formats) and the result will not satisfy you (judging by the number and content of your questions).

LigH
12th October 2024, 10:28
VirtualDub supports filters and plugins written for VirtualDub.

Another issue: Due to their heavy limitations, not many of these are being developed anymore. And if you find some ancient plugins from other authors, these probably exist in 32-bit code only. But the latest VirtualDub2 only exists in 64-bit code and can't use 32-bit plugins.

You should really learn to use AviSynth or VapourSynth if you seriously want to filter your videos efficiently. VirtualDub2 can serve as a solid host application to feed the results of these scripts to encoders then.

jay123210599
12th October 2024, 22:33
@v0lt @LigH But whenever I use an Avisynth/VapourSynth script, it doesn't use the same codec as the video I put inside it. How do I fix that?

LigH
12th October 2024, 22:41
Whenever you want to apply a filter to the video, it needs to be decoded first. And when the video has been filtered, it needs to get encoded again. Nothing can "fix" that. If you want to keep video as compressed as it is, you cannot modify it.

jay123210599
13th October 2024, 00:32
Whenever you want to apply a filter to the video, it needs to be decoded first. And when the video has been filtered, it needs to get encoded again. Nothing can "fix" that. If you want to keep video as compressed as it is, you cannot modify it.

I want to encode the video, but I want to make sure it has the same aspects as the original. For example, I have a YUV444 video, and I want the output to also be a YUV444 video, even though the quality will not be the same due to encoding. My problem is that I insert a script and it doesn't start at the colorspace as my video (e.g. it starts at YUV420 instead).

LigH
13th October 2024, 00:48
AviSynth since v2.60 supports the colour format YV24 for chroma subsampling YUV 4:4:4. Most recent plugins for AviSynth+ should support that too. There is no reason to blame VirtualDub2, it can handle that. You will have to learn how you possibly have to force AviSynth source plugins to read your video in a way that it decodes to YV24 if you need YUV 4:4:4, or to convert it to that format in your script. But that's not a matter of this forum thread.

Hushpower
16th October 2024, 03:35
@Volt, FYI, the file in this post:

https://forum.videohelp.com/threads/416224-Lossless-Quicktime-to-Regular-Lossless-AVI-Conversion#post2753941

won't open in your Vdub 2.1. It throws an error:

"FFMPEG: Unsupported Channel Layout"

The original VDub2 hosted on VideoHelp (https://www.videohelp.com/software/VirtualDub2) will open the file OK. I did some checks and it seems the error is caused by the updated avlib-1.plugin file or associated DLLs, back as far as "avlib_vdplugin_0.7.0.93".

v0lt
16th October 2024, 16:39
@Volt, FYI, the file in this post:

https://forum.videohelp.com/threads/416224-Lossless-Quicktime-to-Regular-Lossless-AVI-Conversion#post2753941

won't open in your Vdub 2.1. It throws an error:

"FFMPEG: Unsupported Channel Layout"
FFmpeg 7.1 reports that the audio track has no information about the audio channel layout.
AV_CHANNEL_ORDER_UNSPEC (https://ffmpeg.org/doxygen/6.0/group__lavu__audio__channels.html#ga252e1528ae55fbf873266ca4c7e3b69c)
Only the channel count is specified, without any further information about the channel order
Accordingly, the plugin cannot automatically assign channels (left, right, subwoofer, etc.). If there were 2 channels, then we could assume that this is stereo, but you have 16.

v0lt
16th October 2024, 18:50
Question for C++ experts.
Can anyone remove (replace) the obsolete std::allocator (https://en.cppreference.com/w/cpp/memory/allocator) from the VirtualDub2 source code (https://github.com/v0lt/VirtualDub2)?

Hushpower
18th October 2024, 04:20
@Volt
FFmpeg 7.1 reports that the audio track has no information about the audio channel layout.

Accordingly, the plugin cannot automatically assign channels (left, right, subwoofer, etc.). If there were 2 channels, then we could assume that this is stereo, but you have 16.
So it must be a bug or recent "shortcoming" in FF 7.1, because the previous avlib plugin opened that file with no issues.

Where would I report this?

v0lt
18th October 2024, 04:56
So it must be a bug or recent "shortcoming" in FF 7.1, because the previous avlib plugin opened that file with no issues.
Older versions of FFmpeg and the avlib plugin opened this file incorrectly.

For regular audio tracks, there is a one-to-one mapping of the audio channel to the audio speaker.
This mapping is done either through a specific channel order and channel mask, or it is described in standards (see Dolby Digital, DTS). You can read more in the article "Surround sound" in Wikipedia (https://en.wikipedia.org/wiki/Surround_sound).

There is nothing like that in your file. Perhaps all these tracks are obtained from special software for working with sound. Someone made a full export without proper mixing to standard channel layouts (stereo, 5.1, 7.1, etc.).

Hushpower
19th October 2024, 00:58
Older versions of FFmpeg and the avlib plugin opened this file incorrectly.
As I said in my first post, VDub2.0 44282 opens that file without issue, and it can be exported as two-channel after setting up the audio conversion. How it does it, I don't know. Certainly, with the "original" 40,071kb avlib plugin (without all those DLLs), VDub2 opens it without issue.

The original avlib plugin in VDub2.0 obviously uses a different process to both the new avlib plugin, and the avlib plugin in VDub 2.1.

The old avlib opens it OK, the new one (with it's new DLLs) doesn't. That's all I'm pointing out.

Perhaps all these tracks are obtained from special software for working with sound. Someone made a full export without proper mixing to standard channel layouts (stereo, 5.1, 7.1, etc.).
It came from Latreche/Dellsam:

In an effort to ditch the computer for capturing (a thread is coming) I use the BM HyperDeck Shuttle 2 to record from SDI out of the analog capture device, The files are recorded in lossless quicktime because it's the only format the Hyperdeck 2 accepts, I have trouble working with this format, for one MPC-HC doesn't play it albeit VLC does, It writes 16 audio ch even when there is only two active

v0lt
19th October 2024, 07:24
It came from Latreche/Dellsam:
In an effort to ditch the computer for capturing (a thread is coming) I use the BM HyperDeck Shuttle 2 to record from SDI out of the analog capture device, The files are recorded in lossless quicktime because it's the only format the Hyperdeck 2 accepts, I have trouble working with this format, for one MPC-HC doesn't play it albeit VLC does, It writes 16 audio ch even when there is only two active
Obviously you need to reconfigure your capture device or fix the resulting file.
ffmpeg -i "HyperDeckS2.mov" -af "channelmap=0|1:stereo" -c:v copy -c:a pcm_s24le "HyperDeckS2_fix.mov"

Hushpower
19th October 2024, 13:01
No need, I'll just use VDub 2.0.

v0lt
19th October 2024, 13:44
VirtualDub2_v2.1.2.655 (https://disk.yandex.ru/d/R3Ob8yREy4ChvA) (test build)
various code reworks
added experimental Win32 support

rgr
23rd October 2024, 09:16
VDub crashes if we put propset("_Matrix") with invalid values ​​(e.g. a string) in AviSynth code.

v0lt
23rd October 2024, 17:33
VDub crashes if we put propset("_Matrix") with invalid values ​​(e.g. a string) in AviSynth code.
There's a lot you haven't said. But I doubt there are people here who would want to guess all the nuances of your problem.

rgr
25th October 2024, 12:18
There's a lot you haven't said. But I doubt there are people here who would want to guess all the nuances of your problem.

Now I see that VDub doesn't want to crash. I'll check it again.

v0lt
28th October 2024, 16:21
VirtualDub2_v2.1.2.661 (https://disk.yandex.ru/d/R3Ob8yREy4ChvA) (test build)
Fixed a crash when capturing video and saving to ProRes and other similar formats.
avlib-1.vdplugin: Fixed freezing after early interruption of writing to a file when using some codecs.
scripted.vdplugin: The list of keywords, internal functions and internal filters for AviSynth+ has been updated.

SupermanTV
29th October 2024, 18:40
v0lt, thanks for this test build with the ProRes (avi) capture fix.

Played around with it and seems to be working ok, at least the way that last vDub2 v44015 did. (yuv4:2:2 working).
Good to have this available again!!

Also, as I mentioned in my original post about this issue,
do you know why these Prores (avi) files trigger 'COM Surrogate' error and crash on Win 10?
I'm thinking it could be related to 'metadata' handling/implementation, thumbnails maybe...?

Another question: I would think you're applying the 'generic' prores implementation..!? (prores, prores_aw, prores_ks)

Keep up the good work!!

PS... For reference, this is my original issue with ProRes avi:
https://forum.doom9.org/showthread.php?t=185848

v0lt
30th October 2024, 04:39
Another question: I would think you're applying the 'generic' prores implementation..!? (prores, prores_aw, prores_ks)
FFmpeg 7.1.

nji
30th October 2024, 10:50
I recently noticed that (some?) HD movies (1920x1080p, YUV4:2:0)
which are not explicitely labeled as bt.709
are shown in VD2 orig pane as if VD2 takes them as bt.609
(esp. this typical small shift red/yellow to green/blue).

If I use alias format filter as first filter and choose bt.609
both panes (orig and result) are the same.
If choosing bt.709 in the filter the result pane is more red/yellow than the orig pane.
==> Conclusion: orig movie is colorspace bt.609.

BUT:
The orig movie actually is the red/yellow one!
At least MPC-HC shows it that way...

So VD2's orig pane view is misleading...

Or is it about the default handling of the case that movie dimensions are HD,
but no color entry (which usually means bt.609)?

LigH
30th October 2024, 11:33
It's 601 vs. 709.

And it might indeed be a matter of default values. Some renderers may assume that any resolution larger than SD (e.g. DVD Video resolutions as threshold) is BT.709; other renderers may be set up to assume BT.601 if not explicitly flagged otherwise. Hard to tell, there are different places where that default could be set up (e.g. another YUV - RGB conversion in front of the renderer), there are different renderers which could be used by different methods of playback ...

nji
30th October 2024, 11:48
Still it's not just a "cosmetic issue", but an important one:

If the views of the don't show the real thing,
I will be mislead and probably use (incorrectly) a color filter...

LigH
30th October 2024, 12:01
So how is your VirtualDub2 set up? Which kind of display does it use: DirectX at all? DirectX 9 or 11? Or OpenGL? Or Hardware Overlay? And how is your graphic driver set up in case of Hardware Overlay?

And which does the media player use you compare VirtualDub2 to? It will probably be a different renderer.

You cannot blame the VirtualDub2 author for things you did (not) set up or VirtualDub2 cannot control from itself. But we can both wait for a reply from a more competent person than me ...

nji
30th October 2024, 12:17
...
You cannot blame the VirtualDub2 authors ...

No, I do not blame anyone.

I just want to point out that there is a pitfall,
that might result in systematic downgraded movies.
(At least this was the case for me).

And that this pitfall might be avoided...

v0lt
30th October 2024, 15:00
In the new avlib-1.vdplugin the logic is as follows:
if (colorspace == AVCOL_SPC_UNSPECIFIED) {
if (width <= 1024 && height <= 576)
cs = BT601;
else
cs = BT709;
}

nji
30th October 2024, 15:40
... and how is the logic in orig 44282 release?

Leo 69
7th November 2024, 12:20
Just want to thank the author for continuously updating this important tool.

Current builds support even JPEGXL, WEBP and AVIF image sequences as input, which is unheard of in "professional-grade" software (Adobe Premiere, DaVinci Resolve, etc.). Extremely important for my workflow. Thank you!

v0lt
10th November 2024, 19:11
VirtualDub2 v2.1.2.663 (https://github.com/v0lt/VirtualDub2/releases/tag/2.1.2) released.
Fixed "Internal DV decoder".
Fixed a crash when capturing video and saving to ProRes and other similar formats.

Updated avlib-1.vdplugin 0.7.1.170 (https://github.com/v0lt/avlib_vdplugin/releases/tag/0.7.1).
* FFmpeg 7.1 is now supported.
* Fixed freezing after early interruption of writing to a file when using some codecs.

Updated scripted.vdplugin 0.2.0.60 (https://github.com/v0lt/scripted_vdplugin/releases/tag/0.2.0).
* Fixed a crash when trying to save a read-only file.
* Implemented Unicode support. Now script files are read and saved in UTF-8 format.
* The list of keywords, internal functions and internal filters for AviSynth+ has been updated.

Also available is old VirtualDub2_44282+avlib_vdplugin_0.7.1.170 (https://github.com/v0lt/scripted_vdplugin/releases/tag/0.2.0).

PS: new releases are compiled in Visual Studio 2019 v16.11.41.

GAP
20th November 2024, 00:16
@v0lt

I had no idea that a new version was out already. Can you tell me the major improvements of the new Virtualdub2? I am currently on Windows 10 on a mini PC/

LigH
20th November 2024, 00:56
Most important improvement: Supports ffmpeg Version 7.x and new codecs available since then (e.g. AV1, VVC decoders).

v0lt
20th November 2024, 14:54
Can you tell me the major improvements of the new Virtualdub2?
https://github.com/v0lt/VirtualDub2/blob/master/docs/Changes.txt

jay123210599
1st December 2024, 20:34
Can VirtualDub2 handle and show HDR colors? If so, how?

v0lt
2nd December 2024, 03:51
Can VirtualDub2 handle and show HDR colors?
No. VirtualDub only supports Bt.601 and Bt.709.

jay123210599
2nd December 2024, 14:27
No. VirtualDub only supports Bt.601 and Bt.709.

What about your newer version of it?

v0lt
2nd December 2024, 14:50
What about your newer version of it?
VirtualDub2 only supports Bt.601 and Bt.709.

v0lt
4th December 2024, 04:43
VirtualDub2 v2.1.3.667 (https://github.com/v0lt/VirtualDub2/releases/tag/2.1.3) released.
Fixed recording of VirtualDub2 version into AVI files.

Updated avlib-1.vdplugin 0.7.1.200 (https://github.com/v0lt/avlib_vdplugin/releases/tag/0.7.1.200).
* Trying to get around incorrect keyframe seek for MP4 files.
* Fixed the operation of x264 and x265 encoders.
* Fixed the operation of Vorbis encoder.
* Cosmetic changes to codec dialogs.

Also available is old VirtualDub2_44282+avlib_vdplugin_0.7.1.200 (https://github.com/v0lt/avlib_vdplugin/releases/tag/0.7.1.200).

GAP
6th December 2024, 19:38
I'm trying to make a direct stream copy as opposed to a stream copy. My goal is to trim the video before a certain time. I can do this using Stream Copy, but Direct Stream Copy requires a different input driver. I'm trying to avoid an error where the audio and video do not match each other. What is the best way to accomplish this? Do I disable the caching input driver when it comes to Direct Stream copy? Or do I use something else?

v0lt
7th December 2024, 07:39
Do I disable the caching input driver when it comes to Direct Stream copy?
Yes, in this case you get the usual VirtualDub work, but it will work for AVI and you will need the VFW and ACM codecs.

The Caching input driver seems to be able to copy I-frame only video streams. I haven't checked.

What is the best way to accomplish this?
Try Avidemux.

GAP
7th December 2024, 16:33
I ended up using AVIDemux as even the exported "Stream Copy" version was off by a few seconds. Virtualdub2 (or the 44282 version that I was using) will not Direct Stream Copy the video I was using. For context, I used a file that I dumped with FFMPEG although I think I should have used a simpler script. It looks like it works now

jay123210599
10th December 2024, 06:32
I want to convert a video to APNG, but I also want to resize the output APNG. How do I do that?

v0lt
10th December 2024, 12:21
I want to convert a video to APNG, but I also want to resize the output APNG. How do I do that?
Make frame resizing (and cropping) for Export > Animated PNG the same way as for regular video. More details are written in the help and on the Internet.

jay123210599
10th December 2024, 15:44
Make frame resizing (and cropping) for Export > Animated PNG the same way as for regular video. More details are written in the help and on the Internet.

Thanks, it also takes a long time for VirtualDub2 to convert the video to APNG. How do I speed up the process?

SeeMoreDigital
10th December 2024, 15:56
Thanks, it also takes a long time for How do I speed up the process?Buy a computer with more processing power!

mso6jx
17th December 2024, 11:24
Hello! I've been visiting Doom9 as a Guest for a year or two now, often finding answers to video questions that other sites aren't discussing, and I've learnt such a lot from so many of you - I'm really grateful, a huge thanks to all of you!

I've now registered to ask specifically about newer versions of VirtualDub2 failing to open some of my Avisynth scripts with the message "System exception - Access Violation" when older versions of VirtualDub2 handled them fine.

Is there a go-to page with general advice about how newbies can get started with reporting apparent bugs? Is this particular thread an appropriate place to report details about my VirtualDub2 problem? Cheers!

Emulgator
17th December 2024, 13:07
I guess this here is the thread to report.
If you want to narrow down any faults I suggest to make a testbed as follows:
Do not install anything, just unpack.
Place all concerning VirtualDub versions side by side, each in their folder.
Start with "vanilla" versions, only default plugins.
Place all concerning AviSynth versions side by side, each in their folder.
Start with "vanilla" versions, only default plugins.
Now do take care of their plugins folders.
Copy your "previous" versions, with your previously trusted plugins into a "plugins_previous" folder for each AviSynth and VirtualDub pack.
For each AviSynth and VirtualDub pack make a "plugins_inactive" folder for swapping.

Now you activate/deactivate your AviSynth versions using Groucho2004's batchfile.
You don't have to install anything, just download the versions you are interested in and unpack them.
In the end you only run a .bat script which does the "install" (writing regkeys and copying a few .dlls).
https://forum.doom9.org/showthread.php?t=172124
(You may go to the last page, I have updated some paths/versions there)

Then load, preview (F5), reload (F5), play, test encode your scripts using AvsPmod
https://forum.doom9.org/showthread.php?t=175823

Then test/preview using VirtualDub (load, reload (F2), Play (F5), test encode (F7) for all kinds of files/scripts.
Then swap only the plugins in you need, one by one, F2.
Report the one where it fails, exclude other faults. And so on.

BTW, regarding VD: Depending on your workflow you won't need the latest and greatest.
I feed scripts anyway, and these rely on AviSynth source filters.
Since VD is used just as .avi writer here, it gets piped video data, and pipes it to a simple intermediate encoder.
So no need for the latest VD input decoder, my use case works well with earlier VD versions down to 1.10.5 and 32-bit
Any elevated encoder form MPEG-2 on would get the script fed directly.

v0lt
17th December 2024, 13:18
Is there a go-to page with general advice about how newbies can get started with reporting apparent bugs? Is this particular thread an appropriate place to report details about my VirtualDub2 problem?
1. Update all your instruments (VrtualDub2 v2.1, AviSynth+, plugins).
2. Create a separate topic for your problem. Examples: one (https://forum.doom9.org/showthread.php?t=185381) and two (https://forum.doom9.org/showthread.php?t=185848).
3. Describe your problem in as much detail as possible, specify the exact version numbers of the instruments.
4. Upload the necessary files (scripts and video files) to a file sharing service so that other people can reproduce your problem on their PC.

mso6jx
17th December 2024, 19:09
Cheers! :)
I've started a new thread to describe my issue here: https://forum.doom9.org/showthread.php?p=2011695#post2011695

rgr
28th December 2024, 16:44
In version 667 I have a problem with the folder path in the Deshaker v3.1 plugin. I always have to fill it in, and previously I left it empty (in version 44282) and the plugin found the file in the current project directory.

v0lt
30th December 2024, 05:58
I always have to fill it in, and previously I left it empty (in version 44282) and the plugin found the file in the current project directory.
What file are we talking about?
What is the current project directory?

rgr
1st January 2025, 19:01
1. Filter data file (default Deshaker.log).
2. Folder with .vdproject file.

I load the project to 44282 -- I can leave the field empty, the plugin uses the current folder.
I load the same project to 667 -- I have to fill in the field with the full path (I don't know where it looks for it then, but not in the project path)..

jay123210599
3rd January 2025, 15:23
What does VirtualDub2 use to play videos? When I enter one into it, the video had 41475 frames, but when enter it into vspreview and Staxrip, it had 33765 frames.

StainlessS
3rd January 2025, 17:05
What does VirtualDub2 use to play videos?
VirtualDub2.

Perhaps your video is Variable FrameRate, and VD2 converts to Constant FrameRate.

Check FR with MediaInfo.

jay123210599
3rd January 2025, 17:18
VirtualDub2.

Perhaps your video is Variable FrameRate, and VD2 converts to Constant FrameRate.

Check FR with MediaInfo.

And how does VirtualDub2 convert Variable FrameRate to Constant FrameRate, exactly?

v0lt
3rd January 2025, 19:33
1. Filter data file (default Deshaker.log).
2. Folder with .vdproject file.

I load the project to 44282 -- I can leave the field empty, the plugin uses the current folder.
I load the same project to 667 -- I have to fill in the field with the full path (I don't know where it looks for it then, but not in the project path)..
For me, both versions behave the same. I launch any of the versions and immediately drop the project file there. After that, the filter cannot find Deshaker.log.

But if you first open any video file in this folder, and then drop the project file, the filter will find Deshaker.log. And this does not depend on the VD2 version.

StainlessS
4th January 2025, 10:48
And how does VirtualDub2 convert Variable FrameRate to Constant FrameRate, exactly?
Same way everything else does, insert dupes where timestamps have gaps.

jay123210599
4th January 2025, 16:00
Same way everything else does, insert dupes where timestamps have gaps.

You mean duplicate frames? Do all video players (like PotPlayer, MPC-HC, VLC, and MPV) do that, too?

poisondeathray
4th January 2025, 17:21
You mean duplicate frames? Do all video players (like PotPlayer, MPC-HC, VLC, and MPV) do that, too?


Not exactly. For timecode VFR, frames can display for different durations in a media player. Functionally VFR is similar to inserted duplicates. The difference is no actual frames are being inserted

For CFR equivalent, you are going to have "physically" inserted duplicates. That' s going to be a lot worse compression wise. Think of your apng scenario with 41465 frames is going to consume significantly more disk space than 33765 frames

tormento
5th January 2025, 15:49
Would be possible to include nvenc in some way? Some filters unfortunately exists for VirtualDub only and I’d like to create a HEVC lossless mezzanine file for further processing.

LigH
5th January 2025, 17:43
Should work via "external encoders", I believe. If nvenc supports piping.

jay123210599
7th January 2025, 02:24
I have a 720x480 DVD video. When I extract images out of it, I want the resolution to be 853x480 instead. How do I do that?

LigH
7th January 2025, 08:07
Video - Full processing mode; Video - Filters... - [Add ...]: resize

I wonder how you calculated this odd width.

wonkey_monkey
7th January 2025, 11:34
I wonder how you calculated this odd width.

480×16/9 (rounded down)

which may or may not be the exactly correct thing to do, depending on how the original video was mastered.

SeeMoreDigital
7th January 2025, 11:39
...I wonder how you calculated this odd width.

480×16/9 (rounded down)

which may or may not be the exactly correct thing to do, depending on how the original video was mastered.Personally, I would round up to 854.

tormento
7th January 2025, 11:56
Personally, I would keep full res and apply anamorphic ratio to encoder.

tebasuna51
7th January 2025, 12:14
Right click over the image and select the aspect ratio desired.

If you have a correct source DVD (VOB file) VirtualDub2 select the correct aspect ratio for you, see the image.
Maybe for your source you need select the aspect ratio manually.

jay123210599
7th January 2025, 12:47
Right click over the image and select the aspect ratio desired.

If you have a correct source DVD (VOB file) VirtualDub2 select the correct aspect ratio for you, see the image.
Maybe for your source you need select the aspect ratio manually.

I opened my VOB file on VirtualDub2, but when I extracted a frame from it, the resolution was still at 720x480. Even when I adjusted the aspect ratio, the resolution of the image still wouldn't change.

LigH
7th January 2025, 14:24
The display aspect ratio only affects the display on screen. You need to actually resample the frame to a new dimension, that's what the resize filter does.

SeeMoreDigital
7th January 2025, 14:43
I opened my VOB file on VirtualDub2, but when I extracted a frame from it, the resolution was still at 720x480. Even when I adjusted the aspect ratio, the resolution of the image still wouldn't change.After importing your video. Select: Video -> Filters -> Add and navigate down the list to 'Resize' and press OK

While within the resize filter widow: -
Under 'Aspect ratio' select 'Disabled'.
Under 'Filter mode' select the resize filter that best suits your needs.
Under 'New size' select 'Absolute (pixels)' and enter the required pixel values in the two boxes.

nji
3rd February 2025, 12:08
I'm using VD2 since a long time to improve (mostly older) videos
from all kind of devices.

Mostly I use internal and Anton's filters,
additional a few special ones (ACOBW and NDF, DeLogo, Deshaker and some MSU filters).

Some of the internal filters I never used.
Maybe I miss something with them, so I would like to ask for hints
when/ if these filters are useful:

2:1 reduction (high quality)
Which differences to filte "resize (50%)"?
Quality? Speed?

convert to floating point
Useful when ...?

gamma correct?
Useful when ...?

warp sharp, warp resize?
Both seem to produce bad results...

BTW
What does the "Save" button in filter dialog do?
(There is no "Load" etc.)

TIA

v0lt
3rd February 2025, 12:47
VirtualDub2 v2.2.0.755 (https://github.com/v0lt/VirtualDub2/releases/tag/2.2.0)

Changes:
The auxsetup utility now has two versions: for win32 and x64.
Removed "64" prefixes for exe and dll files.
Improved HiDPI support.
Fixed output of system messages in vdub2.exe.
Code refactoring for modern compilers.

Updated avlib-1.vdplugin to version 0.7.1.220.
- Video files with incorrect (or unrecognized) frame rates are not supported. This fixes the plugin crash.
- Code refactoring for modern compilers.

Updated scripted.vdplugin to version 0.2.1.92.
- Fixed script saving.
- Now uses Avisynth+ header files. Minimum supported version of Avisynth is 2.6.
- Code refactoring for modern compilers.

Also available is old VirtualDub2 44282 with updated avlib.vdplugin (https://github.com/v0lt/avlib_vdplugin/releases/tag/0.7.1.220).

v0lt
3rd February 2025, 19:57
It's very strange, but 32-bit scripted.vdplugin 0.2.1.92 (https://github.com/v0lt/scripted_vdplugin/releases/tag/0.2.1) for some unknown reason scores 9-12 points on VirusTotal (https://www.virustotal.com/gui/file/78e5ab27c9ff0133a5b8b5a31c887b4e500624eee5518acdc5989f005de3059d). There is no such problem with the 64-bit version.

I used Visual Studio 2019 v16.11.42 and Windows SDK 10.0.19041.0.

Added
Rebuilt scripted.vdplugin 0.2.1.92 on a clean virtual machine with Visual Studio 2019 v16.11.42 and Windows SDK 10.0.19041.0 - nothing changed.

StainlessS
4th February 2025, 16:28
Is the offending file compressed with UPX ?,
if so try virustotal scan without UPX.

EDIT:
Damn, false +ve's growing, 19/71 (I did a rescan on VirusTotal original file, was original [for me] 17/70])
https://www.virustotal.com/gui/file/78e5ab27c9ff0133a5b8b5a31c887b4e500624eee5518acdc5989f005de3059d

EDIT: Maybe of interest (for Microsoft defender "Win32/Wacapew.C!ml" false +ve) :- https://www.purebasic.fr/english/viewtopic.php?t=84192

shows VirusTotal:BEHAVIOUR/Memory Pattern Domains/ and BEHAVIOUR/Memory Pattern Urls as "upx.sf.net"

EDIT:
VirusTotal:BEHAVIOUR/Full Reports/Zenbox/
Shows, "Uses 32bit PE files", in pink, so just being 32 bit seems to now be cause for concern.

v0lt
4th February 2025, 17:58
Is the offending file compressed with UPX ?,
No packagers are used.
I tried to build in Visual Studio 2022 and got the same result. I can also try another Windows SDK, but I doubt it will help.
Damn, false +ve's growing, 19/71 (I did a rescan on VirusTotal original file, was original [for me] 17/70])
Wow. The first test was only 9 points.
The 64-bit version is still clean (https://www.virustotal.com/gui/file/62ca9ce300850ad1decb404787c0c7608f8fe2cc175668f68ae4688352818006).

This is very strange. As if these antiviruses can't work with 64-bit code. :D

Maybe antiviruses don't like the large list of built-in AviSynth functions (https://github.com/v0lt/scripted_vdplugin/blob/0.2.1/src/CAvisynth.cpp#L48). :confused:

StainlessS
4th February 2025, 19:15
by me.
VirusTotal:BEHAVIOUR/Full Reports/Zenbox/
Shows, "Uses 32bit PE files", in pink, so just being 32 bit seems to now be cause for concern.
I've not long ago (1/2 hour) viewed this today posted YT clip NetworkChuck, a trustworthy good guy <but he drinks too much coffee and talks too fast :) >]:
Your Remote Desktop SUCKS!! Try this instead (FREE + Open Source):- https://www.youtube.com/watch?v=EXL8mMUXs88
Which suggests RustDesk as a cross platform Open Source Remote Desktop app.
https://github.com/rustdesk/rustdesk/
PC/MAC/Linux/Android/IOS/WEB

x64 no problem, but x86 exe download produces (maybe) false +ve with Comodo Internet Security antimalware.

O.T. @Wonkey-Monkey, I remember that you were searching for good Linux VNC, some years back, have you tried this one (RustDesk) ?

EDIT: I will not be installng Rustdesk any time soon, got too much to do already.

wonkey_monkey
4th February 2025, 19:47
O.T. @Wonkey-Monkey, I remember that you were searching for good Linux VNC, some years back, have you tried this one (RustDesk) ?

What the... I had to go and search to check when I did that. But you just remember? :eek:

I switched back to Windows nn my work desktop in the end. I do successfully (mostly) use VNC on Ubuntu with virtual desktops.

StainlessS
4th February 2025, 20:10
Thanks.
I remember that I used to use TigerVNC (by same guys as TightVNC on Windows) on Linux Mint (Ubuntu based).

isidroco
5th February 2025, 01:54
1) x86 version works OK under Win7 x64. But x64 version gives error at start: "The procedure entry point kernel32.WaitOnAddress could not be located in the dynamic link library api-ms-win-core-synch-|1-2-0.dll", it starts but on video load gives: "Couldn't locate decompressor for format 'H264' (unknown)


The auxsetup utility now has two versions: for win32 and x64.
Removed "64" prefixes for exe and dll files.

This breaks my scripts which executes VirtualDub64.exe or VirtualDub.exe depending on filters and/or local win architecture. Please return to old naming style within same folder.

Also I used VirtualDub.exe /queryVersion to detect old version if less than 42475; but newer version gives 219 when I expect something bigger than 44282 which is the one I use now.

Win7 compatibility is important due to a lot of users (as me) use it with vintage capture cards to get VHS/Video8. Most of them needs WinXP, and some can be hacked to work with win7 which is my system for main Vdub usage.

v0lt
5th February 2025, 06:08
But x64 version gives error at start: "The procedure entry point kernel32.WaitOnAddress could not be located in the dynamic link library api-ms-win-core-synch-|1-2-0.dll"
Readme.md (https://github.com/v0lt/VirtualDub2/blob/master/Readme.md)
Minimum system requirements
x64 compatible CPU
Windows 8.1 x64 or newer
VirtualDub2 v2.1 can work on Windows 7 if you replace the FFmpeg DLL files with Windows 7 compatible ones.

My VirtualDub2 x64 kit uses only official release shared builds of FFmpeg (https://www.gyan.dev/ffmpeg/builds/#release-builds).
There are three possible solutions (https://forum.doom9.org/showpost.php?p=2006672&postcount=1409) for Windows 7 users. I won't double check these solutions, Windows 7 users will have to do it themselves and use the one that suits them.

The VirtualDub2 Win32 kit uses the ffmpeg-n7.1-latest-win32-gpl-shared-7.1.zip (https://github.com/yt-dlp/FFmpeg-Builds/releases/tag/latest) build from the yt-dlp project. I haven't tested these builds on Windows 7 and don't plan to.

This breaks my scripts which executes VirtualDub64.exe or VirtualDub.exe depending on filters and/or local win architecture. Please return to old naming style within same folder.
This will not be changed.
I would recommend creating a shared folder that will contain several different folders with different versions of VirtualDub/VirtualMod/VirtualDub2. This folder can be added to PATH and you can use a relative path from this folder to different versions of VD. This will be a more correct solution.

shekh
5th February 2025, 12:26
I'm using VD2 since a long time to improve (mostly older) videos
from all kind of devices.

Mostly I use internal and Anton's filters,
additional a few special ones (ACOBW and NDF, DeLogo, Deshaker and some MSU filters).

Some of the internal filters I never used.
Maybe I miss something with them, so I would like to ask for hints
when/ if these filters are useful:

2:1 reduction (high quality)
Which differences to filte "resize (50%)"?
Quality? Speed?

convert to floating point
Useful when ...?

gamma correct?
Useful when ...?

warp sharp, warp resize?
Both seem to produce bad results...

BTW
What does the "Save" button in filter dialog do?
(There is no "Load" etc.)

TIA

Hi
2:1 reduction (high quality): it uses 3*3 sample matrix, which is (I guess) something in between bilinear and bicubic of the resize filter. Never used/touched.

convert to floating point: this is to force fp32 quality for next filter (e.g. gamma correct).

gamma correct: "Converts video color representation between gamma space and linear space." Some operations (resize) make more sense in linear. Somewhat HDR-related.

warp sharp, warp resize: no idea.

What does the "Save" button in filter dialog do: same as File->Save project. I mostly forgot why, maybe to have it at hand while making complex filter adjustment, which may lead to crash or adverse result requiring backup.

nji
5th February 2025, 12:44
Hi shekh.
Thank you very much. :)
It's good to know indeep the tool I'm using so often.

nji
5th February 2025, 14:17
Hi
...
What does the "Save" button in filter dialog do: same as File->Save project. I mostly forgot why, maybe to have it at hand while making complex filter adjustment, which may lead to crash or adverse result requiring backup.

I re-checked.
Indeed, "Save" saves the project.
But only if you have a project defined/ loaded.
Otherwise "Save" button does (without message) not save anything!
==> If crash, the valuable filter chain is lost.
Something for the (non-existing :) ) bug list.

isidroco
5th February 2025, 15:35
This will not be changed.
I would recommend creating a shared folder that will contain several different folders with different versions of VirtualDub/VirtualMod/VirtualDub2. This folder can be added to PATH and you can use a relative path from this folder to different versions of VD. This will be a more correct solution.

Win7 agreed, workaround works ok.

But changing VirtualDub64.exe to VirtualDub.exe IMO is a mistake. My script tries to findout where VDUB is located, and which version is installed, and changes it's bahaviour according to that (even choosing x32 or x64 depending on desired filters).
Having the same name for both x32/x64 versions makes correct version usage very hard from batch.
Same with your chosen version to return: older VDUB v1.07.8 returns 28346; v1.10.2 returns 34807, v1.10.4 35491; newer VDUB2 returns 44282; I use 42475 as cut point to use or not use some functions (ie: VirtualDub.video.SetInputMatrix ). But your chosen return value: 219 completly breaks version ascending order.
I'm puzzled of why you decide to do those arbitrary breaking changes with no benefit at all.
I have to do a lot of useless changes to adapt to the new naming/version scheme and at the same time being able to run on older versions.

v0lt
5th February 2025, 16:51
I've been solving my problems with building, debugging and testing. I'm happy with everything now and I'm not going to complicate this process.

I don't know what kind of scripts you have, but I would do something like this at the beginning of the script.
rem C:\Progs\VirtualDub-1.10.4\VirtualDub.exe
rem C:\Progs\VirtualDub-1.10.4-AMD64\Veedub64.exe
rem C:\Progs\VirtualDubMod\VirtualDubMod.exe
rem C:\Progs\VirtualDub2_44282\VirtualDub.exe
rem C:\Progs\VirtualDub2_44282\VirtualDub64.exe
rem C:\Progs\VirtualDub2_v2.2\VirtualDub2.exe
rem C:\Progs\VirtualDub2_v2.2_win32\VirtualDub2.exe

SET VD_EXE="C:\Progs\VirtualDub2_v2.2\VirtualDub2.exe"

%VD_EXE% "Test.avi"

isidroco
5th February 2025, 19:14
I've been solving my problems with building, debugging and testing. I'm happy with everything now and I'm not going to complicate this process.

My script is for anyone to run ANY virtualDub version on any Windows machine. And sometimes uses x32 or x64 depending on parameters. Your /QueryVersion behaviour is unacceptable (gives an older version). I can change it for new vdub, but it's not trivial to mantain older VDub support. This is an extract of my script as an example:



set PARAM=_%*& REM _ avoid PARAM being empty if no param passed, %* are rest of parameters passed
rem delete all spaces
set PARAM=%PARAM: =%

set vdloc=C:\VirtualDub\&REM ***prefered virtualdub path goes here***

set vDub=VirtualDub.exe
set vDubCli=vdub.exe
if defined ProgramFiles(x86^) ( REM defaults on x64 windows
set vDub=VirtualDub64.exe
set vDubCli=vdub64.exe
)
IF not "%PARAM:x32=%" == "%PARAM%" ( REM x32 parameter forces 32b vdub
set vDub=VirtualDub.exe
set vDubCli=vdub.exe
)
IF not "%PARAM:fdeblk=%" == "%PARAM%" ( REM deBlock only in 32b vdub
echo ***& echo *** Using x32 vdub due to FDEBLK deblock parameter ***& echo ***
set vDub=VirtualDub.exe
set vDubCli=vdub.exe
)
IF not "%PARAM:x64=%" == "%PARAM%" ( REM x64 parameter forces 64b vdub
set vDub=VirtualDub64.exe
set vDubCli=vdub64.exe
)

FOR %%S in ( "%vdloc%","%ProgramFiles%\VirtualDub\"^
,"C:\DVD\VirtualDub\" "C:\VirtualDub\","C:\DVD\VDUB\"^
,"%ProgramFiles(x86)%\VirtualDub\" "C:\Archivos de programa\VirtualDub\" ) do (
set vdloc=%%~S& REM eliminate quotes" which are needed for spaces in dirs
rem must use !vdloc! delayed expansion instead of %vdloc% here:
IF exist "!vdloc!%vdub%" GOTO :vdfound
)
set errorStatus=VirtualDub not found: Modify vdloc path in batch or install vDub
GOTO :error
:vdFound

set oldVDub= & REM space: Enable newer VDub2 commands: use color matrix, hide i/o video in status window
set xCompr=I& REM *I* default h264 vDub internal for new Vdub
IF not "%PARAM:ch264v=%" == "%PARAM%" set xCompr=H& REM *H* h264 vfw
IF exist "%vdloc%%vDubCli%" ( rem Check if old vdub version
"%vdloc%%vDubCli%" /queryVersion >nul
if not errorlevel 42475 ( REM if ver<42475 old version of virtualDub
set noWavHeader= & REM don't use in new vdub versions
set oldVDub=// & REM bars "// " comments out newer commands
set xCompr=H& REM *H* default h264 vfw compressor for old Vdub
)
)

IF "%vDub%" == "%vDub64%" IF not exist "%vdloc%plugins64\Deshaker_64.vdf" (
set errorStatus=Please copy deshaker plugin in: %vdloc%plugins64\Deshaker_64.vdf
GOTO :error
) ELSE (
IF not exist "%vdloc%plugins32\Deshaker.vdf" (
set errorStatus=Please copy deshaker plugin in: %vdloc%plugins32\Deshaker.vdf
GOTO :error
)
)

...

nji
6th February 2025, 12:01
@v0lt

I re-checked.
Indeed, "Save" saves the project.
But only if you have a project defined/ loaded.
Otherwise "Save" button does (without message) not save anything!
==> If crash, the valuable filter chain is lost.
Something for the (non-existing :) ) bug list.

Could you de-activate the "Save" button if there is no project defined/ loaded?
Or open a "Save project" dialog?

This would prevent possibly data loss at crash.

v0lt
6th February 2025, 18:50
Could you de-activate the "Save" button if there is no project defined/ loaded?
I didn't understand anything. What "Save" button are you talking about?

nji
6th February 2025, 19:44
It's from the post (https://forum.doom9.org/showthread.php?p=2014280#post2014280)just before the virustotal issue.

jay123210599
13th February 2025, 18:45
Three things:

1. How do I move 5 seconds forward and backward in VirtualDub2?

2. This is the information for my video:

Format : Matroska
Format version : Version 4
File size : 339 MiB
Duration : 23 min 43 s
Overall bit rate : 1 999 kb/s
Frame rate : 24.052 FPS
Encoded date : 2016-10-26 10:52:38 UTC
Writing application : mkvmerge v7.9.0 ('Birds') 64bit
Writing library : libebml v1.3.1 + libmatroska v1.4.2
Attachments : CLEARG.TTF

Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High@L3
Format settings : CABAC / 6 Ref Frames
Format settings, CABAC : Yes
Format settings, Reference frames : 6 frames
Codec ID : V_MPEG4/ISO/AVC
Duration : 23 min 43 s
Bit rate : 1 803 kb/s
Nominal bit rate : 2 246 kb/s
Width : 720 pixels
Height : 480 pixels
Display aspect ratio : 16:9
Original display aspect ratio : 3:2
Frame rate mode : Variable
Frame rate : 24.052 FPS
Original frame rate : 29.970 (30000/1001) FPS
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.217
Stream size : 306 MiB (90%)
Writing library : x264 core 120 r2164 da19765
Encoding settings : cabac=1 / ref=6 / deblock=1:1:1 / analyse=0x3:0x133 / me=umh / subme=7 / psy=1 / psy_rd=0.40:0.00 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=1 / 8x8dct=1 / cqm=2 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-2 / threads=1 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=5 / b_pyramid=0 / b_adapt=1 / b_bias=0 / direct=3 / weightb=1 / open_gop=0 / weightp=2 / keyint=300 / keyint_min=29 / scenecut=40 / intra_refresh=0 / rc_lookahead=40 / rc=2pass / mbtree=1 / bitrate=2246 / ratetol=1.0 / qcomp=0.60 / qpmin=10 / qpmax=51 / qpstep=4 / cplxblur=20.0 / qblur=0.5 / ip_ratio=1.40 / aq=1:0.60
Default : Yes
Forced : No

When I extract images out of it, I want the resolution to be 853x480 instead. I tried adjusting the aspect ratio but it didn't work. Can someone help me?

3. Say I extracted an image from one video. But when I closed it (but not VirtualDub2) and opened another video, when I decided to extract an image from that video, it uses the name of the old video instead of the new one. How do I fix that?

SeeMoreDigital
13th February 2025, 20:12
When I extract images out of it, I want the resolution to be 853x480 instead. I tried adjusting the aspect ratio but it didn't work. Can someone help me?

I told you how to do this here: https://forum.doom9.org/showthread.php?p=2012807#post2012807

jay123210599
13th February 2025, 20:37
I told you how to do this here: https://forum.doom9.org/showthread.php?p=2012807#post2012807

But I want to do it naturally without using any filters.

SeeMoreDigital
13th February 2025, 20:51
But I want to do it naturally without using any filters.That's not possible as the native 720x480 image pixel resolution needs to be 'resized' to 852x480 pixels!

jay123210599
13th February 2025, 23:36
That's not possible as the native 720x480 image pixel resolution needs to be 'resized' to 854x480 pixels!

And my other two questions?

v0lt
14th February 2025, 04:58
When I extract images out of it, I want the resolution to be 853x480 instead. I tried adjusting the aspect ratio but it didn't work. Can someone help me?
If you are cropping a frame in YUV 4:2:0 format, then cut off an even number of pixels on each side.

If you are using resize, then use the built-in filter functionality.
Filter: Resize > Codec-friendly sizing > Multiples of 2 (8 is better).

Regardless of the format, the final result should be a multiple of 2 (preferably 8).
This has already been written about here.

And my other two questions?
People are not obligated to answer all your questions. This is not an exam.

shekh
17th February 2025, 13:33
1. How do I move 5 seconds forward and backward in VirtualDub2?


Go to frame (Ctrl+G)
Tab to "Jump to frame at time" field
type +5s or -5s

rgr
18th February 2025, 00:20
scripted.vdplugin_x64_fix.7z (https://www.mediafire.com/file/7kthpit06y2rdb1/scripted.vdplugin_x64_fix.7z/file)

Something is not quite working though. Today VDub reported to me twice that the script editor could not save the avs file. After a while the program crashed, and then it turned out that the avs file had zero length. Today it happened to me twice and I had to rewrite the avs script.

v0lt
18th February 2025, 04:42
Something is not quite working though.
Please use the new version of the plugin from the VirtualDub2 v2.2.0.755 release (https://forum.doom9.org/showthread.php?p=2014143#post2014143) or from the GitHub repository. (https://github.com/v0lt/scripted_vdplugin/releases)

rgr
19th February 2025, 15:43
1. Filter data file (default Deshaker.log).
2. Folder with .vdproject file.

I load the project to 44282 -- I can leave the field empty, the plugin uses the current folder.
I load the same project to 667 -- I have to fill in the field with the full path (I don't know where it looks for it then, but not in the project path)..

OK, I figured out where the problem is.

1. If I first run VDub, and then *load the project via File->Load Project*, everything is OK. The plugin sees the project path as "current".
2. If I first run VDub, and then *drag the project into it*, the plugin saves its data in the VDub directory -- it sees this as "current" (I also had this entered as the startup directory in the shortcut from which I run VDub). But after deleting this data, it still does not see the project folder as current, but I have not checked what the "current" folder is for the plugin.

I do not know if this is how it should be, so I am reporting the problem.

(In the vdproject file, the project path is entered as // $location if that matters)

v0lt
19th February 2025, 19:22
VirtualDub2_v2.2.0.803_unicode (https://disk.yandex.ru/d/R3Ob8yREy4ChvA)
Test build. The application has been rewritten to use CharacterSet=Unicode in the project properties.

PS: updated to 2.2.0.803.

isidroco
22nd February 2025, 03:25
Will you consider changing /queryVersion reply to some # higher than older versions (ie: 45nnn )

v0lt
22nd February 2025, 04:44
Will you consider changing /queryVersion reply to some # higher than older versions (ie: 45nnn )
I don't understand you.

StainlessS
22nd February 2025, 11:18
I dont offhand know how to show the /queryVersion thingy that he mentions (CLI is rusty).
But this is I think what he's going on about.

vudb64 /?

VirtualDub CLI Video Processor Version (build 44282/release-AMD64) for AMD64
/autorecover Scan for auto-recover files
/capture Switch to capture mode
/capaudiorec [on|off] Enable/disable capture audio recording
/capaudioplay [on|off] Enable/disable capture audio playback
/capchannel <ch> [<freq>] Set capture channel (opt. frequency in MHz), use antenna:<n> or cable:<n> to force mode
/capdevice <devname> Set capture device
/capfile <filename> Set capture filename
/capfileinc <filename> Set capture filename and bump until clear
/capfilealloc <size> Preallocate capture file in megabytes
/capstart [<time>[s]] Capture with optional time limit (default is minutes, use 's' for seconds)
/F <filter> Load filter
/edit <instance> Open video filter configure dialog
/h Disable exception filter
/hexedit [<filename>] Open hex editor
/hexview [<filename>] Open hex editor (read-only mode)
/resetall Reset all settings to defaults
/s <script> Run a script
/i <script> [<args...>] Invoke script with arguments
/cmd <command> Run quick script command
/c Clear job list
/b <src-dir> <dst-dir> Add batch entries for a directory
/p <src> <dst> Add a batch entry for a file (SaveAVI)
/SaveAVI <src> <dst>
/ExportViaEncoderSet <src> <dst> <set>
/RunNullVideoPass <src>
/SaveAVI * <dst> (* to use source loaded with other commands)
/RunNullVideoPass *
/ExportViaEncoderSet * <dst> <set>

/r Run job queue
/master <file> Join shared job queue in non-autostart mode
/slave <file> Join shared job queue in autostart mode
/portable Switch to portable settings mode
/priority <pri> Start in low, belowNormal, normal, aboveNormal, high, or realtime priority
/queryVersion Return build number
/safecpu Do not use CPU extensions on startup
/min Start minimized
/max Start maximized
/topmost Create window as always-on-top
/x Exit when complete


Maybe it dont properly return [EDIT: set errorlevel] the build number.

EDIT: from post #1539

set oldVDub= & REM space: Enable newer VDub2 commands: use color matrix, hide i/o video in status window
set xCompr=I& REM *I* default h264 vDub internal for new Vdub
IF not "%PARAM:ch264v=%" == "%PARAM%" set xCompr=H& REM *H* h264 vfw
IF exist "%vdloc%%vDubCli%" ( rem Check if old vdub version
"%vdloc%%vDubCli%" /queryVersion >nul
if not errorlevel 42475 ( REM if ver<42475 old version of virtualDub
set noWavHeader= & REM don't use in new vdub versions
set oldVDub=// & REM bars "// " comments out newer commands
set xCompr=H& REM *H* default h264 vfw compressor for old Vdub
)
)


EDIT: Is this correct for cli logic ??? [maybe something like "if not errorlevel < 42475"

if not errorlevel 42475 ( REM if ver<42475 old version of virtualDub

v0lt
22nd February 2025, 13:45
I think it is wrong to use the build number to compare executables of different projects with different executable file names.

If you want to know the version number, you can do it like this:
@ECHO OFF
SET FILE_NAME="VirtualDub2.exe"
FOR /F "USEBACKQ" %%F IN (`powershell -NoLogo -NoProfile -Command ^(Get-Item %FILE_NAME%^).VersionInfo.FileVersion`) DO (SET FILE_VERSION=%%F)
ECHO %FILE_NAME% %FILE_VERSION%
PAUSE

I will fix the "/queryVersion" command for the next release. But it will not give a number greater than the build number of the original VirtualDub 1.10.4.

wonkey_monkey
22nd February 2025, 16:45
This is only a teeny tiny thing, but when a video is 100% of the window width, but doesn't exceed the window height, it still has a raised border to the left and right.

Could that border be shifted off the edges of the window in such a case?

LigH
22nd February 2025, 17:27
EDIT: Is this correct for cli logic ???

Yes, ERRORLEVEL comparison is implicitly "greater than or equal", but there are 3-letter verbose operators (e.g. "EQU").

https://ss64.com/nt/errorlevel.html

StainlessS
23rd February 2025, 00:24
Ta LigH :)

v0lt
1st March 2025, 06:46
Test build VirtualDub2_v2.3.0.819 (https://disk.yandex.ru/d/R3Ob8yREy4ChvA)
VirtualDub2 is now a Unicode application.
Improved support for file paths with Unicode characters.
Removed obsolete "Disk I/O write mode" setting.

PS: updated to 2.3.0.819.

isidroco
1st March 2025, 23:29
I don't understand you.

My script takes in account WHICH version of VirtualDub is installed and changes it's behaviour accordingly. For that basically I use something like:


vDub64.exe /queryVersion >nul
if not errorlevel 42475 ( REM if ver<42475 old version of virtualDub
set noWavHeader= & REM don't use in new vdub versions
set oldVDub=// & REM bars "// " comments out newer commands
set xCompr=H& REM *H* default h264 vfw compressor for old Vdub
)


In a batch, "IF ERRORLEVEL 100" gives true if error is Less or Equal than 100.
As you can see in my example, if the errorlevel returned by /queryVersion is LESS than 42475, implies that is an OLD version of VirtualDub and some workarounds are SET for it.
Your NEW version of VirtualDub breaks natural ascending version order. And ALSO breaks program name (it has ALWAYS been VirtualDub.exe / VirtualDub64.exe ). Whats worst, now both x32 and x64 versions have SAME NAME: VirtualDub2.exe

All those breaking things breaks consistency, and makes your program unusable for me: My script decides to use VirtualDub x32 if certain filters that only exist on x32 are used, or else uses faster x64 platform (h264/h265 are at least twice as fast) under x64. But my script must work on ANY virtualDub version, and your unneeded and unjustified changing both, VirtualDub names and version number lower than before breaks everything and makes a nightmare of exceptions.

I'm dissapointed that instead of improving we have all these problems. And I can't see any advantage in changing an already established naming and versioning convention that you are refusing to follow. VirtualDub x32/x64 has always been on same folder...

v0lt
2nd March 2025, 05:12
And ALSO breaks program name (it has ALWAYS been VirtualDub.exe / VirtualDub64.exe ).
No. You often forget about "Veedub64.exe".

I'm dissapointed that instead of improving we have all these problems. And I can't see any advantage in changing an already established naming and versioning convention that you are refusing to follow.
I suggested you earlier suggested checking the name of the folder name and the executable file. I also showed how to get the version of the executable file. You don't want this - that's your right. My right to make my version of VirtualDub2 as I like.

VirtualDub x32/x64 has always been on same folder...
You are writing a lie.
Avery Lee released 32 and 64 bit versions of VirtualDub in two different archives (https://virtualdub.sourceforge.net/). I don't remember him recommending unpacking the two versions into the same folder.

isidroco
2nd March 2025, 14:42
No. You often forget about "Veedub64.exe".....
You are writing a lie.
Avery Lee released 32 and 64 bit versions of VirtualDub in two different archives (https://virtualdub.sourceforge.net/). I don't remember him recommending unpacking the two versions into the same folder.

What I meant is that it was always possible to put everything on one folder.
Agreed about Veedub64.exe. But it has never had the SAME name, almost no x86/x64 utility has the same name (ie: PSTOOLS has 64 appended to each utility). If VirtualDub folders are on PATH, it's impossible to know which version will be called when you write VirtualDub2.exe on command prompt. It only creates possible misunderstanding and errors. I would understand if there's an advantage of doing that, but I can't see any. Using same name for two different programs is a mistake. Choose the name that you want, but please use different naming for x86/x64.

You didn't answer about breaking natural version ascending order.

v0lt
2nd March 2025, 15:32
What I meant is that it was always possible to put everything on one folder.
There is VirtualDub2 v2.1.3.667 x64 and win32 (https://github.com/v0lt/VirtualDub2/releases/tag/2.1.3), in which the EXE files are named as you want. But it seems you did not even try to write everything in one folder. Otherwise you would have realized that one of the versions would not work properly.

You didn't answer about breaking natural version ascending order.
I answered (https://forum.doom9.org/showthread.php?p=2015240#post2015240). The full version number increases monotonically.

I think your approach to defining the VirtualDub type is wrong. I will not support it.

I would make two variables.
The first variable defines the VirtualDub type: original VirtualDub, VirtualDubMod or VirtualDub2.
The second variable defines the architecture: win32 or x64.

isidroco
2nd March 2025, 21:35
Otherwise you would have realized that one of the versions would not work properly.
...
The first variable defines the VirtualDub type: original VirtualDub, VirtualDubMod or VirtualDub2.
The second variable defines the architecture: win32 or x64.

I didn't realize that, as I didn't put it on use because of the Versioning issue.
Either you should use version numbers starting from 45000 or rename this project to VirtualDub3, as there already is this one with same name: https://sourceforge.net/projects/vdfiltermod/ and version of that one is 44282.
Even on different folders, having same name for both versions will make mistakes possible when launching without specifying full path.

I can't understand why you refuse to return a version number higher than previous VirtualDub versions.

v0lt
3rd March 2025, 16:01
In version 2.3.0.819, the "/queryVersion" command has been deprecated and now always returns 50000.

isidroco
3rd March 2025, 21:01
In version 2.3.0.819, the "/queryVersion" command has been deprecated and now always returns 50000.
Thanks, I'm really sorry of being so insistant and bothering you, when I'm grateful of all your work to continue improving this. I would appreciate /queryVersion not being deprecated, but just be used like you did before but starting in 50xxx ie: 50819, etc
And also I would be greatful, if you can consider having different names for x32/x64 versions. As my script is given with vdub name and must figure out which version (by calling /queryVersion) and platform (x32/x64) based on it's name. As a workaround I could check if "64" is on it's path, but it's a weak solution, as it may be altered if user decides to use another folder name.

Hellboy.
3rd March 2025, 22:36
isidroco
Stop trying to obligate v0lt to change his VirtualDub because you don't want to change your script.
You haven't mentioned a real reason why you can't change your script.
All the excuses you mentioned don't make any sense.
The only conclusion i can see is that you didn't write that script and you don't know how to change it.

blob2500
4th March 2025, 09:57
Hi. If I set the VirtualDub.ini file, I found that Virtualdub2 is not completely portable; for example regarding the parameters of the integrated x264 codec, it releases the values ​​in the windows registry. I think this should not happen, or am I wrong?

https://i.postimg.cc/BXBC2t1R/vd-reg-x264.jpg (https://postimg.cc/BXBC2t1R)

shekh
4th March 2025, 10:28
blob2500

It works that way. VirtualDub.ini holds settings of the main app only, any plugin is on its own. (I still consider this behaviour of codec portable since it does not require installation and registry settings do little harm if any).

blob2500
4th March 2025, 10:40
I understand, but with other internal codecs, even plugins, it doesn't happen. Examples: Lagarith, FFmpeg x264...

If they were user-added plugins it would make sense, but since they are internal, provided with the basic package, they should all behave the same way.

isidroco
4th March 2025, 15:04
isidroco
Stop trying to obligate v0lt to change his VirtualDub because you don't want to change your script.
You haven't mentioned a real reason why you can't change your script.
All the excuses you mentioned don't make any sense.
The only conclusion i can see is that you didn't write that script and you don't know how to change it.

You are extremely disrespectful. I'm not forcing anyone, and explained the lack of logic in having a NEW version of a program with a value less than previous. Also explained that I use BOTH x32 and x64 virtualDubs, and it's difficult to tell which one you are using if they have the SAME name, and I can't predict which folder name user will use. I can change my script, but I also want to mantain compatibility with previous versions as I always did.
Now I'm adding a whole avisynth Noise reduction and preparing an installer because it's getting difficult for a regular user to install and use.

Leo 69
20th March 2025, 17:30
v0lt,

Do you know why I get artifacts every time I try to play any H.265 10-bit video in VirtualDub? The issue is very easy to reproduce with basically any 10-bit video encoded with H.265 codec. When played back, about 50% of video is shown normally and 50% is filled with artifacts like this. What can be done? Also, when I try to convert any such video into any other format from within VirtualDub, these artifacts will be in the resulting file as well. So could there be anything wrong with the built-in decoder?

https://i.postimg.cc/6ppkSqfz/2025-03-21-002410.png

v0lt
20th March 2025, 19:16
The issue is very easy to reproduce with basically any 10-bit video encoded with H.265 codec.
I don't have your "any video".
I have "LG Colors of Journey HDR UHD 4K Demo.mkv" and it plays without artifacts in VirtualDub2 x64 v2.3.0.829 (https://disk.yandex.ru/d/R3Ob8yREy4ChvA).

So could there be anything wrong with the built-in decoder?
The 64-bit build 2.3.0.829 uses FFmpeg 7.1.1 (official build). I don't know what could be wrong there.

Leo 69
20th March 2025, 22:31
I don't have your "any video".
I have "LG Colors of Journey HDR UHD 4K Demo.mkv" and it plays without artifacts in VirtualDub2 x64 v2.3.0.829 (https://disk.yandex.ru/d/R3Ob8yREy4ChvA).


The 64-bit build 2.3.0.829 uses FFmpeg 7.1.1 (official build). I don't know what could be wrong there.

Thanks for replying. Upon inspection, I found that 8-bit H.265 videos also have the same issue. Could you please try playing back this sample on your end?

https://app.filen.io/#/d/022ef330-5369-4ae7-b7a0-562f43839e47%23znUBKaMTjewwQfduQXjgBv8dGiwdMQmi

I also tried the LG : Colors Of Journey HDR video and can confirm that it doesn't have this issue. I also have several other 60 FPS demos and they don't have this issue, but videos with more regular framerates (23.976, 25 and 29.97) have.

SeeMoreDigital
20th March 2025, 22:35
v0lt,

Do you know why I get artifacts every time I try to play any H.265 10-bit video in VirtualDub?
All fine at my end when feeding VirtualDub2 v2.1.3.667 with HEVC streams extracted from 4K UHD discs.

Leo 69
20th March 2025, 22:39
All fine at my end when feeding VirtualDub2 v2.1.3.667 with HEVC streams extracted from 4K UHD discs.

Have you tried the sample I posted?

LigH
21st March 2025, 11:56
Could you please try playing back this sample on your end?

https://app.filen.io/#/d/022ef330-5369-4ae7-b7a0-562f43839e47%23znUBKaMTjewwQfduQXjgBv8dGiwdMQmi

VirtualDub2 r44282 (release): OK
VirtualDub2 r44282 + avlib 0.7.1.220: broken
VirtualDub2 v2.2.0.755: broken
VirtualDub2 v2.3.0.829: broken

v0lt
21st March 2025, 13:14
The "avlib_vdplugin" log when playing "sample.mkv" looks like this:
FFLog: Could not find ref with POC 14
FFLog: Could not find ref with POC 14
FFLog: Could not find ref with POC 14
...
FFLog: Could not find ref with POC 17
FFLog: Could not find ref with POC 17
FFLog: Could not find ref with POC 17
I found a similar issue: https://github.com/mpv-player/mpv/issues/3440

SeeMoreDigital
21st March 2025, 13:17
VirtualDub2 r44282 (release): OK
I can confirm this release does indeed fix Leo 69's issue ;)

Edit: Having a 'variable frame rate' doesn't help. But re-muxing the hevc elementary stream to have a constant frame didn't help either.

LigH
21st March 2025, 13:21
I found a similar issue: https://github.com/mpv-player/mpv/issues/3440

There I read that there are reasons (e.g. VFR, but also High Bit Depths) which may cause wrong seeking. Issue got closed only because "wrong muxing" was blamed. But if an older version works without issues, there seems to be a more compatible fallback technique to determine a valid reference frame?

Leo 69
21st March 2025, 15:30
I just wanted to add that variable frame rate doesn't really play a role, I have plenty of videos with CFR which VirtualDub has same issues with (but not with all videos).

v0lt
21st March 2025, 20:58
I found this ticket - https://trac.ffmpeg.org/ticket/9805.
There is a problem with ffplay, but ffplay works fine for me.
There are links in the ticket, but they do not explain how to solve the problem in applications using ffmpeg.

qyot27
21st March 2025, 21:19
There I read that there are reasons (e.g. VFR, but also High Bit Depths) which may cause wrong seeking. Issue got closed only because "wrong muxing" was blamed. But if an older version works without issues, there seems to be a more compatible fallback technique to determine a valid reference frame?
If it's the sort of 'wrong muxing' I'm thinking of (or at least in the same ballpark), then remuxing yourself using MKVToolNix and then checking if the new file is broken would confirm that.

LigH
21st March 2025, 22:27
Original sample.mkv was (according to metadata) multiplexed with mkvmerge v90.0.

Remultiplexed with mkvmerge v91.0 (https://www.mediafire.com/file/aws4t7697los6sk/sample2.mkv/file): same result (works in r44282, fails with any newer avlib).

Remultiplexed with Box4 v3 to MP4 (https://www.mediafire.com/file/vcof2shusj46u2d/sample.mp4/file): same result (works in r44282, fails with any newer avlib).

v0lt
23rd March 2025, 18:00
Test build VirtualDub2 v2.3.0.838 (https://disk.yandex.ru/d/R3Ob8yREy4ChvA).
I tried to fix the problem with some HEVC streams.
Hopefully nothing else was broken.

jay123210599
25th March 2025, 14:12
Say I want to zoom in on this specific part of the video (meaning only show that specific selection). How do I do that?

https://imgur.com/Sucpw45

poisondeathray
25th March 2025, 15:36
Say I want to zoom in on this specific part of the video (meaning only show that specific selection). How do I do that?

https://imgur.com/Sucpw45

If you mean the frame selection in the screenshot , edit=>crop to selection

If you mean spatially, to some elements of the picture such as eyes etc.., apply the crop filter and resize filter

SeeMoreDigital
30th March 2025, 16:26
Out of interest...

If I wanted to use the 'x264 8-bit codec' to encode a Blu-ray disc compatible video stream, what additional command lines would I need to put in the 'Extra command line' box?

Cheers

nji
30th March 2025, 16:40
Say I want to zoom in on this specific part of the video (meaning only show that specific selection). How do I do that?

https://imgur.com/Sucpw45

Try this (https://www.rationalqm.us/motion/motion.html)

LigH
30th March 2025, 16:45
@SeeMoreDigital

Possibly among others, most probably: --bluray-compat (I guess).

Calling Selur with more experience for support...

Selur
30th March 2025, 16:58
See https://forum.doom9.org/showthread.php?t=154533 under '2.1 Mandatory parameters', the mandatory options are really needed and to be compatible with most authoring software, make sure to use "--slices 4" when using level 4.1, also I would add every option under '2.2 Optional parameters' if possible.

Cu Selur

LigH
30th March 2025, 20:31
:thanks:

And I guess exporting raw AVC video from the x264 codec, without a container, is an own issue to be thought through thoroughly.

SeeMoreDigital
31st March 2025, 10:41
Hello again,

So far I've added --bluray-compat --slices 4 into the command line area but at the end of the encoding process I received the following 'warning' message: -

https://i.ibb.co/JRr4tx0B/Screenshot-2025-03-31-102205.png

What do I need to do to resolve this?

LigH
31st March 2025, 12:04
Add also VBV parameters related to the Profile@Level, resolution, and frame rate of the material, based on the Blu-ray compatibility table.

SeeMoreDigital
31st March 2025, 12:44
Add also VBV parameters related to the Profile@Level, resolution, and frame rate of the material, based on the Blu-ray compatibility table.I'm encoding (what is essentially) a still image into an 1920x1080 AVC video stream at 1000kbps ARB at 24.000fps. Would the following work:

--vbv-bufsize 1000 --vbv-maxrate 3000 is allowed

v0lt
16th April 2025, 18:15
VirtualDub2 v2.3.0.845 (https://github.com/v0lt/VirtualDub2/releases/tag/2.3.0)

Changes:
VirtualDub2 is now a Unicode application.
Improved support for file paths with Unicode characters.
Removed obsolete "Disk I/O write mode" setting.
The "/queryVersion" parameter has been deprecated.
Updated zlib 1.3.1.

Updated avlib-1.vdplugin to version 0.7.1.264.
- FFmpeg 7.1.1 is now supported.
- Fixed crash on problematic AAC audio.
- Fixed missing sound for some MP4 files with AAC audio.
- Fixed a crash when playing video files with changing video frame size.
- Ignore m3u playlist files.
- Fixed frame retrieval for some HEVC streams.
- Added video encoder SVT-AV1.
- Minor optimizations.

Updated scripted.vdplugin to version 0.2.2.100.
- Scintilla 5.5.6 updated.
- Lexilla 5.4.4 updated.

Also available is old VirtualDub2 44282 with updated avlib.vdplugin (https://github.com/v0lt/avlib_vdplugin/releases/tag/0.7.1.264).

rgr
17th April 2025, 13:14
Since changing the program version, folder, etc. VirtualDub doesn't want to show up in the "Open With" list (I mean the context menu, not the window with "more" applications).
I used to have VirtualDub there, then I changed the folder, new version etc. and since then it doesn't want to show up in this menu, even when I make it the default application for e.g. avs.

The only thing I've googled is that others also have this problem with VirtualDub.
How do I fix this?

https://www.sevenforums.com/attachments/tutorials/167647d1486576054t-open-add-program-open_with.jpg

v0lt
17th April 2025, 15:56
Since changing the program version, folder, etc. VirtualDub doesn't want to show up in the "Open With" list (I mean the context menu, not the window with "more" applications).
I used to have VirtualDub there, then I changed the folder, new version etc. and since then it doesn't want to show up in this menu, even when I make it the default application for e.g. avs
What you write is not a VirtualDub problem. It is an old Windows bug.
https://superuser.com/questions/91655/open-with-dialog-ignores-my-selection

jay123210599
19th April 2025, 14:15
I noticed that sometimes .M2TS files don't work properly with VirtualDub2. The videos often glitch out and it skips some keyframes. How do I fix that, other than remuxing them into other container formats?

v0lt
19th April 2025, 17:09
I noticed that sometimes .M2TS files don't work properly with VirtualDub2.
In the file open dialog with the "All media types" filter active (default) you will not see any .m2ts files. This is because MPEG transport stream is not fully supported for obvious reasons. Use tools that will build by analyzing the entire file (e.g. AVISynth > FFmpegSource (http://avisynth.nl/index.php/FFmpegSource)).

jay123210599
19th April 2025, 22:46
In the file open dialog with the "All media types" filter active (default) you will not see any .m2ts files. This is because MPEG transport stream is not fully supported for obvious reasons. Use tools that will build by analyzing the entire file (e.g. AVISynth > FFmpegSource (http://avisynth.nl/index.php/FFmpegSource)).

How would that work, exactly?

LigH
22nd April 2025, 15:26
How do I fix that, other than remuxing them into other container formats?

In fact, exactly this is recommendable when working with VirtualDub2. I would probably prefer MKVtoolnix for MKV or MP4Box + some UI for MP4 as result. Or maybe Clever FFmpeg GUI.

If not, you can let e.g. StaxRip create an Avisynth script that loads the M2TS as video source with FFMS2 or L-SMASH Works plugin, if you don't dare to write that little script manually. (Note: Using L-SMASH Works, i.e. LSMASHSource.dll, you need to use LwLibavVideoSource for M2TS files to create an additional LWI index file; LSMASHVideoSource only works with ISO Base Media files like MP4, MOV, FLV, 3GPP - which already contain an index chunk.)

rgr
23rd April 2025, 11:28
What you write is not a VirtualDub problem. It is an old Windows bug.
https://superuser.com/questions/91655/open-with-dialog-ignores-my-selection

Yes, I have read these and similar threads and unfortunately I have no solution.

rgr
23rd April 2025, 11:30
I noticed that sometimes .M2TS files don't work properly with VirtualDub2. The videos often glitch out and it skips some keyframes. How do I fix that, other than remuxing them into other container formats?

I used to work with MTS files in VDub. The preview was glitchy when seeking, but the output file was fine.
This was easily fixed with ffmpeg (ffmpeg -c copy).

v0lt
25th April 2025, 08:04
Yes, I have read these and similar threads and unfortunately I have no solution.
Then use regedit.exe to manually find and delete all keys with old paths to VirtualDub2.

LigH
30th April 2025, 13:47
There are workflows not recommended to use in VirtualDub2 (tested with release 44282, 2.2.0.755 and 2.3.0.845)...

I opened a 4K UHD video from a VIOFO 229 Pro dashcam, which plays fine when I let it play linearly or skip through frame-by-frame.

Then I selected a range (800 frames), the internal x264 8-bit video encoder (CRF 18, Slower, --nr 100) and the FFMPEG AAC audio encoder, saved the result in an MP4 +faststart. The playback in MPC-BE shows video artifacts which seem to be caused by wrong motion prediction references. When I open the result in VDub2 again, it plays fine without issues, until frame 781:
---------------------------
VirtualDub Error
---------------------------
requested frame not found; next valid frame = 783
---------------------------
OK
---------------------------


Same procedure with an intermediate AviSynth script using L-SMASH Works (LSMASHVideo/AudioSource for the MP4 source): Same issue.

Same script processed through external x264, QAAC and FFMPEG: Perfect result.

May the internal x264 codec have some issues with large frames and random access at the same time?

v0lt
30th April 2025, 18:17
May the internal x264 codec have some issues with large frames and random access at the same time?
No. You have a problem with getting the right frame from the container and then decoding it. Encoders are not used for this.

LigH
30th April 2025, 18:26
So this is a difference between VirtualDub2 multiplexing the MP4 incorrectly and ffmpeg multiplexing the MP4 correctly?

I can provide files if you want to have a look.

v0lt
1st May 2025, 05:30
I can provide files if you want to have a look.
Please provide your file.
This is a mandatory step when writing such bug reports. The developers do not have your file. Also, the developers do not have user "any files".

LigH
1st May 2025, 07:19
:o I'm sorry, my fault. Missed a little difference between the x264 options in VDub2 and in the batch. It makes a difference whether you use preset "Slow" or "Slower". That on UHD material will result in different GOP attributes, and some may exceed the support of a HW decoder in my GPU.

So, instead, uhm: "Thanks, Nvidia"? :angry:

v0lt
18th May 2025, 19:28
Test build VirtualDub2_v2.3.1.867+avlib_vdplugin_1.0.0.357 (https://disk.yandex.ru/d/R3Ob8yREy4ChvA)

Updated avlib-1.vdplugin to version 1.0.0.357:
The FFmpeg 7.1.1 x64 build from BtbN is used.
Added saving and reading of encoder settings from the registry.
Added hardware video encoders NVENC, QSV, AMF for H.264 and HEVC.
Added hardware video encoders NVENC, AMF for AV1.
Cosmetic changes.

SupermanTV
21st May 2025, 00:08
Hello @vOlt..
Just as a heads-up, on the latest Beta release VirtualDub2_v2.3.1.867 + avlib_vdplugin_1.0.0.357..
Capturing with ProRes crashes and will not proceed.
I tested this Beta with the avlib-1.vdplugin 0.7.1.264 from the current Stable release v2.3.0.845 and then it works normal.
Maybe you can look into that if possible..
Thank you.

v0lt
21st May 2025, 04:43
Just as a heads-up, on the latest Beta release VirtualDub2_v2.3.1.867 + avlib_vdplugin_1.0.0.357..
I do not confirm.
I do not confirm. Show a screenshot of the VirtualDub window with the error.

SupermanTV
21st May 2025, 05:13
I'm on Windows 10 up-to-date.

Screenshot:

https://imgbox.com/jWvrPRgO

v0lt
21st May 2025, 15:44
What is your frame size and format?
https://i.ibb.co/TBLs6Kpr/camera-format.png (https://ibb.co/TBLs6Kpr)

SupermanTV
21st May 2025, 16:16
What is your frame size and format?
https://i.ibb.co/TBLs6Kpr/camera-format.png (https://ibb.co/TBLs6Kpr)

1920x1080 / 29.97 / YUY2

v0lt
21st May 2025, 17:17
I was unable to reproduce the issue by encoding a 1920x1080 test video to Prores 420YUV 10-bit hq.
New FFmpeg DDLs may not work correctly for your computer. Try FFmpeg DDLs from v2.3.0.845.

SupermanTV
21st May 2025, 17:47
I was unable to reproduce the issue by encoding a 1920x1080 test video to Prores 420YUV 10-bit hq.
New FFmpeg DDLs may not work correctly for your computer. Try FFmpeg DDLs from v2.3.0.845.

Yes, it's something in this latest avlib-1.vdplugin..

As I mentioned before, I tested this Beta with the avlib-1.vdplugin 0.7.1.264 from current Stable release v2.3.0.845 and that works!!
Tested on AMD Ryzen 7 and FX-8370.

So from now on, I'll just have to replace the avlib plugin in future releases.
Thank you.

v0lt
21st May 2025, 17:53
As I mentioned before, I tested this Beta with the avlib-1.vdplugin 0.7.1.264 from current Stable release v2.3.0.845 and that works!!
Please copy FFmpeg DDLs from v2.3.0.845 to v2.3.1.867 to see if the problem is in FFmpeg or VirtualDub2.

avcodec-61.dll
avformat-61.dll
avutil-59.dll
swresample-5.dll
swscale-8.dll

SupermanTV
21st May 2025, 18:09
Please copy FFmpeg DDLs from v2.3.0.845 to v2.3.1.867 to see if the problem is in FFmpeg or VirtualDub2.

avcodec-61.dll
avformat-61.dll
avutil-59.dll
swresample-5.dll
swscale-8.dll

I just did that to comply with your request, and it doesn't work either..

It's related to the latest avlib_vdplugin_1.0.0.357, because as soon as I replace that with the older avlib-1.vdplugin 0.7.1.264 it works.

v0lt
22nd May 2025, 04:34
Can you reproduce the crash in normal mode (not capture mode)?
x64 or win32?

SupermanTV
22nd May 2025, 05:41
Can you reproduce the crash in normal mode (not capture mode)?
x64 or win32?

I can confirm the same crash in Normal mode trying to convert/encode a video to ProRes.. (x64).

I also tested this with Beta win32 version and same issue!!
Crash in both Capture and Normal mode.

LigH
22nd May 2025, 13:04
Capturing with ProRes crashes and will not proceed.

Do you have any details about the kind and possible reason of the crash? You know, reasons can be very different, like e.g. a missing runtime DLL or an unsupported CPU instruction ...

SupermanTV
22nd May 2025, 18:05
I'm attaching the crash report..

Things I'm wondering about as possible causes:

1 - AMD chips? I only tested on my PC (AMD FX8370 *Win10 latest), and my laptop (AMD Ryzen 7 *Win11 latest).
2 - Anything different with the Compiler used?
3 - Maybe backtracking changes made from the Current Stable version.
(*like this one: "Added saving and reading of encoder settings from the registry.")
Would that affect the way the avlib_vdplugin communicates with FFMPEG BtbN maybe, not plugging ProRes codec properly?

v0lt
22nd May 2025, 19:24
Attachments are best posted on file sharing services.
Plain text can be posted on Pastebin.com.

PS: I checked encoding in Prores on two computers and one laptop. At my request, a colleague checked on his computer. There were no crashes.

SupermanTV
22nd May 2025, 23:11
Attachments are best posted on file sharing services.
Plain text can be posted on Pastebin.com.

PS: I checked encoding in Prores on two computers and one laptop. At my request, a colleague checked on his computer. There were no crashes.

Thanks for pointing out.. Here's the log:
https://pastebin.com/ASeASUiQ

Did you test on AMD chips?

v0lt
23rd May 2025, 05:06
Did you test on AMD chips?
Yes. AMD Ryzen 3 3200G.

SupermanTV
23rd May 2025, 05:16
Yes. AMD Ryzen 3 3200G.

I see.. Oh well then, I'll just keep replacing the avlib with avlib-1.vdplugin 0.7.1.264.. I'm ok with that.

Thanks a lot for looking into it.

LigH
23rd May 2025, 12:33
Windows 10 Pro (migrated from a Windows 7), AMD Ryzen 5, converting from a FullHD AVC recorded by a DSLR: No crash.

SupermanTV
23rd May 2025, 19:41
Windows 10 Pro (migrated from a Windows 7), AMD Ryzen 5, converting from a FullHD AVC recorded by a DSLR: No crash.

Thanks for testing too, LigH..
It's gotta be something within my settings.

coolgit
9th June 2025, 18:58
I recently noticed that (some?) HD movies (1920x1080p, YUV4:2:0)
which are not explicitely labeled as bt.709
are shown in VD2 orig pane as if VD2 takes them as bt.609
(esp. this typical small shift red/yellow to green/blue).

If I use alias format filter as first filter and choose bt.609
both panes (orig and result) are the same.
If choosing bt.709 in the filter the result pane is more red/yellow than the orig pane.
==> Conclusion: orig movie is colorspace bt.609.

BUT:
The orig movie actually is the red/yellow one!
At least MPC-HC shows it that way...

So VD2's orig pane view is misleading...

Or is it about the default handling of the case that movie dimensions are HD,
but no color entry (which usually means bt.609)?

It isn't a bug. I did some testing long time ago and this how it works. If you have a short clip of some red or green you can test it yourself.

If you know the video is 709 colour space but decode format doesn't show -709 in actual format box then click on 709 colour space. The correct colour will show on the panes then you can use the filters correctly. If you leave it at 'no change' then it won't affect the colour output so long there is 'no conversion' in the compression box.

Tests. 4 clips.

input 709 - output 709 - 709 on media info. colour same as original video - good
input 709 - decode 601 - output 601 - 601 on media info. colour same as original video but mislabelled as 601 - bad
input 709 - decode 601 - output forced 601 - 601 on media info. colour same as original video but mislabelled as 601 - bad
input 709 - decode 601 - output forced 709 - 709 on media info. colour change from original video with correct label as 709 - bad

Hope this helps.

v0lt
11th June 2025, 18:07
Does anyone have the "Display > Use effect file: display.fx" setting working? What is it for? Are there any example .fx files that will work in VirtualDub?
https://s1.directupload.eu/images/250611/temp/fhp5fc8f.png (https://www.directupload.eu/file/d/8947/fhp5fc8f_png.htm)

Emulgator
12th June 2025, 12:50
A junction for later exploration left by Avery Lee, I guess. I had no use for it so far, but others might.
Effects file created for Direct3D, a part of Microsoft DirectX that is used to define the appearance of 3D objects.
Contains plain text effects properties structured into three sections: variables, functions, and techniques
Written using Microsoft's High Level Shader Language (see also .HLSL files).
FX files are used to specify textures, lighting parameters, shading, rendering properties, and other effects.

v0lt
12th June 2025, 14:16
I found an example of display.fx in the help.
VirtualDub help - Video display shader support
This effect file produces an emboss effect on the displayed video. It should work on any video card with pixel shader support.
texture vd_srctexture;
float4 vd_texsize;

sampler src = sampler_state {
Texture = <vd_srctexture>;
AddressU = clamp;
AddressV = clamp;
MinFilter = linear;
MagFilter = linear;
MipFilter = linear;
};

void VS(
float4 pos : POSITION,
float2 uv : TEXCOORD0,
out float4 hPos : POSITION,
out float2 uv0 : TEXCOORD0,
out float2 uv1 : TEXCOORD1)
{
hPos = pos;
uv0 = uv - vd_texsize.wz;
uv1 = uv + vd_texsize.wz;
}

float4 PS(float2 uv0 : TEXCOORD0, float2 uv1 : TEXCOORD1) : COLOR0 {
return tex2D(src, uv1) - (tex2D(src, uv0) - 0.5);
}

technique point {
pass {
VertexShader = compile vs_1_1 VS();
PixelShader = compile ps_1_1 PS();
}
}
And it only works for displaying on the display. I think this feature was very rarely used.

jay123210599
12th July 2025, 22:16
How do I speed up videos in VirtualDub2?

LigH
12th July 2025, 22:27
Video - Frame Rate... - Change frame rate to (a higher value); but this will probably mess up the audio, if present. And the result may not match a secondary format specification.

jay123210599
12th July 2025, 23:13
Video - Frame Rate... - Change frame rate to (a higher value); but this will probably mess up the audio, if present. And the result may not match a secondary format specification.

I mean like in other video players (e.g. 1.2x speed, 1.5x speed, 2x speed, etc).

LigH
12th July 2025, 23:19
VirtualDub2 is an editor, not a media player. I don't see much sense in changing the playback speed only, independent of the nominal frame rate.

jay123210599
12th July 2025, 23:35
VirtualDub2 is an editor, not a media player. I don't see much sense in changing the playback speed only, independent of the nominal frame rate.

So it's not possible?

SeeMoreDigital
13th July 2025, 09:50
Not in the way you want to use it. No!

LigH
13th July 2025, 15:01
If you have a stack of complex video filters, you can be happy when it still plays in normal speed. Usually it can't keep up anymore.

Being able to check the filtering result frame by frame is much more important in an editor than fast-forward playback.

If you want to skip 50 frames button by button, hold the Alt key. Or pull the timeline slider with the mouse.

wonkey_monkey
13th July 2025, 15:08
If you turn the scene thresholds off in Preferences, you can use shift-ctrl-arrow to play as fast possible.

jay123210599
13th July 2025, 17:57
Video - Frame Rate... - Change frame rate to (a higher value); but this will probably mess up the audio, if present. And the result may not match a secondary format specification.

I doubled the frame rate for one of my videos but it didn't double its speed.

SeeMoreDigital
13th July 2025, 18:51
I doubled the frame rate for one of my videos but it didn't double its speed.Did you re-encode the video? What media player are you using?

jay123210599
13th July 2025, 19:28
Did you re-encode the video? What media player are you using?

Yes, I'm playing the video in VirtualDub2?

SeeMoreDigital
13th July 2025, 20:33
With respect... You're exhausting!

LigH
14th July 2025, 13:10
VirtualDub2 will not skip frames to ensure the frame rate during playback. It will prefer to show every frame, even if it will fall behind the timing.

Media players may do the opposite, e.g. skip decoding B frames and restrict themselves to displaying only I and P frames if that is necessary to keep up the desired playback speed.

StainlessS
14th July 2025, 19:46
VirtualDub2 will not skip frames to ensure the frame rate during playback. It will prefer to show every frame, even if it will fall behind the timing.
Set (tick) Drop Frames When Behind (its not ticked in below graphic, just shows you where it is)
[click me]
https://i.postimg.cc/n9kyytQm/Drop-Frames-When-Behind.jpg (https://postimg.cc/n9kyytQm)

EDIT: Not sure, maybe have to also UnTick "Sync To Audio" (above 'Drop Frames When Behind').

rgr
24th July 2025, 10:09
Should I only have the "Cache input driver" to choose from when opening MP4 files?

I've never paid much attention to it, but I remember there used to be others (like "FF-something").

LigH
24th July 2025, 14:15
There is a separate AVI source filter compatible with the ancient roots of VfW.

And there may have been input plugins for earlier VirtualDub versions which developed into the current ffmpeg based "Cached input driver", I believe...

rgr
24th July 2025, 17:11
Thanks. So its normal.


Another problem.

I have a file compressed with ffmpeg -c:v libx265.
So it's probably correct. It has a rather unusual framerate, "fpsnum=59972,fpsden=1000)"

VirtualDub (the latest test version and the previous one as well) won't read it, crashing on frame 453 during playback.
When jumping to the end of the file and rewinding frame by frame, you can see that the last frames are duplicates (even though they aren't).
MPC plays correctly.

File: https://files.fm/u/24bvfbgf45

Edit: I tested it with version VD 44282. It works fine there, no issues. Both with "Cache input driver" and with "FFmpeg (supported files)"

rgr
27th July 2025, 20:12
VirtualDub ignores the _Matrix and _ColorRange flags when loading AviSynth scripts (it always assumes they are BT601 and limited).

I don't know if this will help, but for ffmpeg to recognize these flags, you need to use: ffmpeg.exe -avisynth_flags +all -i... .

qyot27
27th July 2025, 22:51
I don't know if this will help, but for ffmpeg to recognize these flags, you need to use: ffmpeg.exe -avisynth_flags +all -i... .
ffmpeg enables 6 out of the 7 current frame property flags by default, -avisynth_flags isn't necessary unless you want to turn them off.

The only flag that ffmpeg does not enable by default is SAR, because that one relies on much more user awareness considering how common it is to resize things in AviSynth scripts.

$ ffmpeg -h demuxer=avisynth
ffmpeg version r119297+62 master-ff9f3fb607 HEAD-1483607de1
contains: avs_pixfmts datetime merged new_pkgconfig silent_invoke versioninfo
Copyright (c) 2000-2025 the FFmpeg developers
built on Apr 18 2025 19:33:33 with gcc 14 (Ubuntu 14.2.0-19ubuntu2)
libavutil 60. 1.100 / 60. 1.100
libavcodec 62. 0.101 / 62. 0.101
libavformat 62. 0.100 / 62. 0.100
libavdevice 62. 0.100 / 62. 0.100
libavfilter 11. 0.100 / 11. 0.100
libswscale 9. 0.100 / 9. 0.100
libswresample 6. 0.100 / 6. 0.100
libpostproc 59. 1.100 / 59. 1.100
Demuxer avisynth [AviSynth script]:
Common extensions: avs.
AviSynth demuxer AVOptions:
-avisynth_flags <flags> .D......... set flags related to reading frame properties from script (AviSynth+ v3.7.1 or higher) (default field_order+range+primaries+transfer+matrix+chroma_location)
field_order .D......... read field order
range .D......... read color range
primaries .D......... read color primaries
transfer .D......... read color transfer characteristics
matrix .D......... read matrix coefficients
chroma_location .D......... read chroma location
sar .D......... read sample aspect ratio

Script:
ImageSource("GsKynKVaUAI7COX.jpeg").Crop(0,0,0,-1).ConvertToYV12()
propset("_FieldBased",0)
propset("_Primaries",4)
propset("_Transfer",4)
propset("_Matrix",4)
propset("_ChromaLocation",2)
propset("_ColorRange",0)
propset("_SARNum",4) # this and SARDen set to nonsense just to show whether it gets read
propset("_SARDen",3)

(-v verbose is only needed because ffmpeg doesn't include the chroma location value in the report otherwise)

ffmpeg -v verbose -i test.avs
Input #0, avisynth, from 'test.avs':
Duration: 00:00:41.71, start: 0.000000, bitrate: 0 kb/s
Stream #0:0: Video: rawvideo, 1 reference frame (I420 / 0x30323449), yuv420p(pc, fcc/bt470m/bt470m, progressive, topleft), 680x254, 24 fps, 24 tbr, 24 tbn

ffmpeg -v verbose -avisynth_flags +all -i test.avs

Input #0, avisynth, from 'test.avs':
Duration: 00:00:41.71, start: 0.000000, bitrate: 0 kb/s
Stream #0:0: Video: rawvideo, 1 reference frame (I420 / 0x30323449), yuv420p(pc, fcc/bt470m/bt470m, progressive, topleft), 680x254, SAR 4:3 DAR 1360:381, 24 fps, 24 tbr, 24 tbn

jay123210599
31st July 2025, 22:54
How do I mirror videos in VirtualDub2?

LigH
31st July 2025, 23:01
Video - Filters - Add: flip horizontally / flip vertically

v0lt
3rd August 2025, 05:55
VirtualDub (the latest test version and the previous one as well) won't read it, crashing on frame 453 during playback.
When jumping to the end of the file and rewinding frame by frame, you can see that the last frames are duplicates (even though they aren't).
MPC plays correctly.

File: https://files.fm/u/24bvfbgf45
VirtualDub2 x64 v2.4.0.877 (https://disk.yandex.ru/d/R3Ob8yREy4ChvA) - no problem.

VirtualDub ignores the _Matrix and _ColorRange flags when loading AviSynth scripts (it always assumes they are BT601 and limited).

I don't know if this will help, but for ffmpeg to recognize these flags, you need to use: ffmpeg.exe -avisynth_flags +all -i... .
As far as I remember, VirtualDub/VirtualDub2 (like many other applications) work with AviSynth scripts as with a virtual AVI file (system components are used).
For this reason, VirtualDub does not receive additional video stream parameters.
See the description of the VIDEOINFOHEADER (https://learn.microsoft.com/en-us/previous-versions/ms787915(v=vs.85)) and BITMAPINFOHEADER (https://learn.microsoft.com/en-us/previous-versions/ms779712(v=vs.85)) structures.

rgr
6th August 2025, 11:56
VirtualDub2 x64 v2.4.0.877 (https://disk.yandex.ru/d/R3Ob8yREy4ChvA) - no problem.


Are you sure?
What about this file? https://files.fm/u/mywfgz46nj (it's short, so sometimes you have to jump to the end several times and go back frame by frame)
This appears to be a problem with H265 files with open GOP.

The effect should be like:
this.https://gcdnb.pbrd.co/images/Q3xlj4A5fmA2.png?o=1

rgr
6th August 2025, 12:28
As far as I remember, VirtualDub/VirtualDub2 (like many other applications) work with AviSynth scripts as with a virtual AVI file (system components are used).
For this reason, VirtualDub does not receive additional video stream parameters.
See the description of the VIDEOINFOHEADER (https://learn.microsoft.com/en-us/previous-versions/ms787915(v=vs.85)) and BITMAPINFOHEADER (https://learn.microsoft.com/en-us/previous-versions/ms779712(v=vs.85)) structures.

Bad news...
However, VDub can probably abandon the default BT601, or at least apply the rule that if the height is >=720px, BT709 is assumed.
At least some information about the decoding format (BT601/709/RGB, limited/full range, etc.) on the bottom bar would be useful :)

v0lt
6th August 2025, 13:40
Are you sure?
Yes. I opened your files. I pressed the "Output Playback" button. The file played and VirtualDub2 x64 v2.4.0.877 did not crash.
However, VDub can probably abandon the default BT601, or at least apply the rule that if the height is >=720px, BT709 is assumed.
You can define these parameters for your video files or scripts - Video > Decode format > Interpret YCbCr properties.

rgr
7th August 2025, 11:15
Yes. I opened your files. I pressed the "Output Playback" button. The file played and VirtualDub2 x64 v2.4.0.877 did not crash.

:)
1. Open the file.
2. Jump to end of file (Crl+Right).
3. Go back frame by frame.
If it's ok, close VDub and try again.

You can define these parameters for your video files or scripts - Video > Decode format > Interpret YCbCr properties.

Yes, but you have to remember this every time.

v0lt
7th August 2025, 14:55
:)
1. Open the file.
2. Jump to end of file (Crl+Right).
3. Go back frame by frame.
If it's ok, close VDub and try again.
I repeated this 3 times for each video file and VirtualDub2 x64 v2.4.0.877 did not crash.
Windows 10 22H2, Intel i5-11500, UHD 750.

rgr
8th August 2025, 20:53
I repeated this 3 times for each video file and VirtualDub2 x64 v2.4.0.877 did not crash.
Windows 10 22H2, Intel i5-11500, UHD 750.

It doesn't crash, it displays incorrect frames.

v0lt
9th August 2025, 06:13
It doesn't crash, it displays incorrect frames.
VirtualDub (the latest test version and the previous one as well) won't read it, crashing on frame 453 during playback.
Why are you doing this? :confused:

LigH
9th August 2025, 22:15
The file type group "All media types (dozens of extensions...)" in the "File - Open video file..." dialog does not contain *.wmv as supported filename extension, although the container is supported and detected as "asf" by the "Caching input driver" when I select "All files (*.*)" as file type group.

v0lt
10th August 2025, 06:31
The file type group "All media types (dozens of extensions...)" in the "File - Open video file..." dialog does not contain *.wmv as supported filename extension, although the container is supported and detected as "asf" by the "Caching input driver" when I select "All files (*.*)" as file type group.
The current list of supported video formats for the Caching input driver is:
"FFmpeg : video|*.mp4;*.mov;*.mkv;*.webm;*.flv;*.avi;*.nut"
This limitation is present in older versions as well. Many formats are missing because the plugin has problems getting the correct frame for video files without an index. This mainly concerns MPEG-TS. WMV/ASP files can have variable frame rates, and the format itself is poorly supported by FFmpeg.

LigH
10th August 2025, 07:17
I also noticed processing audio from WMVs with LwLibavAudioSource being unreliable, jumping to previous locations when using Trim's in an AviSynth+ script.

So I guess both issues can be solved by remultiplexing the WMV source files to MKV using ffmpeg.

rgr
11th August 2025, 12:10
Why are you doing this? :confused:

My bad. But this screenshot explained exactly what I meant.
https://gcdnb.pbrd.co/images/Q3xlj4A5fmA2.png?o=1

https://gcdnb.pbrd.co/images/Q3xlj4A5fmA2.png?o=1

poisondeathray
11th August 2025, 21:49
Are you sure?
What about this file? https://files.fm/u/mywfgz46nj (it's short, so sometimes you have to jump to the end several times and go back frame by frame)
This appears to be a problem with H265 files with open GOP.

The effect should be like:
this.https://gcdnb.pbrd.co/images/Q3xlj4A5fmA2.png?o=1

My bad. But this screenshot explained exactly what I meant.
https://gcdnb.pbrd.co/images/Q3xlj4A5fmA2.png?o=1




Other observations :

- remuxing into mp4 using lsmash or mp4box - still has problem in vdub2 seeking, but not necessarily other programs

- adjusting some settings like increasing max cache memory for the caching input driver did not seem to help


- but remuxing into mkv using mkvmerge makes robust seeking ok in vdub2. So it's unlikely a hevc bitstream or caching input driver decoding problem only (there might be some combination of factors)

rgr
12th August 2025, 10:30
Other observations :

- remuxing into mp4 using lsmash or mp4box - still has problem in vdub2 seeking, but not necessarily other programs

- adjusting some settings like increasing max cache memory for the caching input driver did not seem to help


- but remuxing into mkv using mkvmerge makes robust seeking ok in vdub2. So it's unlikely a hevc bitstream or caching input driver decoding problem only (there might be some combination of factors)

It seems to be a problem with the H265+openGOP combination. Files with closed GOP do not cause problems.
Unfortunately, openGOP is enabled by default in H265 encoder, so the issue affects most (all?) MP4+H265 files.

coolgit
13th August 2025, 09:45
Volt. Can you update cch_input.ini to include eac3 audio.

rgr
13th August 2025, 14:51
Are earlier versions of VirtualDub available?
The latest version (877) crashes when saving projects.
Steps to reproduce:
1. Load a file (mp4, avi, avs).
2. Filters->Add->Deshaker (3.1)->OK (this specific filter)
3. Save Project--> The system hangs for a moment, then VirtualDub closes and the .vdproject file is 0 bytes.

It worked before, but I only changed the VDub version.

rgr
13th August 2025, 15:00
Are earlier versions of VirtualDub available?
The latest version (877) crashes when saving projects.
Steps to reproduce:
1. Load a file (mp4, avi, avs).
2. Filters->Add->Deshaker (3.1)->OK (this specific filter)
3. Save Project--> The system hangs for a moment, then VirtualDub closes and the .vdproject file is 0 bytes.

It worked before, but I only changed the VDub version.

I found the cause. If I leave the default path in the Deshaker filter ("C:\Users\Właściciel\AppData\Local\Deshaker"), VDub crashes when saving the project. Until I save the project, VDub (or rather the filter) saves everything correctly to that path.

v0lt
13th August 2025, 16:41
Can you update cch_input.ini to include eac3 audio.
I didn't understand you.
In my VD2 builds, the 'cch_input.ini' file is replaced by 'avlib-1.ini' and is no longer included in the build. It only appears after changing the "Caching Input Driver" settings. You can write whatever you want there.

coolgit
13th August 2025, 21:51
I didn't understand you.
In my VD2 builds, the 'cch_input.ini' file is replaced by 'avlib-1.ini' and is no longer included in the build. It only appears after changing the "Caching Input Driver" settings. You can write whatever you want there.

I was older vdub.
Ok i got 2.4.

When i try to open audio, the eac3 files does not show up. It is not included in the

[file_mask]
video = "*.anm;*.asf;*.avi;*.bik;*.dts;*.dxa;*.flv;*.fli;*.flc;*.flx;*.h261;*.h263;*.h264;*.m4v;*.m2v;*.mkv;*.mjp;*.mlp;*.mov;*.mp4;*.3gp;*.3g2;*.mj2;*.mvi;*.pmp;*.rm;*.rmvb;*.rpl;*.smk;
*.swf;*.vc1;*.wmv;*.ts;*.vob;*.mts;*.m2ts;*.m2t;*.mpg;*.mxf;*.ogm;*.ogv;*.qt;*.tp;*.dvr-ms;*.amv;*.webm;*.wtv";*.y4m
images = "*.jpeg;*.jpg;*.jps;*.mpo;*.ljpg;*.jls;*.png;*.pns;*.mng;*.ppm;*.pnm;*.pgm;*.pgmyuv;*.pbm;*.pam;*.pix;*.dds;*.mpg1-img;*.mpg2-img;*.mpg4-img;
*.y;*.raw;*.bmp;*.tga;*.tiff;*.tif;*.sgi;*.ptx;*.pcx;*.pic;*.pct;*.pict;*.sun;*.ras;*.rs;*.im1;*.im8;*.im24;*.im32;*.sunras;*.j2c;*.jp2;*.jpc;*.j2k;*.dpx;*.exr;*.pic;*.yuv10;*.webp;*.xbm;*.xface;*.xwd;*.psd"
audio = "*.3gp;*.aa;*.aac;*.aax;*.ac3;*.act;*.aiff;*.amr;*.ape;*.au;*.flac;*.gsm;*.m4a;*.m4b;*.mp3;*.mpc;*.ogg;*.opus;*.ra;*.rm;*.tta;*.vox;*.wav;*.wma;*.wv"

I have to insert it myself. All i was asking is to update the file so eac3 shows up.

v0lt
14th August 2025, 04:24
The files 'cch_input.ini' and 'avlib-1.ini' are no longer included in my VirtualDub2 builds (https://github.com/v0lt/VirtualDub2/releases).

coolgit
14th August 2025, 09:54
The files 'cch_input.ini' and 'avlib-1.ini' are no longer included in my VirtualDub2 builds (https://github.com/v0lt/VirtualDub2/releases).

I try again. Look here.

When i click audio menu then audio from other file... there is all media types and eac3 is not there. Now a simple request, can you update all media types to include eac3 audio?

LigH
14th August 2025, 12:17
Well, v0lt said he will not provide any in his releases. But when you configure the plugin, the file gets created, and then it persists. So you can edit it yourself.

lansing
18th August 2025, 05:42
The file->export->save image (skip dialog) selection is not in the keyboard shortcut list. Can you add it?

v0lt
18th August 2025, 16:20
The file->export->save image (skip dialog) selection is not in the keyboard shortcut list.
Hmm. For some reason unknown to me, the command "File > Export > Single image (skip dialog)" in the key settings is called "File.SaveNextImage".

PS: In the next build it will be fixed to "File.SaveImageSkipDialog".

LigH
18th August 2025, 16:26
Maybe a kind of "recycled" menu entry from a previous version like VDubMod...

lansing
18th August 2025, 20:53
Hmm. For some reason unknown to me, the command "File > Export > Single image (skip dialog)" in the key settings is called "File.SaveNextImage".

PS: In the next build it will be fixed to "File.SaveImageSkipDialog".

Okay thanks.

v0lt
19th August 2025, 15:58
Test build VirtualDub2 v2.4.0.887 (https://disk.yandex.ru/d/R3Ob8yREy4ChvA)
Settings are now stored in HKEY_CURRENT_USER\SOFTWARE\VirtualDub2\VirtualDub.
Saving of some settings has been reworked.
Code refactoring for modern compilers.
Cosmetic changes.
avlib_vdplugin 1.0.0.374
The FFmpeg 7.1.1 x64 build from BtbN is used.
Added saving and reading of encoder settings from the registry.
Added hardware video encoders NVENC, QSV, AMF for H.264 and HEVC.
Added hardware video encoders NVENC, AMF for AV1.
Cosmetic changes.

PS: Updated to v2.4.0.887.

tormento
19th August 2025, 16:30
Settings are now stored in
Please, consider to implement a full portable build, that reads a .ini file when present.

v0lt
19th August 2025, 19:51
implement a full portable build
This is impossible.

jay123210599
20th August 2025, 23:32
How do I reverse videos using VirtualDub2?

VoodooFX
21st August 2025, 05:27
How do I reverse videos using VirtualDub2?

I doubt there is such option in VD2. Create avs (Avisynth+) file with Reverse() then open it in VD2.

poisondeathray
21st August 2025, 14:44
https://sourceforge.net/p/vdfiltermod/tickets/429/
https://sourceforge.net/p/vdfiltermod/tickets/429/#264b


There is a trick (some people found it too difficult) to reverse video only (not the sound): use fflayer filter, point it the file you want to reverse, set follow timeline from to last frame number, rate -1.

rgr
21st August 2025, 18:38
Test build VirtualDub2 v2.4.0.887 (https://disk.yandex.ru/d/R3Ob8yREy4ChvA)
Settings are now stored in HKEY_CURRENT_USER\SOFTWARE\VirtualDub2\VirtualDub.
Saving of some settings has been reworked.
Code refactoring for modern compilers.
Cosmetic changes.
avlib_vdplugin 1.0.0.374
The FFmpeg 7.1.1 x64 build from BtbN is used.
Added saving and reading of encoder settings from the registry.
Added hardware video encoders NVENC, QSV, AMF for H.264 and HEVC.
Added hardware video encoders NVENC, AMF for AV1.
Cosmetic changes.

PS: Updated to v2.4.0.887.

I don't see any improvement. Now I can't save the project file at all after enabling the Deshaker filter. It saves a 0-byte file, and after a while, VDub automatically closes.

Edit: OK, I found it.
Now, after entering the following path in the folder field (Deshaker plugin): "E:\$ moje\_gitarowy", the project cannot be saved. But I think the thing that wasn't working before is working now -- the "." path :)

coolgit
21st August 2025, 23:30
Latest version crashed. What have you done exactly?

It seems when i load an old project file from v2.3, it refuse to save and crash.

I did a new project and it worked.

I load old and new project file in notepad++ looked at ffv1 same setting.

old - VirtualDub.video.SetCompression(0x31564646,0,10000,0,"avlib-1.vdplugin");
VirtualDub.video.SetCompData(32,"AQAAAAMAAAAKAAAAAwAAAAQAAAABAAAAAAAAAAEAAAA=");

new - VirtualDub.video.SetCompression(0x0000ff01,0,10000,0,"avlib-1.vdplugin");
VirtualDub.video.SetCompData(32,"AQAAAAMAAAAKAAAAAwAAAAAAAAABAAAAAAAAAAEAAAA=");


Have you changed the way project file works?

LigH
21st August 2025, 23:41
It looks pretty obvious to me that 0x31564646 (FFV1) is the correct video codec FourCC, but 0x0000ff01 is something else.

v0lt
22nd August 2025, 06:12
Latest version crashed. What have you done exactly?

It seems when i load an old project file from v2.3, it refuse to save and crash.

I did a new project and it worked.
I remade the settings of all codecs in avlib_vdplugin. But there is protection against incorrect settings. To reproduce your problem, please provide your video file and project file (v2.3).

It looks pretty obvious to me that 0x31564646 (FFV1) is the correct video codec FourCC, but 0x0000ff01 is something else.
In the old versions to identify the encoder, the FourCC codec was used. In new versions, I left this so that you could make several encoders for one codec and not conflict with other third -party encoders.

In general, scripts for old versions will not be compatible with version v2.4 if you use avlib_vdplugin.

coolgit
22nd August 2025, 11:15
I remade the settings of all codecs in avlib_vdplugin. But there is protection against incorrect settings. To reproduce your problem, please provide your video file and project file (v2.3).


up to and including 2.3

// VirtualDub project (Sylia script format)
// This is a program generated file -- edit at your own risk.

// $job ""
// $data ""
// $script

VirtualDub.audio.SetSource(1);
VirtualDub.audio.SetMode(0);
VirtualDub.audio.SetInterleave(1,500,1,0,0);
VirtualDub.audio.SetClipMode(1,1);
VirtualDub.audio.SetEditMode(1);
VirtualDub.audio.SetConversion(0,2,2,0,0);
VirtualDub.audio.SetVolume();
VirtualDub.audio.SetCompression();
VirtualDub.audio.EnableFilterGraph(0);
VirtualDub.video.SetInputFormat(0);
VirtualDub.video.SetInputMatrix(2,0);
VirtualDub.video.SetOutputFormat(0);
VirtualDub.video.SetMode(0);
VirtualDub.video.SetSmartRendering(0);
VirtualDub.video.SetPreserveEmptyFrames(0);
VirtualDub.video.SetFrameRate2(0,0,1);
VirtualDub.video.SetIVTC(0, 0, 0, 0);
VirtualDub.video.SetCompression(0x31564646,0,10000,0,"avlib-1.vdplugin");
VirtualDub.video.SetCompData(32,"AQAAAAMAAAAKAAAAAwAAAAQAAAABAAAAAAAAAAEAAAA=");
VirtualDub.SaveFormatAVI();
VirtualDub.SaveAudioFormat("old_wav");
VirtualDub.video.filters.BeginUpdate();
VirtualDub.video.filters.Clear();
VirtualDub.video.filters.Add("convert format");
VirtualDub.video.filters.instance[0].Config(57);
VirtualDub.video.filters.instance[0].SetEnabled(false);
VirtualDub.video.filters.Add("Color Mill (2.1)");
VirtualDub.video.filters.instance[1].Config(25700, 25700, 25700, 25700, 25700, 25700, 25700, 25700, 25700, 25700, 25700, 25700, 25700, 1124, 5);
VirtualDub.video.filters.instance[1].SetEnabled(false);
VirtualDub.video.filters.Add("grayscale");
VirtualDub.video.filters.instance[2].SetEnabled(false);
VirtualDub.video.filters.Add("levels");
VirtualDub.video.filters.instance[3].Config(0x0404,0xFFFF,0x00FFFE89,0x0000,0xFFFF, 1);
VirtualDub.video.filters.instance[3].SetEnabled(false);
VirtualDub.video.filters.Add("Sat/Hue/Bright/Contr v4.5.3");
VirtualDub.video.filters.instance[4].Config(0, 0, 0, 10, 0, 0, 0, 0, 1, 0);
VirtualDub.video.filters.instance[4].SetEnabled(false);
VirtualDub.video.filters.Add("fill");
VirtualDub.video.filters.instance[5].Config(240,0,240,0,0x40000000);
VirtualDub.video.filters.instance[5].SetEnabled(false);
VirtualDub.video.filters.Add("brightness/contrast");
VirtualDub.video.filters.instance[6].Config(-256,0);
VirtualDub.video.filters.instance[6].SetEnabled(false);
VirtualDub.video.filters.Add("levels");
VirtualDub.video.filters.instance[7].Config(0x0000,0xFFFF,0x01000000,0x0000,0xFFFF, 1);
VirtualDub.video.filters.instance[7].SetEnabled(false);
VirtualDub.video.filters.Add("crop");
VirtualDub.video.filters.instance[8].SetClipping(100,30,200,140);
VirtualDub.video.filters.instance[8].SetEnabled(false);
VirtualDub.video.filters.Add("crop");
VirtualDub.video.filters.instance[9].SetClipping(200,30,100,140);
VirtualDub.video.filters.instance[9].SetEnabled(false);
VirtualDub.video.filters.Add("crop");
VirtualDub.video.filters.instance[10].SetClipping(230,30,144,180,0);
VirtualDub.video.filters.instance[10].SetEnabled(false);
VirtualDub.video.filters.Add("crop");
VirtualDub.video.filters.instance[11].SetClipping(144,30,230,180);
VirtualDub.video.filters.instance[11].SetEnabled(false);
VirtualDub.video.filters.Add("crop");
VirtualDub.video.filters.instance[12].SetClipping(0,50,336,90);
VirtualDub.video.filters.instance[12].SetEnabled(false);
VirtualDub.video.filters.Add("crop");
VirtualDub.video.filters.instance[13].SetClipping(0,4,8,4);
VirtualDub.video.filters.instance[13].SetEnabled(false);
VirtualDub.video.filters.Add("resize");
VirtualDub.video.filters.instance[14].Config(1920,1080,0,4,3,0,320,240,16,9,0,7,1,0x000000);
VirtualDub.video.filters.instance[14].SetEnabled(false);
VirtualDub.video.filters.Add("resize");
VirtualDub.video.filters.instance[15].Config(960,400,0,4,3,0,320,240,16,9,0,7,1,0x000000);
VirtualDub.video.filters.instance[15].SetEnabled(false);
VirtualDub.video.filters.Add("Histogram");
VirtualDub.video.filters.instance[16].Config(0);
VirtualDub.video.filters.instance[16].SetEnabled(false);
VirtualDub.video.filters.Add("AddBorder v1.4.3");
VirtualDub.video.filters.instance[17].Config(0, 0, 0, 0, 0, 0, 0);
VirtualDub.video.filters.instance[17].SetEnabled(false);
VirtualDub.video.filters.Add("gradation curves");
VirtualDub.video.filters.instance[18].Config(0,"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434
445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9
c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f
5f6f7f8f9fafbfcfdfeff000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e
4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6
a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff0001
02030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f50515253545556575859
5a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1
b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff000102030405060708090a0b0c
0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f6061626364
65666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbc
bdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff000102030405060708090a0b0c0d0e0f1011121314151617
18191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f
707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7
c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff","152222202020202020000ffff0000ffff0000ffff0000ffff0000ffff");
VirtualDub.video.filters.instance[18].SetEnabled(false);
VirtualDub.video.filters.Add("FF Deband");
VirtualDub.video.filters.instance[19].Config(20,20,16,0,0);
VirtualDub.video.filters.instance[19].SetEnabled(false);
VirtualDub.video.filters.Add("brightness/contrast");
VirtualDub.video.filters.instance[20].Config(-2,15);
VirtualDub.video.filters.instance[20].SetEnabled(false);
VirtualDub.video.filters.Add("6-axis color correction");
VirtualDub.video.filters.instance[21].Config(0,0.5,1, 0,0, 1, 0.48,1, 0.5,1, 0.5,1, 0.5,1, 0.5,1, 0.5,1);
VirtualDub.video.filters.instance[21].SetEnabled(false);
VirtualDub.video.filters.Add("Color Tools [1.5]");
VirtualDub.video.filters.instance[22].Config(0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1);
VirtualDub.video.filters.instance[22].SetEnabled(false);
VirtualDub.video.filters.EndUpdate();
VirtualDub.audio.filters.Clear();
VirtualDub.video.SetRange();
VirtualDub.project.ClearTextInfo();

// $endjob

2.4 that i create to find the error with new project file

// VirtualDub project (Sylia script format)
// This is a program generated file -- edit at your own risk.

// $job ""
// $data ""
// $script

VirtualDub.audio.SetSource(1);
VirtualDub.audio.SetMode(0);
VirtualDub.audio.SetInterleave(1,500,1,0,0);
VirtualDub.audio.SetClipMode(1,1);
VirtualDub.audio.SetEditMode(1);
VirtualDub.audio.SetConversion(0,0,0,0,0);
VirtualDub.audio.SetVolume();
VirtualDub.audio.SetCompression();
VirtualDub.audio.EnableFilterGraph(0);
VirtualDub.video.SetInputFormat(0);
VirtualDub.video.SetOutputFormat(7);
VirtualDub.video.SetMode(3);
VirtualDub.video.SetSmartRendering(0);
VirtualDub.video.SetPreserveEmptyFrames(0);
VirtualDub.video.SetFrameRate2(0,0,1);
VirtualDub.video.SetIVTC(0, 0, 0, 0);
VirtualDub.video.SetCompression(0x0000ff01,0,10000,0,"avlib-1.vdplugin");
VirtualDub.video.SetCompData(32,"AQAAAAMAAAAKAAAAAwAAAAAAAAABAAAAAAAAAAEAAAA=");
VirtualDub.SaveFormatAVI();
VirtualDub.SaveAudioFormat("");
VirtualDub.video.filters.BeginUpdate();
VirtualDub.video.filters.Clear();
VirtualDub.video.filters.EndUpdate();
VirtualDub.audio.filters.Clear();
VirtualDub.video.SetRange();
VirtualDub.project.ClearTextInfo();

// $endjob

SetCompression and SetCompData are different to past working project.

It is an avi file, nothing special. mediainfo

Format : AVI
Format/Info : Audio Video Interleave
File size : 145 MiB
Duration : 1 min 59 s
Overall bit rate mode : Variable
Overall bit rate : 10.2 Mb/s
Frame rate : 24.000 FPS
Writing library : VirtualDub2 x64 v2.3.0.845

Video
ID : 0
Format : FFV1
Format version : Version 3.4
Format settings, GOP : N=1
Format settings, Slice coun : 4 slices per frame
Codec ID : FFV1
Duration : 1 min 59 s
Bit rate mode : Variable
Bit rate : 10.2 Mb/s
Width : 960 pixels
Height : 400 pixels
Display aspect ratio : 2.40:1
Frame rate : 24.000 FPS
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 10 bits
Scan type : Progressive
Compression mode : Lossless
Bits/(Pixel*Frame) : 1.105
Stream size : 145 MiB (100%)
coder_type : Range Coder
ErrorDetectionType : Per slice

coolgit
22nd August 2025, 14:45
OK i start new project and one by one go through the old project filter list to see which is causing the crash.

VirtualDub.video.filters.instance[3].Config(0x0404,0xFFFF,0x00FFFE89,0x0000,0xFFFF, 1); becomes
VirtualDub.video.filters.instance[3].Config(0x0404,0xFFFF,0x00FFFE8F,0x0000,0xFFFF, 1);

VirtualDub.video.filters.instance[7].Config(0x0000,0xFFFF,0x01000000,0x0000,0xFFFF, 1); becomes
VirtualDub.video.filters.instance[7].Config(0x0000,0xFFFF,0x00FFFE8F,0x0000,0xFFFF, 1);

Graduation curves will not work after too many attempts. Even if it is the only filter, it crashes.
Deshaker will not work after too many attempts. Even if it is the only filter, it crashes.


the following filters are working ok after quick test.

2:1 reduction
2:1 reduction (high quality)
6-axis color correction
AddBorder v1.4.3
alias format
AutoYUY2 v4.1.3
blend layers
blur
blur more
bob doubler
box blur
brightness/contrast
canvas size
chroma smoother
ChromaShift v2.2.1
Color Mill (2.1)
Color Tools [1.5]
ColorSpaceConvert v2.6.3
convert format
convert to floating point
convert to gray
Correct Frame Rate Blur v3.2.1
crop
Cross-Conversion Correction v1.4.2
crossfade
deinterlace
Deinterlace v6.1.3
DeLogo 1.3.2
DrawText
DrawTime
emboss
FF BwDif Deinterlace
FF Deband
FF Deblock
FF NlMeans
FF SmartBlur
FF UnSharp
FF VagueDenoiser
fflayer
field bob
field delay
field swap
FieldShift v3.2.2
fill
flip horizontally
flip vertically
gamma correct
Gauss blur
general convolution
grayscale
Histogram
hqdn3d
HSV adjust
interlace
InterlaceMotion v2.4.1
interpolate
invert
IVTC
IVTC Manual v3.2.2
IVTC v6.6.3
levels
logo
Master blend
Median v3.5.3
merge layers
motion blur
null transform
perspective
remove frames
RemoveFrames v1.3.2
resize
rgb levels
rgb scale
RGBConvert v3.2.3
rotate
rotate2
Sat/Hue/Bright/Contr v4.5.3
sharpen
smoother
temporal smoother
threshold
TV
Unsharp mask
warp resize
warp sharp
WideSreen v2.4.2

v0lt
22nd August 2025, 15:59
up to and including 2.3
Your project file doesn't work because the forum breaks the script markup and I don't have all the filters you added to the script.
2.4 that i create to find the error with new project file
This project file disables video panels. No crash, but still weird.

You are better off hosting project files and other files on file sharing sites.
For text files, you can use sites like Pastebin (https://pastebin.com/).

coolgit
22nd August 2025, 22:31
Your project file doesn't work because the forum breaks the script markup and I don't have all the filters you added to the script.

This project file disables video panels. No crash, but still weird.

You are better off hosting project files and other files on file sharing sites.
For text files, you can use sites like Pastebin (https://pastebin.com/).

https://mega.nz/file/XmBnBJpK#QmW3DlmxwYPvvOhl50HfXLDd0iVk6Sce7pMPpRIqWow

https://mega.nz/file/zqYFDAbS#Ej-bqlDS-h8swqih7bwVU-0bDQpIBAeJUgTQnwLHYWQ

v0lt
23rd August 2025, 06:32
@coolgit
Please provide the "FF Deband" filter.

coolgit
23rd August 2025, 08:30
@coolgit
Please provide the "FF Deband" filter.

Are you kidding me. You need the whole package.

https://codecpack.co/download/FFInputDriver.html

download from Download: FFMpeg Input Plugin 2.0 (57.0 MB)

Install 64bit inside vdub plugins64 folder. It will extract all and create new folder ffdlls for ffmpeg files. Do not delete or change those files inside ffdlls as the filters will rely on them and not your ffmpeg files in root folder.


In fact it would be great if you can put these filters in your next build to save everyone time having to copy them over.

LigH
23rd August 2025, 16:35
I see a risk of redundancy here. Most of the features this pack provides (via FFInputDriver.vdplugin, built in 2021) seems to be already covered by VirtualDub2 v2.x (via avlib-1.vdplugin, built in 2025).

Original source URL: https://github.com/h4aLkon/smldap/releases/

The additional filters are in the plugins{32|64}\*.vdf files in the ZIP archive; I would recommend to try not to add any other files to a recent VirtualDub2 installation.

coolgit
23rd August 2025, 17:21
I see a risk of redundancy here. Most of the features this pack provides (via FFInputDriver.vdplugin, built in 2021) seems to be already covered by VirtualDub2 v2.x (via avlib-1.vdplugin, built in 2025).

Original source URL: https://github.com/h4aLkon/smldap/releases/

The additional filters are in the plugins{32|64}\*.vdf files in the ZIP archive; I would recommend to try not to add any other files to a recent VirtualDub2 installation.

Where?? When I update to new version in new folder ffdeband etc are not there. I have to do it myself.

LigH
23rd August 2025, 17:30
Obviously you did not understand what I said.

I recommended not to put the FFInputDriver.vdplugin and ffdlls subdirectory from this plugins pack into the same directory as the avlib-1.vdplugin provided by VirtualDub2 because both input plugins do the same (enabling support of different containers and A/V formats as input) and may clash.

You may manually add the FF*.vfd filter files if you like. They should not hurt. But I do not recommend to mix everything from the plugins pack to a recent VirtualDub2 installation.

coolgit
23rd August 2025, 17:47
Obviously you did not understand what I said.

I recommended not to put the FFInputDriver.vdplugin and ffdlls subdirectory from this plugins pack into the same directory as the avlib-1.vdplugin provided by VirtualDub2 because both input plugins do the same (enabling support of different containers and A/V formats as input) and may clash.

You may manually add the FF*.vfd filter files if you like. They should not hurt. But I do not recommend to mix everything from the plugins pack to a recent VirtualDub2 installation.

I never had any issue for years. Can you back this up?

I do some experiment for now.

OK here the thing.

I removed FFInputDriver_64.vdplugin and all ff... filters seemingly working. The only thing is when I open a file, the open with ffmpeg option no longer exist and I can only use catching input driver.

I removed ffdlls folder and only 4 of the 7 ff... filters show up. deband, deblock and unsharp does not show up. The 4 that do show up will not work and crashes vdub. Put the ffdlls folder back in and all is working.

As far as my experiment goes removing FFInputDriver_64.vdplugin doesn't affect the 7 ff... filters but simply remove the option to open a file with ffmpeg. Sometimes when opening mp4 files using catching input driver, it is a pain when seeking and jumping ahead as the video doesn't get decoded properly. When i use ffmpeg as 2nd option it will seek ahead properly. Therefore leaving FFInputDriver_64.vdplugin in merely give user another option and doesn't clash with avlib at all, based on my experience.

v0lt
23rd August 2025, 19:14
https://mega.nz/file/XmBnBJpK#QmW3DlmxwYPvvOhl50HfXLDd0iVk6Sce7pMPpRIqWow
Ok. I added the following command at the beginning:
VirtualDub.Open("","Test video input driver (internal)",0,"AQA=");
I loaded the project file and there was no crash, there were no errors either.

I don't have a "plugins" folder.
List of files in the "plugins64" folder:
avlib-1.vdplugin
avlib-1_history.txt
avlib-1_Readme.md
blur.vdf
clrtools64.vdf
ColorMill.vdf
FFDeband.vdf
Filtres_JPSDR.vdf
gradation.vdf
Lagarith.vdplugin
master_blend.vdf
MPEG264.vdplugin
readme.txt
rgb_levels.vdf
rgb_scale.vdf
scripted.vdplugin
scripted_history.txt
scripted_Readme.md
sixaxis.vdf
x264-8.vdplugin
x264-10.vdplugin

PS: I also opened the original "vdub 2.3.vdproject" and nothing happened either.

coolgit
23rd August 2025, 19:47
Ok. I added the following command at the beginning:
VirtualDub.Open("","Test video input driver (internal)",0,"AQA=");
I loaded the project file and there was no crash, there were no errors either.

I don't have a "plugins" folder.
List of files in the "plugins64" folder:
avlib-1.vdplugin
avlib-1_history.txt
avlib-1_Readme.md
blur.vdf
clrtools64.vdf
ColorMill.vdf
FFDeband.vdf
Filtres_JPSDR.vdf
gradation.vdf
Lagarith.vdplugin
master_blend.vdf
MPEG264.vdplugin
readme.txt
rgb_levels.vdf
rgb_scale.vdf
scripted.vdplugin
scripted_history.txt
scripted_Readme.md
sixaxis.vdf
x264-8.vdplugin
x264-10.vdplugin

PS: I also opened the original "vdub 2.3.vdproject" and nothing happened either.

VirtualDub.Open("","Test video input driver (internal)",0,"AQA=");

Added above code and ran your test. It load yes, same as any other files. When i save direct copy or ffv1 it crashes.

v0lt
23rd August 2025, 20:28
I tried different methods, but I was unable to make VirtualDub crash.

Test build VirtualDub2 v2.4.0.891 (https://disk.yandex.ru/d/R3Ob8yREy4ChvA)
Fixed saving scripts.

coolgit
23rd August 2025, 20:32
In general, scripts for old versions will not be compatible with version v2.4 if you use avlib_vdplugin.

You said it yourself that old script will not work with 2.4. So why are you testing my 2.3 script and saying it is fine? You are confusing,

v0lt
23rd August 2025, 20:50
You said it yourself that old script will not work with 2.4. So why are you testing my 2.3 script and saying it is fine? You are confusing,
Because you said that you have crashes with VirtualDub2 v2.4 when using "vdub 2.3.vdproject" (https://forum.doom9.org/showthread.php?p=2021951#post2021951). I'm trying to reproduce the problem.

As far as I understand, you have no problems with the file "vdub 2.4.vdproject". I don't understand why you posted it. But I checked it again in VirtualDub2 v2.4.0.891. Everything is fine.

coolgit
23rd August 2025, 20:51
Here the thing. I dl the latest Test build VirtualDub2 v2.4.0.891.

Load old project from 2.3 and it is working so far. Graduation filter is now working.

It seems you have fixed the bugs... good job.

v0lt
24th August 2025, 19:57
I redesigned the Display settings window in v2.4.0.894 (https://disk.yandex.ru/d/R3Ob8yREy4ChvA).
https://i.ibb.co/hxQjnHrP/891.jpg (https://ibb.co/hxQjnHrP)https://i.ibb.co/cXsN8pZK/894.jpg (https://ibb.co/cXsN8pZK)

LigH
24th August 2025, 20:03
Seems more precise to the desired meaning to me.

BTW: Did you release MPC-BE 1.8.6 already? (link in your sig)

StainlessS
25th August 2025, 09:52
Did you release MPC-BE 1.8.6 already?
3 weeks ago.

LigH
25th August 2025, 09:57
And now the sig is up to date.

rgr
25th August 2025, 20:50
I redesigned the Display settings window in v2.4.0.894 (https://disk.yandex.ru/d/R3Ob8yREy4ChvA).
https://i.ibb.co/hxQjnHrP/891.jpg (https://ibb.co/hxQjnHrP)https://i.ibb.co/cXsN8pZK/894.jpg (https://ibb.co/cXsN8pZK)

By the way, I have a question - which option is the best? (Adrenaline drivers, APU Vega 8)

v0lt
26th August 2025, 04:19
By the way, I have a question - which option is the best? (Adrenaline drivers, APU Vega 8)
There is no answer to your question. Check it on your machine yourself.

Previously, DirecDraw was the default. But it seemed to me that sometimes it was slow to render (I can't reproduce it now). Now I made Direct3D 9, it is more functional and well supported.

rgr
26th August 2025, 09:11
Are there any downsides to using DirectX11 or OpenGL?

PS. I've always had some issues with color ranges (limited vs. full range). They would arbitrarily switch when starting playback and revert to the previous value when stopped. Now it works fine in any mode.

jay123210599
26th August 2025, 15:27
How do I add attachments like fonts to videos using VirtualDub2?

LigH
26th August 2025, 15:35
I am mildly surprised that this should even be possible (it is a risk of malware to embed binaries into media files). Almost certainly not with the multiplexers built into VirtualDub2. Maybe if you configure external multiplexers in Options - External encoders...

v0lt
26th August 2025, 15:48
How do I add attachments like fonts to videos using VirtualDub2?
No way. Use MKVToolNix.

v0lt
26th August 2025, 17:03
Are there any downsides to using DirectX11 or OpenGL?
I tested the increase in frame size.
GDI - Point
DirectDraw - Bilinear
Direct3D 9 - Point/Bilinear/Bicubic
Direct3D 11 - Point/Bilinear/Bad Bicubic
OpenGL - Point/Bilinear/Bad Bicubic

Frame reduction works visually the same for different APIs.

Direct3D 9 supports transparency.

rgr
27th August 2025, 11:37
I tested the increase in frame size.
GDI - Point
DirectDraw - Bilinear
Direct3D 9 - Point/Bilinear/Bicubic
Direct3D 11 - Point/Bilinear/Bad Bicubic
OpenGL - Point/Bilinear/Bad Bicubic

Frame reduction works visually the same for different APIs.

Direct3D 9 supports transparency.

Thanks. So it's best to stick with DirectX9.

nji
1st September 2025, 12:18
When restoring movies I sometimes have to use lossless format as intermediate step.

Most (if not all) lossless formats use YUV as pixel format.
Now I realized that default subsampling is 422, if not 420.
This worries me.

Doesn't mean anything but 444 mean information loss?
(I hope this question isn't too... well... :)

LigH
1st September 2025, 12:29
The most common consumer video formats with an efficient compression use YUV 4:2:0 chroma subsampling anyway. Subsampling 4:2:2 may be used in more or less professional encoder profiles which are hardly used in digital broadcast or disc media standards.

The Ut Codec package offers a variety of specialized lossless codecs with separate FourCC identifiers per subsampling and bitdepth.

nji
1st September 2025, 12:56
So... if I choose one of VD2's lossless codecs (x265 lossless, FFV1 lossless, HUFYUV lossless)
with default subsampling settings I won't get lossless?
I explicitely have to change subsampling to YUV 4:4:4 to get true lossless?

(I wonder why the combination of codecs called "lossless" with anything but YUV4:4:4 or RGB
is called lossless at all. Isn't it misleading?).

Only uncompressed and lagarith do real lossless?

(If that's the case it's probably not only me to be shocked... for all the data lost)

LigH
1st September 2025, 13:05
Rather the opposite. I would always recommend to use a codec for intermediate files which matches the same chroma subsampling as the output of your workflow up to that point. If you did not change the pixel format during a previous edit, then it shall be the same as the input video's.

If you force a higher chroma resolution than your original workflow's, then the codec may have to upscale the chrominance planes which may not be a lossless operation. And it is also a waste of space.

nji
1st September 2025, 13:25
Sorry, but no, you must be wrong.

Take an example of RGB input format;
then do some filter (say blur just of an example. format stays RGB(A)).

Now I want to save it lossless (to do some external manipulation or whatever).

If I use one of the mentioned lossless codecs above:

FFMPEG / x265 lossless takes YUV 4:2:0: (larger data loss).
FFMPEG Huffyuv lossless takes YUV4:2:2 P16 : data loss.
FFMPEG Huffyuv lossless takes RGB24: OK.

I'm puzzled (that's why I'm asking)...
Or does x265 lossless do some trick so that 4:2:0 acutally is without data loss?

LigH
1st September 2025, 13:45
Of course, if your original footage is RGB (e.g. the output of a 3D animation system or a screen recording), and you don't convert it during your filtering, then use a lossless RGB codec.

But no DVB / DVD / Blu-ray is encoded in RGB. Consumer formats use an efficiently compressed video format (e.g. H.264 or VC-1) in YUV, almost certainly with 4:2:0 chroma subsampling.

If you convert your video to YUV 4:4:4 during your filtering, then use a YUV 4:4:4 codec.

nji
1st September 2025, 13:56
So you got me wrong all the time.

I never adressed the task of simple format conversion of movies (Source in, destination out).

As I explained in my first post I'm about to lossless save a movie within my workflow.

Usually it's not me to explicitely perform pixel format conversion,
but many filters in VD2 do (e.g. output RGBA),
and obviously most of the explicitely stated lossless codecs do data loss
due to their default subsampling.
(Actually I don't understand what "lossless" means at all in these cases?)

LigH
1st September 2025, 14:11
OK, once again for dummies...

If your filtering workflow returns RGB, then using a lossless RGB codec will store this output losslessly. Using a codec which enforces any other color space will add some conversion loss.
If your filtering workflow returns YUV 4:4:4, then using a lossless YUV 4:4:4 codec will store this output losslessly. Using a codec which enforces any other color space will add some conversion loss.
If your filtering workflow returns YUV 4:2:2, then using a lossless YUV 4:2:2 codec will store this output losslessly. Using a codec which enforces any other color space will add some conversion loss.
If your filtering workflow returns YUV 4:2:0, then using a lossless YUV 4:2:0 codec will store this output losslessly. Using a codec which enforces any other color space will add some conversion loss.

If any of your filters convert between two color spaces, there will be a loss between the video input and the filtering output in addition to the filter effect.
Using AviSynth filtering may avoid this because most AviSynth filters support many color spaces without a required color space/subsampling conversion.

nji
1st September 2025, 14:28
OK, once again for dummies...

Pardon, I don't see why it was you pointing the possibility of having to change the default subsampling (even when lossless codec chosen), but me.

Moreover I don't think "dummies" is appropriate in the forum.

LigH
1st September 2025, 14:33
:o Sorry for that, today I have several sources of stress in parallel...

rgr
2nd September 2025, 09:52
So... if I choose one of VD2's lossless codecs (x265 lossless, FFV1 lossless, HUFYUV lossless)
with default subsampling settings I won't get lossless?

If your source is YUV420, then lossless YUV420 will be lossless. If your source is YUV422, then lossless YUV422 will be lossless (but lossless YUV420 will not be lossless). If your source is YUV444, then lossless YUV444 will be lossless (but lossless YUV420 and YUV422 will not).

rgr
2nd September 2025, 09:55
Take an example of RGB input format;
then do some filter (say blur just of an example. format stays RGB(A)).

Now I want to save it lossless (to do some external manipulation or whatever).

If I use one of the mentioned lossless codecs above:

FFMPEG / x265 lossless takes YUV 4:2:0: (larger data loss).
FFMPEG Huffyuv lossless takes YUV4:2:2 P16 : data loss.
FFMPEG Huffyuv lossless takes RGB24: OK.

I'm puzzled (that's why I'm asking)...
Or does x265 lossless do some trick so that 4:2:0 acutally is without data loss?

No RGB->YUV conversion is completely lossless, although RGB->YUV444 can be considered as such.

LigH
2nd September 2025, 11:48
And if you have a YUV420 source, but you filter the video before saving and the filter converts to RGB, then use an RGB lossless codec.

nji
2nd September 2025, 13:01
Thankyou for all your kind help.

So the situation in general seems quite easy I might think.

BUT the point is:
I would never have expected that when choosing a lossless codec
(without further regard to pixel format) it would be lossless only
when there's a pixel formats' matching for filter graph output and encoder.

"Lossless means lossless" that's what I always thought.
(And I suspect I'm not the only "simple" user thinking so).
Now I'm aware that I produced lot of quality loss due to that presumption.

My proposal would be to have matching pixel formats as default
for lossless formats.

However I found out that some lossless formats do well only for
appropriate pixel values (lagarith-rgb, avc-yuv,...).

Moreover I made the observation that if I choose matching pixel formats
then the various lossless codecs don't seem to have much difference in
file size (bits/pixel is always about bitdepth) ???

The way it is now one seems have to take utmost care no to have
quality drop.

LigH
2nd September 2025, 17:08
Lossless codecs have a limit of compressibility. Claude Shannon, father of the modern Theory of Information, called it the entropy.

poisondeathray
2nd September 2025, 19:21
No RGB->YUV conversion is completely lossless, although RGB->YUV444 can be considered as such.

8bit RGB <=> YUV444P10 can be lossless and reversible if done properly. This was proven for all 16777216 8bit RGB colors in other threads


My proposal would be to have matching pixel formats as default
for lossless formats.


It would be difficult to implement properly, because of the myriad of pixel formats, and many codecs only support a tiny subset of formats. e.g. YUV420P10 is getting quite common, but lagarith, huffyuv do not support it

Actually official lagarith (not vdub lagarith) RGB default setting will use whatever pixel type is sent and reproduce it, if supported. e.g. If you send RGB24, it will use RGB24, if you send YUY2, it will use YUY2, if you send YV12, it will use YV12


However I found out that some lossless formats do well only for
appropriate pixel values (lagarith-rgb, avc-yuv,...).


Not sure what "do well" means...? Does that mean user error ? Does it mean unsupported pixel type and some inserted auto-conversion ? Does that mean compression ratio ?

lagarith supports YV12, YUY2, RGB . Lossless AVC supports 8 and 10bit YUV, all common subsampled formats 420,422,444, and RGB


Moreover I made the observation that if I choose matching pixel formats
then the various lossless codecs don't seem to have much difference in
file size (bits/pixel is always about bitdepth) ???


How much is "much difference" for you ?

lagarith should generally be a few% smaller than huffyuv in the same pixel format. The trade off is it's slower for encode/decode speed

The most significant factor in most situations for lossless compression ratio will be the use of I-frame only vs. long GOP (temporal compression) lossless compression . On average you might expect between 10-35% smaller, it's content dependent . Lagarith /huffyuv/ut video are i-frame only. x264/x265/ffv1 have long GOP options



The way it is now one seems have to take utmost care no to have
quality drop.

It always has been that way. Not just for video and audio. If you're sloppy with anything in life, you run a higher risk of quality problems (e.g if you're painting a fence, if you're fixing a car, fixing plumbing ....)

LigH
2nd September 2025, 19:34
YUV can be several different color spaces, depending on the angles towards the RGB color cube. There is a special color space YCgCo or YCoCg which uses a symmetric orientation, this conversion from and to RGB is indeed lossless and reversible even in 8 bit precision only.

Leo 69
3rd September 2025, 01:04
Thanks to v0lt for continuous updates for this crucial application.

v0lt
5th September 2025, 04:28
Test build VirtualDub2 v2.4.0.917 (https://disk.yandex.ru/d/R3Ob8yREy4ChvA)
Fixed crash of 64-bit version when using highpass, lowpass audio filters.
avlib_vdplugin 1.0.0.377.

rgr
8th September 2025, 16:14
Something's wrong with ProRes encoding -- YUV444 profiles save in YUV422 format.
YUV444+alpha profiles, on the other hand, always save in YUV444P12 (maybe that's how it's supposed to be, but I think without XQ, it should save in P10).

There's a missing YUV444P10 profile, but there should be two:

10-bit 4:4:4 Profiles:
-profile:v 4 -pix_fmt yuva444p10le ProRes 4444 (10-bit)
-profile:v 5 -pix_fmt yuva444p10le ProRes 4444XQ (10-bit)

.

v0lt
8th September 2025, 18:15
Something's wrong with ProRes encoding -- YUV444 profiles save in YUV422 format.
YUV444+alpha profiles, on the other hand, always save in YUV444P12 (maybe that's how it's supposed to be, but I think without XQ, it should save in P10).
Show a screenshot of the settings when you get the wrong result.

There's a missing YUV444P10 profile, but there should be two:

10-bit 4:4:4 Profiles:
-profile:v 4 -pix_fmt yuva444p10le ProRes 4444 (10-bit)
-profile:v 5 -pix_fmt yuva444p10le ProRes 4444XQ (10-bit)

And they were there (at least one) before the encoder window changed.
The "4444" and "4444xq" profiles are available when selecting the "YUV 4:4:4 + Alpha" format.

rgr
8th September 2025, 21:35
https://i.imgur.com/VfHbgha.png

Which prores_ks setting is Quality equivalent to? Bitrate?

poisondeathray
9th September 2025, 15:31
Something's wrong with ProRes encoding -- YUV444 profiles save in YUV422 format.


In Apple ProRes terminology (see the whitepaper), "HQ" indicates 10bit422 pixel type only . The term "HQ" is reserved. "HQ" is not a quality control slider for a given pixel type. For example, you cannot have "Prores HQ" and 4:4:4 .

4:4:4:4 pixel type can only be Apple Prores 4:4:4:4 and Apple Prores 4:4:4:4XQ

So the profile "HQ" setting selection in vdub2 is probably overriding the YUV 444 settings, and that would be correct behaviour. Perhaps it could be redesigned so "illegal" combinations are greyed out, or maybe a warning message

v0lt
9th September 2025, 16:20
https://i.imgur.com/VfHbgha.png
It works correctly for me. Here's how it plays in ffplay
Stream #0:0[0x1]: Video: prores (HQ) (apch / 0x68637061), yuv444p10le, 640x480, 17283 kb/s, 29.97 fps, 29.97 tbr, 30k tbn (default)

Which prores_ks setting is Quality equivalent to? Bitrate?
-qscale:v
https://trac.ffmpeg.org/wiki/Encode/VFX#Prores

poisondeathray
9th September 2025, 18:49
It works correctly for me. Here's how it plays in ffplay
Stream #0:0[0x1]: Video: prores (HQ) (apch / 0x68637061), yuv444p10le, 640x480, 17283 kb/s, 29.97 fps, 29.97 tbr, 30k tbn (default)



I'd argue that's technically incorrect - and that could cause compatibility issues in some programs

fourcc "apch" indicates Apple ProRes 422 (HQ)

rgr
9th September 2025, 19:21
It works correctly for me. Here's how it plays in ffplay
Stream #0:0[0x1]: Video: prores (HQ) (apch / 0x68637061), yuv444p10le, 640x480, 17283 kb/s, 29.97 fps, 29.97 tbr, 30k tbn (default)


It doesn't matter anymore (last post)
The source was 16-bit YUV444?
I'll check again.

-qscale:v
https://trac.ffmpeg.org/wiki/Encode/VFX#Prores[/QUOTE]

Thx.

rgr
9th September 2025, 19:23
I'd argue that's technically incorrect - and that could cause compatibility issues in some programs

fourcc "apch" indicates Apple ProRes 422 (HQ)

I think it would be best to use the options provided here: https://github.com/oyvindln/vhs-decode/wiki/ProRes-The-Definitive-FFmpeg-Guide

Profiles can be the following:
10-bit 4:2:2 Profiles
-profile:v 0 -pixel_format yuv422p10lep - ProRes Proxy
-profile:v 1 -pixel_format yuv422p10lep - ProRes LT
-profile:v 2 -pixel_format yuv422p10lep - ProRes 422 (Standard)
-profile:v 3 -pixel_format yuv422p10lep - ProRes HQ

10-bit 4:4:4 Profiles
-profile:v 4 -pix_fmt yuva444p10le ProRes 4444 (10-bit)
-profile:v 5 -pix_fmt yuva444p10le ProRes 4444QX (10-bit)

12-bit 4:4:4 Profiles
(Well when FFmpeg finally pushes a fix for ProRes 12-bit...) -- ???
-profile:v 4 -pix_fmt yuva444p12le ProRes 4444 (12-bit)
-profile:v 5 -pix_fmt yuva444p12le ProRes 4444QX (12-bit)


The FourCC codec IDs for the different Apple ProRes variants:
Apple ProRes 422 High Quality: apch (hcpa in little-endian)
Apple ProRes 422 Standard Definition: apcn (ncpa in little-endian)
Apple ProRes 422 LT: apcs (scpa in little-endian)
Apple ProRes 422 Proxy: apco (ocpa in little-endian)
Apple ProRes 4444: ap4h (h4pa in little-endian)
Apple ProRes 4444XQ: ap4x (x4pa in little-endian)

rgr
9th September 2025, 19:30
https://gcdnb.pbrd.co/images/v4mbaPC26ICN.png?o=1

gives:

Video: APCH 1920x1080 59.94fps 1012627kbps [V: prores hq, yuv422p10le, 1920x1080, 1012627 kb/s] (MediaInfo)

but also MediaInfo:
Video
ID : 1
Format : ProRes
Format version : Version 1
Format profile : 422 HQ
Codec ID : apch
Duration : 67 ms
Bit rate mode : Constant
Bit rate : 1 013 Mb/s
Width : 1 920 pixels
Height : 1 080 pixels
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 59.940 (60000/1001) FPS
Color space : YUV
Chroma subsampling : 4:4:4
Scan type : Progressive
Bits/(Pixel*Frame) : 8.147
Stream size : 8.06 MiB (100%)
Writing library : Lavc
Matrix coefficients : BT.709

ffmpeg:
Stream #0:0[0x1]: Video: prores (HQ) (apch / 0x68637061), yuv444p10le, 1920x1080, 1012627 kb/s, 59.94 fps, 59.94 tbr, 60k tbn (default)

The results are ambiguous :)

Now I know why Vegas is going crazy with these files and interpreting them however it wants :)

Edit:
But looking at frame properties makes it even more interesting :)

frame,video,0,1,0,0.000000,0,0.000000,0,0.000000,1001,0.016683,36,2105459,1920,1080,0,0,0,0,yuv444p12le,N/A,I,0,0,0,0,tv,bt709,unknown,unknown,unspecified
frame ,video,0,1,1001,0.016683,1001,0.016683,1001,0.016683,1001,0.016683,2109591,211401 6,1920,1080,0,0,0,0,yuv444p12le,N/A,I,0,0,0,0,tv,bt709,unknown,unknown,unspecified

poisondeathray
9th September 2025, 20:02
I think it would be best to use the options provided here: https://github.com/oyvindln/vhs-decode/wiki/ProRes-The-Definitive-FFmpeg-Guide


That would be ideal ;

But for any alpha channel 4444 profiles, prores_ks should be used instead - because -c:v prores still has the "not full alpha channel bug" . eg. for 12bit you get 4092 instead of 4095 . This leads to partial transparency when something should be 100% opaque. (But this is not a vdub2 issue , it's a libavcodec issue)




The results are ambiguous :)

Now I know why Vegas is going crazy with these files and interpreting them however it wants :)

That's why it's important to get as close as to apple certified specifications as possible. Various bugs and handling issues in different programs

rgr
9th September 2025, 20:29
But I must say that I haven't been able to get Yuv444p10 with FFmpeg either. FFmpeg (7 and 8) happily reports that "output will be in Yuv44p10," but the final output is always 12-bit.

Report submitted: https://code.ffmpeg.org/FFmpeg/FFmpeg/issues/20468

rgr
9th September 2025, 20:36
prores_ks should be used instead

Right.

poisondeathray
9th September 2025, 21:09
But I must say that I haven't been able to get Yuv444p10 with FFmpeg either. FFmpeg (7 and 8) happily reports that "output will be in Yuv44p10," but the final output is always 12-bit.

Report submitted: https://code.ffmpeg.org/FFmpeg/FFmpeg/issues/20468


Apple Prores 4444 is supposed to be 12bit (the whitepaper says "up to") , and up to 16bit for the alpha

Funny because Years ago, people were complaining that the ffmpeg variant was 10bit only, it finally got fixed 12bit to match official Prores 4444 a few years ago. Now you're complaining you want 10bit ??? :D

But I've never seen Official Apple Prores 4444 come in 10bit (from a certified implementation) . There are old ffmpeg produced 10bit4444 prores streams which sometimes caused problems in editors such as glitched frames - I wouldn't consider those completely valid streams, but early days for ffmpeg prores

rgr
9th September 2025, 21:19
Apple Prores 4444 is supposed to be 12bit (the whitepaper says "up to")

"Up" doesn't mean "only".

From official spec:
Like standard Apple ProRes 4444, this codec supports up
to 12 bits per image channel and up to 16 bits for the alpha channel.

rgr
9th September 2025, 21:27
OK, available profiles:


10-bit 4:2:2 Profiles
-profile:v 0 -pixel_format yuv422p10lep - ProRes Proxy
-profile:v 1 -pixel_format yuv422p10lep - ProRes LT
-profile:v 2 -pixel_format yuv422p10lep - ProRes 422 (Standard)
-profile:v 3 -pixel_format yuv422p10lep - ProRes HQ

10-bit 4:4:4 Profiles (unavailable now)
-profile:v 4 -pix_fmt yuva444p10le ProRes 4444 (10-bit)
-profile:v 5 -pix_fmt yuva444p10le ProRes 4444QX (10-bit)

12-bit 4:4:4 Profiles
-profile:v 4 -pix_fmt yuva444p12le ProRes 4444 (12-bit)
-profile:v 5 -pix_fmt yuva444p12le ProRes 4444QX (12-bit)

And pix_fmt doesn't have to be specified.

poisondeathray
9th September 2025, 21:28
Profile 4 and 5 for 10bit are the same as 4 and 5 for 12 bit. (ie. There is no 6 or 7; it's not a typo, you can look at the ffmpeg libavcodec code)

I'd feel better if you could produce an official Apple Certified Prores 4444 stream at 10bit . I tried before with various Apple Certified software, it's not possible (at least back then). If you could do that, it would provide evidence for developer to make that a valid option

When you make hacked streams that software does not expect or it's a bit "off" from the certified implementations, you potentially end up with problems. Look at your Sony Vegas experience with some of these streams.

If you really wanted to, try using a ffmpeg build about 6-7 years ago. The Prores 4444 streams were 10bit only (12bit was not available) - this is what people were complaining about . Those streams had problems in software like Resolve (I'm not sure if it was the direct reason)

rgr
10th September 2025, 09:18
Profile 4 and 5 for 10bit are the same as 4 and 5 for 12 bit. (ie. There is no 6 or 7; it's not a typo, you can look at the ffmpeg libavcodec code)

Yes, I know -- in these cases pix_fmt determines the bit depth (i.e. it should, because it doesn't work).

rgr
10th September 2025, 09:26
Those streams had problems in software like Resolve (I'm not sure if it was the direct reason)

Are you suggesting that if an app has a problem with a file encoded according to the official specification, it's the video file's fault, not the app? :)

poisondeathray
10th September 2025, 13:44
Are you suggesting that if an app has a problem with a file encoded according to the official specification, it's the video file's fault, not the app? :)

There are no problems with Apple certified streams (or very rare compared to the ffmpeg/libavcodec produced prores )

The situation has improved significantly with "unofficial" ffmpeg/libavcodec created prores encodes - but you still get cases of bugs and odd behaviour . The "unofficial" streams have a significantly higher failure rates on Mac HW silicon decoding affecting many programs (Resolve, Adobe, FCPX) - bugs like flickering, odd bad frames . SW decodes tend to have fewer problems, but they still occur albeit much less frequently than 5-10 years ago

rgr
12th September 2025, 19:26
I'm just noticing that last month VirtualDub created a YUV444P10 file for me using the HQ profile :)

frame,video,0,1,0,0.000000,0,0.000000,0,0.000000,1001,0.016683,36,2649757,1920,1080,0,0,0,0,yuv444p10le,N/A,I,0,0,0,0,tv,bt709,unknown,unknown,unspecified

And this despite the fact that Media Info at MPC thinks otherwise.

Video: APCH 1920x1080 59.94fps 1155238kbps [V: prores hq, yuv422p10le, 1920x1080, 1155238 kb/s]

v0lt
12th September 2025, 19:36
Test build VirtualDub2 v2.4.0.918 (https://disk.yandex.ru/d/R3Ob8yREy4ChvA)
avlib_vdplugin 1.0.0.386.
The FFmpeg 8.0 x64 build from BtbN is used.
The FFmpeg 8.0 win32 build from Defisym is used.
Adjusted profile selection for ProRes encoder.

jpsdr
13th September 2025, 09:21
It exists nsVDXPixmap::kPixFormat_RGB_Planar32F and nsVDXPixmap::kPixFormat_RGBA_Planar32F, but is opening RGBPS or RGBAPS implemented in Virtualdub2 ?
If i ask, it's because of this (https://forum.doom9.org/showthread.php?p=2022500#post2022500).

v0lt
13th September 2025, 09:34
It exists nsVDXPixmap::kPixFormat_RGB_Planar32F and nsVDXPixmap::kPixFormat_RGBA_Planar32F, but is opening RGBPS or RGBAPS implemented in Virtualdub2 ?
Obviously you should make a correct video file with such RAW format and check.

If i ask, it's because of this (https://forum.doom9.org/showthread.php?p=2022500#post2022500).
VirtualDub works with AviSynth via a virtual AVI file. This mode has many limitations.

coolgit
14th September 2025, 10:50
2.4.0.891
Job control files crash every 3 files.

v0lt
15th September 2025, 16:58
2.4.0.891
Job control files crash every 3 files.
I couldn't reproduce the crash.
v2.4.0.918 x64.

Washka
16th September 2025, 04:06
Hello,
Can someone from China download this if possible and put on some Gdrive or Mega?
https://wenku.csdn.net/doc/4xtmw3ftrf

There are FF* filters inside, probably newer than on codec com, files are bigger.

v0lt
20th September 2025, 11:48
Test build VirtualDub2 v2.4.0.918 (https://disk.yandex.ru/d/R3Ob8yREy4ChvA)
avlib_vdplugin 1.0.0.389.
Allowed opening AviSynth scripts.

jay123210599
23rd September 2025, 16:52
How do I create my own custom filters for VirtualDub2? I want to create one that debands videos with these settings:

clip = vstools.depth(clip1, 32)
default_mpv_deband = core.placebo.Deband(clip, planes=7, iterations=4, threshold=3.44, radius=16.0, grain=0.5)
default_mpv_deband = vstools.depth(default_mpv_deband, 8)

LigH
23rd September 2025, 16:59
VirtualDub filters (*.vdf files) must be written in a high level language (e.g. C++) to be compiled as a DLL with a specific interface.

I wonder if it might be possible to write a VapourSynth host filter as VDF. But I doubt its efficiency, you can as well just open the VS script completely filtering the source.

jay123210599
23rd September 2025, 17:39
VirtualDub filters (*.vdf files) must be written in a high level language (e.g. C++) to be compiled as a DLL with a specific interface.

So it's impossible?

LigH
23rd September 2025, 17:53
As Far As I Know ™ - it's not as simple as writing a script. It is rather comparable to writing a binary plugin for AviSynth because a script alone can't handle the problem.

But with a little patience, someone who already wrote such software will tell you for sure.

v0lt
23rd September 2025, 18:27
How do I create my own custom filters for VirtualDub2?
A good example of a video filter with comments.
http://acobw.narod.ru/samples.zip

_Al_
30th September 2025, 02:17
How do I create my own custom filters for VirtualDub2? I want to create one that debands videos with these settings:

clip = vstools.depth(clip1, 32)
default_mpv_deband = core.placebo.Deband(clip, planes=7, iterations=4, threshold=3.44, radius=16.0, grain=0.5)
default_mpv_deband = vstools.depth(default_mpv_deband, 8)
Instead of creating a dll, just create a python function, import it and then use it.

v0lt
2nd October 2025, 04:46
VirtualDub2 v2.4.1.930 (https://github.com/v0lt/VirtualDub2/releases/tag/2.4.1)

Changes:
Settings are now stored in HKEY_CURRENT_USER\SOFTWARE\VirtualDub2\VirtualDub.
Saving of some settings has been reworked.
The "Display" settings panel has been redesigned.
Fixed crash of 64-bit version when using highpass, lowpass audio filters.
Code refactoring for modern compilers.
Cosmetic changes.

Updated avlib-1.vdplugin to version 1.0.1.393.
- The FFmpeg 8.0 x64 build from BtbN is used.
- The FFmpeg 8.0 win32 build from Defisym is used.
- Added saving and reading of encoder settings from the registry.
- Added hardware video encoders NVENC, QSV, AMF for H.264 and HEVC.
- Added hardware video encoders NVENC, AMF for AV1.
- FFV1 version 0 video encoding is no longer supported.
- Adjusted profile selection for ProRes encoder.
- Allowed opening AviSynth scripts.
- Cosmetic changes.

Washka
3rd October 2025, 03:43
I try this new version VirtualDub2 v2.4.1.930 64bit and sometimes when load *.avi file from avs i got some error: requested frame not found; next valid frame = 39

Codecs are:

Video: ProRes (apch) 720x576 25fps [Video 1 [Default] (ProRes (apch), 720x576, 25.000 fps)]
Audio: MP3 48000Hz 2.0 chn [Audio 1 (MP3, 48.0 kHz, 2.0 chn)]

When i start play with second play button in VirtualDub its going ok, but when rewind video and start again few times, sometimes error to pop, video won`t start, left video window go black and got error message: requested frame not found; next valid frame = 39 but this number is random. VirtualDub2_v2.3.0.845 64Bit < works with no problem. I did not try to capture from VHS with this new version from today. Probably is working fine.

avs file is

SetFilterMTMode("QTGMC", 2)
FFVideoSource("Test.mkv", cachefile="Test.ffindex")
AssumeTFF()
QTGMC(Preset="Very Slow", FPSDivisor=1, TR2=3, Sharpness=0.4, EZKeepGrain=0.6, SourceMatch=3, Lossless=2, EdiThreads=6, matchpreset="Very Slow", matchpreset2="Very Slow")
Crop(10,0,-10,-8)
Spline64Resize(768,576)
Prefetch(16)
Tweak(hue=0, sat=1.11, bright=-8, cont=1.0, coring=false, realcalc=true)
FineDehalo(rx=2.0, ry=2.0, thmi=80, thma=128, thlimi=50, thlima=100, darkstr=1.0, brightstr=1.0, showmask=0, contra=0.0, excl=true)

I this case i`m adding external normalized *.mp3 file as Direct Stream Copy and in final saved video have no audio. Audio is there only if i put in full processing mode. Usual i have PCM audio when capturing so there is no loss and need for 2x compression.

v0lt
3rd October 2025, 04:34
sometimes when load *.avi file from avs i got some error: requested frame not found; next valid frame = 39
...
FFVideoSource("Test.mkv", cachefile="Test.ffindex")
I don't understand you.

Also, if you write "sometimes," it's likely that the preview won't play without your video file. Have you tried other files in different formats? The Avisynth filters you're using may also be causing the issue. Try disabling everything except FFVideoSource.

LigH
3rd October 2025, 06:40
I have some issues too.

When I just select a very complex *.avs file in the File-Open dialog, VirtualDub2 v2.4.1.930 already takes so much time to analyze it that the process does not respond for dozens of seconds.

Trying to "save and reload" [F5] the file after editing, I get an error that the file cannot be opened for writing. A second time it seems to write it (no write error), but FFmpeg cannot open the video. Another time there is a more complex error:

---------------------------
File open error
---------------------------
Avisynth open failure:
nnedi3: Error with the TheadPool while getting UserId!
(..\import.avsi, line XX)
(script.avs, line YY)
---------------------------
OK
---------------------------

And quitting the application,

An out-of-bounds memory access (access violation) occurred in module 'VirtualDub2'...
...reading address 0000000000000000.

Apparently the script was not even saved.

VirtualDub2 v2.4.0.917 does not delay the selection of AVS files. It saves the script and reopens it in the main window reliably.

VirtualDub2 v2.4.0.918 (which uses a newer libav set for the first time) works just as well.

v0lt
3rd October 2025, 14:34
@Washka, @LigH
In VirtualDub2 v2.4.1 you can select "input driver" for AviSynth script files:
Cashing input driver
AVIFile/Avisynth input driver (internal)

LigH
3rd October 2025, 14:48
I could, but...

When I select an MKV or MP4 file in the same directory, then the Open dialog defaults to the "Caching input driver".

And when I select an AVS file after that, it tries to read it with the "Caching input driver" again, so I need to select the "AVIFile/Avisynth input driver" again (after waiting until the application responds again).

It would possibly be useful if VirtualDub2 2.4.1 were able to remember that it should use the "AVIFile/Avisynth input driver" for AVS files by default. That might require an extension/driver preference dialog.

rgr
4th October 2025, 12:24
@Washka, @LigH
In VirtualDub2 v2.4.1 you can select "input driver" for AviSynth script files:
Cashing input driver
AVIFile/Avisynth input driver (internal)

What's the difference between them? (I didn't even notice it, I'm using the default one, which is probably AVIFile).

LigH
4th October 2025, 12:34
"Caching input driver" uses libav functions, the core of ffmpeg. (cache, not cash)

"AVIFile/Avisynth input driver" uses (probably the AviSynth API for AviSynth scripts?, and) the good old AVIFile functions Windows provides since "Video for Windows" was introduced in Windows 3.1x to handle AVI files.

v0lt
4th October 2025, 14:07
The "Caching input driver" uses FFmpeg. Therefore, it supports more AviSynth+ formats (http://avisynth.nl/index.php/Avisynthplus_color_formats). Video parameters (BT.601/709, limited/full range) should also be detected correctly.

LigH
4th October 2025, 14:14
I agree, AVIFile functions don't know about AviSynth+ enhancements. So FFmpeg, which uses most recent AviSynth+ headers, is suprior ... when it works reliably.

It worked reliably in VirtualDub2 2.4.0.917 with avcodec-61 and avformat-61.
It worked reliably in VirtualDub2 2.4.0.918 with avcodec-62 and avformat-62.

It fails irreliably in VirtualDub2 2.4.1.930 with avcodec-62 and avformat-62. I'll gladly try to help solving this issue if I am able to.

v0lt
4th October 2025, 17:20
Test build VirtualDub2 v2.4.2.931
Updated avlib_vdplugin 1.0.2.396.
- Avisynth scripts are identified by file extension. This should fix the file open window freezing for some scripts.

rgr
4th October 2025, 20:59
The "Caching input driver" uses FFmpeg. Therefore, it supports more AviSynth+ formats (http://avisynth.nl/index.php/Avisynthplus_color_formats). Video parameters (BT.601/709, limited/full range) should also be detected correctly.

I didn't even know about it.
After selecting the *.avs file, the Caching/AVFile selection window is grayed out, and I can't change it. I can only change it by selecting FFmpeg:video or AviFile input driver.
However, when I open it via Caching, I generally get "Error reading source frame xx, requested frame not found, next valid frame=17."
There's no problem with AviFile.

v 918.

LigH
4th October 2025, 21:54
VirtualDub2 v2.4.1.931 has no more delay selecting AviSynth scripts in the Open dialog.

But it cannot save anymore the script just loaded into the editor (as if it is opened exclusively without sharing flag and kept open):

---------------------------
Error
---------------------------
The file cannot be opened for writing.
---------------------------
OK
---------------------------

v0lt
5th October 2025, 05:56
But it cannot save anymore the script just loaded into the editor (as if it is opened exclusively without sharing flag and kept open)
It is a very bad idea to edit files opened with the "Caching input driver".

I could make the "AVIFile/Avisynth input driver (internal)" default. But I don't think that's the best solution.

However, when I open it via Caching, I generally get "Error reading source frame xx, requested frame not found, next valid frame=17."
You must understand that the problem that is reproduced only for you does not exist for everyone else. Unfortunately, in my experience, most users don't understand this.

LigH
5th October 2025, 06:24
It is a very bad idea to edit files opened with the "Caching input driver".

Eeh ... excuse me??? That always worked in all the previous VirtualDub2 versions since VirtualDubMod:

Open the *.avs file; pop up the internal AviSynth source editor; edit the script; save the script [F2]

v0lt
5th October 2025, 06:25
Eeh ... excuse me??? That always worked in all the previous VirtualDub2 versions since VirtualDubMod:
And have you always used the "Caching input driver" for AviSynth scripts?

LigH
5th October 2025, 06:46
I always used the driver VirtualDub2 selected by default, I never selected any other. Let's check all the previous versions I still have installed in parallel:


VirtualDub2 (build 44282/release-AMD64): "AVIFile/Avisynth input driver (internal)" is preselected when selecting a *.avs file and locked
VirtualDub2 x64 v2.2.0.755: "AVIFile/Avisynth input driver (internal)" is preselected when selecting a *.avs file and locked
VirtualDub2 x64 v2.3.0.845: "AVIFile/Avisynth input driver (internal)" is preselected when selecting a *.avs file and locked


Same behaviour since "forever":
https://www.ligh.de/pics/VD2_avs_input.png

You changed it for v2.4.1, now it fails.

I guess if you want to support AviSynth+ with the modern API, you might need to write a new input driver which allows saving the script being edited, and use this only when a *.avs[i] file is selected.

v0lt
5th October 2025, 07:51
Test build VirtualDub2 v2.4.2.932 (https://disk.yandex.ru/d/R3Ob8yREy4ChvA)
Updated avlib_vdplugin 1.0.2.397.
- Set the lowest priority for AviSynth scripts. This returns the default "AVIFile/Avisynth input driver" selection for .avs files.

rgr
5th October 2025, 12:06
You must understand that the problem that is reproduced only for you does not exist for everyone else. Unfortunately, in my experience, most users don't understand this.

I tested the latest test version.
1. When selecting an AVS file, I can choose Caching or AVIFile.
2. When selecting "Caching...", the "Error reading source frame xx" errors disappeared -- everything seems to work (at first glance). So, the error wasn't unique to me, but only I had thoroughly tested it.
3. It's unfortunate that the ProRes encoder selection window doesn't reflect the prores_ks profiles. I haven't tested further.

LigH
5th October 2025, 13:31
Test build VirtualDub2 v2.4.2.932

File - Open: Selecting an MKV or MP4, "Caching input driver" is preselected and locked. Selecting an AVS, "AVIFile/Avisynth input driver (internal)" is preselected but I could change it.

Opening an AVS with "AVIFile/Avisynth input driver (internal)", I can freely move through the timeline. Also to frame 0. No issues so far.

Opening an AVS with "Caching input driver", I can freely move through the timeline. But when I return to frame 0, I get this error "Error reading source frame XX: requested frame not found; next valid frame = YYY". And YYY is the last frame VD2 displayed before I jumped back to frame 0. Every frame between 0 and YYY-1 is now unavailable and grey until I reach frame YYY, from there every frame is available again, even before YYY, until I reach frame 0 again.

Also: When I opened the AVS with the A/A-id, I can save the edited script out of the internal script editor. But when I opened the AVS with the C-id, saving is not possible.

v0lt
5th October 2025, 18:38
Ok. I reproduced the issue with accessing some frames using the scripts from C:\Program Files (x86)\AviSynth+\Examples\

avlib_vdplugin uses four methods to obtain the desired frame from FFmpeg. It turned out that the wrong one was used for AviSynth. I changed it to the one used for image sequences, and it seems to work well.

Test build VirtualDub2 v2.4.2.934 (https://disk.yandex.ru/d/R3Ob8yREy4ChvA)
Updated avlib_vdplugin 1.0.2.401.
- Fixed frame navigation for Avisynth script files.

LigH
5th October 2025, 19:36
Seeking in the timeline is now reliable.

But not being able to save the script in the editor makes opening the script with the C-id useless.

v0lt
6th October 2025, 04:21
But not being able to save the script in the editor makes opening the script with the C-id useless.
Use the "AVIFile/Avisynth input driver" for .avs files. It's now the default (in the latest test build).

If the "Caching input driver" is automatically selected for .avs files, you only need to force the "AVIFile/Avisynth input driver" to be selected once in the file opening dialog. Or reset the settings.

LigH
6th October 2025, 06:43
Of course I will prefer the A/A-id for AVS. Thank you for making it the extension's default again.

Still, I wonder if there is any reason to use the C-id for AVS, at least a theoretical advantage of additional information useful in any workflow inside VD2. If so ... how about adding the AviSynth+ API to the A/A-id?

v0lt
6th October 2025, 17:10
Still, I wonder if there is any reason to use the C-id for AVS, at least a theoretical advantage of additional information useful in any workflow inside VD2
A simple example:
BlankClip(width=1280, height=720, pixel_type="YUVA420P8")
Info()
Also, the following formats will not work: RGBPS, RGBAPS, Y16, YUVA420P16, YUVA422P8, YUVA422P16.

LigH
6th October 2025, 17:16
"Special" colour spaces, I see ...

So, in your opinion, would adding the native AviSynth+ API to the A/A-id be "close to impossible"?

v0lt
6th October 2025, 18:24
You can also test the following scripts:
Colorbars(1280, 720)
ConvertToYUV444(matrix="Rec601")
propShow(size=40)
Colorbars(1280, 720)
ConvertToYUV444(matrix="Rec709")
propShow(size=40)

So, in your opinion, would adding the native AviSynth+ API to the A/A-id be "close to impossible"?
I don't plan to make any major changes to VirtualDub2. The code is complex, and I don't have much time for that.

rgr
6th October 2025, 19:02
"Special" colour spaces, I see ...

So, in your opinion, would adding the native AviSynth+ API to the A/A-id be "close to impossible"?

What is "A/A-id", "C-id"?

LigH
6th October 2025, 19:36
What do we talk about for days now?

"A/A-id" = "AVIFile/Avisynth input driver"
"C-id" = "Caching input driver"

rgr
7th October 2025, 13:19
Still, I wonder if there is any reason to use the C-id for AVS, at least a theoretical advantage of additional information useful in any workflow inside VD2

??? This is the MAIN advantage.

LigH
7th October 2025, 13:37
Well, rgr, right now the problem is that I need to decide between two problems:

a) I open the AVS file with the "AVIFile/Avisynth input driver": Then I can edit the script in the internal script editor, save the changes, reload it and see the changes in the main video window of VirtualDub2; but it doesn't work with "advanced" colour spaces only supported by FFmpeg, but not by AVIFile functions.

b) I open the AVS file with the "Caching input driver": Then I may be able to see the video in the "advanced" colour spaces; but I can't save changes I made in the internal script editor. I would have to close the video in VirtualDub2, edit the script in an external text editor, and then open the edited script in VirtualDub2 again. Is that convenient in your opinion?

I guess an optimal solution would be if the "AVIFile/Avisynth input driver" would not rely on AVIFile functions only but add AviSynth+ native functions in case an AVS file is opened; but that requires a developer with both remarkable competence and enough spare time.


It might even be useful to add VapourSynth to support VPY files, along with Python based syntax highlighting in the internal script editor. But I fear no hobby developer would take such a Sisyphus burden...

rgr
7th October 2025, 19:27
No, that's not convenient. Interestingly, ffmpeg.exe itself doesn't block editing of such an AVS file -- you can modify it and, for example, start a different conversion.

rgr
7th October 2025, 23:16
b) I open the AVS file with the "Caching input driver": Then I may be able to see the video in the "advanced" colour spaces; but I can't save changes I made in the internal script editor. I would have to close the video in VirtualDub2, edit the script in an external text editor, and then open the edited script in VirtualDub2 again. Is that convenient in your opinion?

You didn't check well. You can make changes in an external editor and then refresh VDub with F2 (Reload). But I noticed a downside to using "Caching..." - in the event of an error in the script, VDub only returns "FFMpeg - unable to load."

v0lt
8th October 2025, 04:58
Thanks for the tip. It was a scripted.vdplugin issue; it couldn't write to files that another application had open for reading. Fixed (https://github.com/v0lt/scripted_vdplugin/commit/ac1991e5c8685dbe0dc502fe3f02570a98ccabb9).

LigH
8th October 2025, 09:18
Just what I hoped that might help: Windows file sharing flags. Glad we shared our ideas.

rgr
8th October 2025, 09:36
Another inconvenience that's always been there comes to mind.
If the program (plugin) crashes, the output file is still held and can't be deleted. I found that it's held by the "dllhost.exe" library, which remains in memory. After killing it, the file can be deleted.
Is there a way to make this library also be killed in the event of a crash? I'm guessing it's something related to the plugin or encoder?

LigH
8th October 2025, 09:56
That can be tricky, there may be multiple instances used by different applications... and once a process crashed, it may not have much control anymore (except for the crash reporter).

v0lt
8th October 2025, 17:06
Test build VirtualDub2 v2.4.2.935 (https://disk.yandex.ru/d/R3Ob8yREy4ChvA)
Updated scripted_vdplugin 0.2.3.106
- Settings are now saved in HKEY_CURRENT_USER\SOFTWARE\VirtualDub2\Script Editor.
- Implemented the ability to save scripts opened in other programs with read access.

LigH
8th October 2025, 17:21
Works for me.

:thanks:

:thanks:

:thanks:

rgr
8th October 2025, 17:48
- Implemented the ability to save scripts opened in other programs with read access.

Great! Is the error message in the script still so laconic?

coolgit
8th October 2025, 22:04
2.4.2.934/5

caching input driver not working... greyed out.

LigH
8th October 2025, 22:31
Strange. Do you possibly have ancient hardware not supporting CPU instructions required by ffmpeg 8.0 or something similar?

coolgit
9th October 2025, 16:36
Windows 7 yes. However windows 7 worked if user use kusaanko ffmpeg.

Last known working version is VirtualDub2_v2.4.0.891, anything above that doesn't work.

So what changed?

LigH
9th October 2025, 17:46
One possible reason: The libav version changed between r917 and r918. (https://forum.doom9.org/showthread.php?p=2023263#post2023263)

v0lt
9th October 2025, 18:15
On Windows 7, you can use the win32 version.
You must install the Microsoft Visual C++ Redistributable packages for Visual Studio 2015-2022 (https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist?view=msvc-170#latest-supported-redistributable-version) or the Update for Universal C Runtime in Windows (https://support.microsoft.com/en-us/topic/update-for-universal-c-runtime-in-windows-c0514201-7fe6-95a3-b0a5-287930f3560c).

FFmpeg 8.0 x64 for Windows 7 doesn't seem to exist. However, you can try alternative methods (https://forum.doom9.org/showpost.php?p=2006672&postcount=1409).

v0lt
9th October 2025, 18:25
Test build VirtualDub2 v2.4.2.936 (https://disk.yandex.ru/d/R3Ob8yREy4ChvA)
Updated avlib_vdplugin 1.0.2.407.
- Added display of FFmpeg error text when attempting to open a file fails.
Updated scripted_vdplugin 0.3.0.112
- Fixed the display of error text when opening an AviSynth script file fails.

coolgit
9th October 2025, 18:35
Where is v2.4.0.894 file?

coolgit
9th October 2025, 19:20
FFmpeg 8.0 x64 for Windows 7 doesn't seem to exist. However, you can try alternative methods (https://forum.doom9.org/showpost.php?p=2006672&postcount=1409).


I know that. I did say i AM using kusaanko ffmpeg for windows 7. It worked up to v2.4.0.891 but does not work for 2.4.2.9**.

So why does it not work?

v0lt
9th October 2025, 20:00
So why does it not work?
I don't know. I don't have Windows 7.

VirtualDub2.exe does not use FFmpeg DLLs.

Older releases of avlib.vdplugin are available (https://github.com/v0lt/avlib_vdplugin/releases).
The first build of FFmpeg 8.0 from BtbN (2025-09-26) is also available (https://github.com/BtbN/FFmpeg-Builds/releases/tag/autobuild-2025-09-26-13-21).

v0lt
9th October 2025, 20:09
I know that. I did say i AM using kusaanko ffmpeg for windows 7. It worked up to v2.4.0.891 but does not work for 2.4.2.9**.
Other users have already answered your question on the previous page. I'll just quote the "documentation" one more time.

avlib_vdplugin history.txt (https://github.com/v0lt/avlib_vdplugin/blob/master/history.txt)
1.0.1.393 - 2025-10-01
----------------------
The FFmpeg 8.0 x64 build from BtbN is used.
The FFmpeg 8.0 win32 build from Defisym is used.
avlib_vdplugin Readme.md (https://github.com/v0lt/avlib_vdplugin/blob/master/Readme.md)
Copy FFMpeg 8.0 DLLs to 'VirtualDub2' folder.

avcodec-62.dll
avformat-62.dll
avutil-60.dll
swresample-6.dll
swscale-9.dll

coolgit
9th October 2025, 22:35
Older releases of avlib.vdplugin are available (https://github.com/v0lt/avlib_vdplugin/releases).
The first build of FFmpeg 8.0 from BtbN (2025-09-26) is also available (https://github.com/BtbN/FFmpeg-Builds/releases/tag/autobuild-2025-09-26-13-21).

I said "Where is v2.4.0.894 file?"

You know what i meant. It is the test build not release.

v0lt
10th October 2025, 04:11
I said "Where is v2.4.0.894 file?"
I don't have this. I didn't save the old test builds of VirtualDub2.

v0lt
11th October 2025, 04:34
2.4.2.934/5

caching input driver not working... greyed out.
I had grayed out panels when I disabled "Enable input pane" and "Enable output pane" in the "View" menu. :) I suggest resetting the settings.

v0lt
11th October 2025, 18:54
Test build VirtualDub2 v2.4.2.937 (https://disk.yandex.ru/d/R3Ob8yREy4ChvA)
Fixed error text display in UTF-8, system ANSI, or mixed encoding (different encodings in different strings). This fixes the display of AviSynth+ errors (https://forum.doom9.org/showthread.php?p=2023259#post2023259).
Updated scripted_vdplugin 0.3.0.112
- Changed the text highlighting styles for AviSynth and VapourSynth scripts.
- Cosmetic changes.

Test build VirtualDub2 v2.4.2.938 (https://disk.yandex.ru/d/R3Ob8yREy4ChvA)
Updated avlib_vdplugin 1.0.2.408
- Increased priority for AviSynth script files from kDC_VeryLow to kDC_Low.

StainlessS
11th October 2025, 19:15
Thanx v0lt.

v0lt
14th October 2025, 17:09
VirtualDub2 v2.4.3.944 (https://github.com/v0lt/VirtualDub2/releases/tag/2.4.3)

Changes:
Fixed error text display in UTF-8, system ANSI, or mixed encoding (different encodings in different strings). This fixes the display of AviSynth+ errors.
Cosmetic changes.

Updated avlib-1.vdplugin to version 1.0.3.410.
- Fixed a temporary freeze in the file open window when selecting certain .avs files. AviSynth script files are now identified by extension.
- Fixed frame navigation for Avisynth script files.
- Added display of FFmpeg error text when attempting to open a file fails.

Updated scripted.vdplugin to version 0.3.1.123.
- Settings are now saved in HKEY_CURRENT_USER\SOFTWARE\VirtualDub2\Script Editor.
- Implemented the ability to save scripts opened in other programs with read access.
- Fixed the display of error text when opening an AviSynth script file fails.
- Changed the text highlighting styles for AviSynth and VapourSynth scripts.
- Cosmetic changes.

rgr
14th October 2025, 18:59
H265 encoding (lossless)

"temporal-layers=0 / open-gop / min-keyint=25"

Does this notation mean that VDub writes H265 with or without open-GOP?

If with Open-GOP, can it be written without Open-GOP? Many programs cannot properly read MP4 files with Open-GOP—including VirtualDub itself.
I filed a ticket on the ffmpeg forum about this, but the response I got was "the Open-GOP idea is too shitty to fix it. Don't use it" :D

v0lt
15th October 2025, 04:38
Does this notation mean that VDub writes H265 with or without open-GOP?

If with Open-GOP, can it be written without Open-GOP? Many programs cannot properly read MP4 files with Open-GOP—including VirtualDub itself.
I haven't noticed any issues with "FFmpeg / x265 - HEVC lossless" in VirtualDub2 v2.4.3.
I can say the opposite: "Many programs can properly read MP4-HEVC files with Open-GOP."

rgr
15th October 2025, 10:26
I haven't noticed any issues with "FFmpeg / x265 - HEVC lossless" in VirtualDub2 v2.4.3.

Strange, because it's one of the easiest things to observe. A one-minute test of the latest version with a simple file:
https://i.imgur.com/1AdFbZ1.png

I can say the opposite: "Many programs can properly read MP4-HEVC files with Open-GOP."

Define many. Vegas has it (I checked), Premiere has it too (but the smallest). Even VirtualDub has it.

rgr
15th October 2025, 10:32
The error in reading the frame can sometimes be very large (499 vs 484)

https://i.imgur.com/XGX8lDp.png

ffmpeg -y -v debug -hide_banner -nostdin -nostats -f lavfi -i "testsrc2=320x240:25:d=20" -c:v libx265 -preset slow -crf 19 "Out-default.mp4"

rgr
15th October 2025, 10:53
And with the latest VirtualDub and H265 lossless open-gop.

https://i.imgur.com/QekDyJ3.png

ffmpeg -y -v debug -hide_banner -nostdin -nostats -f lavfi -i "testsrc2=320x240:25:d=20" -c:v libx265 -x265-params lossless=1 "Out-lossless-default.mp4"

nji
15th October 2025, 10:58
I can't tell if there is any connection, but exact frame seeking seems to be a problem of... ?? ffmpeg?... openCV (https://github.com/opencv/opencv/issues/9053)

(Since years!! BTW)

rgr
15th October 2025, 11:16
If you don't use open-gop ("-x265-params no-open-gop=1"), the problem disappears. It only affects H265; I haven't noticed it in H264 or AV1, probably because it is disabled there by default.

rgr
15th October 2025, 17:56
Problem with H256 Lossless Output File

I'm attaching a sample output file from Vdub H265 Lossless (a fragment, the first second, but that's enough).
The file should be 59.94fps (the source in VDub is an AVS script).

https://files.fm/u/abnbq95cxh

There's something wrong with the output files because ffmpeg sees them as Variable Frame Rate, and after converting them using a simple "ffmpeg -i vd_h265_lossless(trim).mp4 -c:v libx264 output.mp4" we get a Variable Frame Rate file.

Frame rate mode: Variable
Frame rate: 56.073 FPS
Minimum frame rate: 19.980 FPS
Maximum frame rate: 59.940 FPS


Edit: The only way I found was to recode H265 like this:
ffmpeg -hide_banner -r 60000/1001 -i "vd_h265_lossless(trim).mp4" -c:v libx264 -c:a copy "out (rp+recode).mp4"
Only copying the H265 stream using -r or -fps_mode drop does not help.


Edit 2:

I don't know what's causing it, but the video stream dump looks quite strange.

frame,video,0,1,0,0.000000,2002,0.033367,0,0.000000,1001,0.016683,44,4020777,1920,1080,0,0,0,0,yuv444p12le,N/A,I,0,0,0,0,tv,bt709,unknown,unknown,unspecified,unspecified,H.26[45] User Data Unregistered SEI message
frame,video,0,0,3003,0.050050,3003,0.050050,3003,0.050050,1001,0.016683,9835648,2420191,1920,1080,0,0,0,0,yuv444p12le,N/A,B,0,0,0,0,tv,bt709,unknown,unknown,unspecified,unspecified
frame,video,0,0,4004,0.066733,4004,0.066733,4004,0.066733,1001,0.016683,12259935,2477013,1920,1080,0,0,0,0,yuv444p12le,N/A,B,0,0,0,0,tv,bt709,unknown,unknown,unspecified,unspecified
frame,video,0,0,2002,0.033367,5005,0.083417,5005,0.083417,1001,0.016683,7263387,2568165,1920,1080,0,0,0,0,yuv444p12le,N/A,B,0,0,0,0,tv,bt709,unknown,unknown,unspecified,unspecified
frame,video,0,0,5005,0.083417,6006,0.100100,6006,0.100100,1001,0.016683,14736948,2335271,1920,1080,0,0,0,0,yuv444p12le,N/A,B,0,0,0,0,tv,bt709,unknown,unknown,unspecified,unspecified
frame,video,0,0,1001,0.016683,7007,0.116783,7007,0.116783,1001,0.016683,4024917,3234374,1920,1080,0,0,0,0,yuv444p12le,N/A,P,0,0,0,0,tv,bt709,unknown,unknown,unspecified,unspecified
frame,video,0,0,8008,0.133467,8008,0.133467,8008,0.133467,1001,0.016683,23738857,2571856,1920,1080,0,0,0,0,yuv444p12le,N/A,B,0,0,0,0,tv,bt709,unknown,unknown,unspecified,unspecified
frame,video,0,0,9009,0.150150,9009,0.150150,9009,0.150150,1001,0.016683,26314809,2648145,1920,1080,0,0,0,0,yuv444p12le,N/A,B,0,0,0,0,tv,bt709,unknown,unknown,unspecified,unspecified
frame,video,0,0,7007,0.116783,10010,0.166833,10010,0.166833,1001,0.016683,20930851,2803910,1920,1080,0,0,0,0,yuv444p12le,N/A,B,0,0,0,0,tv,bt709,unknown,unknown,unspecified,unspecified
frame,video,0,0,10010,0.166833,11011,0.183517,11011,0.183517,1001,0.016683,28962954,2441652,1920,1080,0,0,0,0,yuv444p12le,N/A,B,0,0,0,0,tv,bt709,unknown,unknown,unspecified,unspecified
frame,video,0,0,6006,0.100100,12012,0.200200,12012,0.200200,1001,0.016683,17076315,3850440,1920,1080,0,0,0,0,yuv444p12le,N/A,P,0,0,0,0,tv,bt709,unknown,unknown,unspecified,unspecified
frame,video,0,0,13013,0.216883,13013,0.216883,13013,0.216883,1001,0.016683,38227021,2662911,1920,1080,0,0,0,0,yuv444p12le,N/A,B,0,0,0,0,tv,bt709,unknown,unknown,unspecified,unspecified
frame,video,0,0,14014,0.233567,14014,0.233567,14014,0.233567,1001,0.016683,40889932,2603627,1920,1080,0,0,0,0,yuv444p12le,N/A,B,0,0,0,0,tv,bt709,unknown,unknown,unspecified,unspecified
frame,video,0,0,12012,0.200200,15015,0.250250,15015,0.250250,1001,0.016683,35340520,2882405,1920,1080,0,0,0,0,yuv444p12le,N/A,B,0,0,0,0,tv,bt709,unknown,unknown,unspecified,unspecified
frame,video,0,0,15015,0.250250,16016,0.266933,16016,0.266933,1001,0.016683,43497655,2531199,1920,1080,0,0,0,0,yuv444p12le,N/A,B,0,0,0,0,tv,bt709,unknown,unknown,unspecified,unspecified
frame,video,0,0,11011,0.183517,17017,0.283617,17017,0.283617,1001,0.016683,31408702,3927722,1920,1080,0,0,0,0,yuv444p12le,N/A,P,0,0,0,0,tv,bt709,unknown,unknown,unspecified,unspecified

v0lt
15th October 2025, 18:37
Use MKV container to save videos in VD2.

rgr
15th October 2025, 19:17
Use MKV container to save videos in VD2.

Premiere does not support MKV, but it does support MP4 H265 lossless.

v0lt
18th October 2025, 20:46
Premiere does not support MKV, but it does support MP4 H265 lossless.
Try the test build avlib_vdplugin_1.0.4.414 (https://disk.yandex.ru/d/R3Ob8yREy4ChvA).

shekh
19th October 2025, 15:43
Hmm. For some reason unknown to me, the command "File > Export > Single image (skip dialog)" in the key settings is called "File.SaveNextImage".

PS: In the next build it will be fixed to "File.SaveImageSkipDialog".

"NextImage" is because user is supposed to save "first image" using the dialog first. That was the logic :)

v0lt
19th October 2025, 19:30
"NextImage" is because user is supposed to save "first image" using the dialog first. That was the logic :)
But I still redid it.


I'm thinking of expanding UTF-8 support in the next version:

Save VD2 scripts/projects in UTF-8 format. There will no longer be \xXX codes for string parameters. Text fields will be easier to read and edit.
Set activeCodePage=UTF-8 in the manifest. This will add support for AviSynth+ scripts with Unicode character paths.

rgr
19th October 2025, 20:32
Try the test build avlib_vdplugin_1.0.4.414 (https://disk.yandex.ru/d/R3Ob8yREy4ChvA).

Thanks, I'll test it. For information, after converting to MKV/H265, ffmpeg sees the file as CFR and transcodes to H265 correctly. But in the stream dump, the frames still have the same problematic data.

rgr
20th October 2025, 22:57
Try the test build avlib_vdplugin_1.0.4.414 (https://disk.yandex.ru/d/R3Ob8yREy4ChvA).

First attempt -- at the very end, an error (stream reading?) occurred. The output file (MP4/H265) was unreadable.

ffmpeg:
[mov,mp4,m4a,3gp,3g2,mj2 @ 000002785fd75080] invalid size 0 in stsd
[mov,mp4,m4a,3gp,3g2,mj2 @ 000002785fd75080] error reading header
[in#0 @ 000002785fd74e00] Error opening input: Invalid data found when processing input
Error opening input file 1. source (astoria)-złe.mp4.
Error opening input files: Invalid data found when processing input

I'm rendering the second clip simultaneously, so we'll see how it goes...

rgr
21st October 2025, 10:07
First attempt -- at the very end, an error (stream reading?) occurred. The output file (MP4/H265) was unreadable.

I'm rendering the second clip simultaneously, so we'll see how it goes...

Same thing. "Unknown error during filter processing"

rgr
24th October 2025, 08:42
ProRes encoding

Using the simple command "-c:v prores_ks -profile:v 5" (prores xq) in ffmpeg, I can achieve the 1MB/s bitrate declared by this profile.

Video: AP4X 1920x1080 59.94fps 927211kbps [V: prores xq, yuv444p12le, 1920x1080, 927211 kb/s]

However, in VDub, this bitrate is significantly lower.

Video: AP4X 1920x1080 59.94fps 658093kbps [V: prores xq, yuv444p12le, 1920x1080, 658093 kb/s]

BTW - is it better to report issues here or on github?

Emulgator
24th October 2025, 14:11
What about mediainfo of the both encodes ?

v0lt
24th October 2025, 21:18
ProRes encoding

Using the simple command "-c:v prores_ks -profile:v 5" (prores xq) in ffmpeg, I can achieve the 1Mb/s bitrate declared by this profile.

Video: AP4X 1920x1080 59.94fps 927211kbps [V: prores xq, yuv444p12le, 1920x1080, 927211 kb/s]

However, in VDub, this bitrate is significantly lower.

Video: AP4X 1920x1080 59.94fps 658093kbps [V: prores xq, yuv444p12le, 1920x1080, 658093 kb/s]
Change the quality setting from 4 to 2 and the bitrate will increase.

BTW - is it better to report issues here or on github?
It would be better on GitHub, but...
You and many other users provide so little information to reproduce their problem. And I'm often uninterested in spending days begging for additional information to reproduce the bug. Users don't provide a video file that reproduces the bug. And there are many other things that make developers waste a lot of time and effort.

v0lt
24th October 2025, 21:27
Test build VirtualDub2 v2.5.0.978 (https://disk.yandex.ru/d/R3Ob8yREy4ChvA)
Improved Unicode support.
Script, job, and project files are now saved in UTF-8 encoding.
Updated avlib_vdplugin 1.0.4.416
- Closed GOPs is used for the "x265 - HEVC lossless" encoder.
Updated scripted_vdplugin 0.3.2.127

Added:
Updated to version 2.5.0.978.

StainlessS
24th October 2025, 22:32
Cheers v0lt, you are such a sweetie :)

rgr
28th October 2025, 14:51
What about mediainfo of the both encodes ?

The rest is the same... Are you asking about something specific?

rgr
28th October 2025, 14:52
Change the quality setting from 4 to 2 and the bitrate will increase.


This is at 2. I always do it at 2.

LigH
28th October 2025, 22:33
Is it possible to edit the syntax highlighting in the script editor? (If not in the UI, maybe at least in an INI file?)

v0lt
29th October 2025, 04:03
This is at 2. I always do it at 2.
I can completely remove the "quality" parameter, and it will work like ffmpeg.exe without specifying "qscale." That would be correct, right?

Is it possible to edit the syntax highlighting in the script editor? (If not in the UI, maybe at least in an INI file?)
The script editor doesn't support loading external styles.
Currently, styles are defined as in Notepad++.

rgr
29th October 2025, 10:07
I can completely remove the "quality" parameter, and it will work like ffmpeg.exe without specifying "qscale." That would be correct, right?

For me, yes. But you can also extend the value to start from 0. According to the manual, qscale=0 gives the same effect as the absence of this parameter. And by default you can also set it to 0 (I think it's 4). For Prores_ks encoder, the default value is 0.

LigH
29th October 2025, 10:48
Currently, styles are defined as in Notepad++.

So I hope for style support, may it just be very basic, in a distant future... :o

v0lt
29th October 2025, 16:43
But you can also extend the value to start from 0. According to the manual, qscale=0 gives the same effect as the absence of this parameter. And by default you can also set it to 0 (I think it's 4).
I don't like this idea because qscale=1 gives higher bitrate than if qscale is not set.

rgr
30th October 2025, 11:17
I don't like this idea because qscale=1 gives higher bitrate than if qscale is not set.

1. qscale=0, bitrate 828Mb/s
ffmpeg -i "Davinci Resolve stabilization.mp4" -map 0:v -c:v prores_ks -profile:v 5 -qscale 0 test_qscale0.mov
frame= 3120 fps= 54 q=-0.0 Lsize= 5267353KiB time=00:00:52.05 bitrate=828981.6kbits/s

2. qscale=1, bitrate 843Mb/s
ffmpeg -i "Davinci Resolve stabilization.mp4" -map 0:v -c:v prores_ks -profile:v 5 -qscale 1 test_qscale1.mov
frame= 3120 fps=109 q=-0.0 Lsize= 5359841KiB time=00:00:52.05 bitrate=843537.5kbits/s

3. no qscale, bitrate 828Mb/s
ffmpeg -i "Davinci Resolve stabilization.mp4" -map 0:v -c:v prores_ks -profile:v 5 test_NOqscale.mov
frame= 3120 fps= 58 q=-0.0 Lsize= 5267353KiB time=00:00:52.05 bitrate=828981.6kbits/s

The difference is slight, but you're right. Weird :)

v0lt
30th October 2025, 16:57
Test build VirtualDub2 v2.5.0.984 (https://disk.yandex.ru/d/R3Ob8yREy4ChvA)
Improved Unicode support.
Updated avlib_vdplugin 1.0.4.417
- The qscale parameter for the ProRes video encoder is disabled.

jay123210599
31st October 2025, 05:30
How do I make a video do forward and back exactly 5 seconds, like in a video player?

v0lt
2nd November 2025, 10:56
Test build VirtualDub2 v2.5.0.992 (https://disk.yandex.ru/d/R3Ob8yREy4ChvA)
Improved Unicode support.
API change: The VDXAudioEncDefinition structure has been replaced with VDXAudioEncDefinition2, whose mpDriverTagName field points to a wide string.
Minor optimizations.
Updated avlib_vdplugin 1.1.0.420
- API change: The mpDriverTagName field for audio encoders now contains a wide string.

I plan to make VirtuldubDub2 an app with good Unicode support. If you notice any issues with displaying Unicode characters, please let me know how to reproduce them.

SupermanTV
2nd November 2025, 15:16
Test build VirtualDub2 v2.5.0.984 (https://disk.yandex.ru/d/R3Ob8yREy4ChvA)
Improved Unicode support.
Updated avlib_vdplugin 1.0.4.417
- The qscale parameter for the ProRes video encoder is disabled.

Hi v0lt, I had not commented before because I was waiting for rgr's feedback on his ProRes topic..
But for my purposes, this version (v2.5.0.984+) messes up 'Capturing' in ProRes HQ..
The data stream creates dropped-frames galore, with jittery video.. Very unstable!!

- This version produces -apparently Constant frame rate- default ProRes HQ 233 Mb/s (1920x1080 source), which is not far from the Apple white paper 220 Mb/s (though Variable bit rate)..
(I like the idea of staying closer to the Official Apple numbers, but here the output is just too unstable).
- Before versions v2.5.0.984 & 992, this was OK smooth for Capturing (up to v2.5.0.978 Beta), I would get around 450 Mb/s Capturing ProRes HQ with qscale 2. (around 275 Mps with default qscale 4).

There's also the thing about ProRes flavors being applied here (that I've touched upon before here in the forum).. prores, prores_aw, prores_ks..

Thanks for revising this.

jay123210599
2nd November 2025, 17:52
When rendering subtitles, how do I get VirtualDub2 to only use the fonts attached to them, and NOT the system fonts?

rgr
3rd November 2025, 13:04
Hi v0lt, I had not commented before because I was waiting for rgr's feedback on his ProRes topic..
But for my purposes, this version (v2.5.0.984+) messes up 'Capturing' in ProRes HQ..
The data stream creates dropped-frames galore, with jittery video.. Very unstable!!
[...]
I would get around 450 Mb/s Capturing ProRes HQ with qscale 2. (around 275 Mps with default qscale 4).

Are you capturing to HDD or SSD/NVME? Maybe the HDD is too slow for the new higher bitrate?
During capture, do you see the number of dropped frames displayed? What's the CPU load? And what's the disk load in Task Manager?

By the way, have you considered capturing using a lossless codec like UT-Video?

There's also the thing about ProRes flavors being applied here (that I've touched upon before here in the forum).. prores, prores_aw, prores_ks..

VirtualDub seems to be using prores_ks. Rightfully so.

v0lt
3rd November 2025, 13:37
Test build VirtualDub2 v2.5.0.998 (https://disk.yandex.ru/d/R3Ob8yREy4ChvA)
Now the settings of the "portable" version are saved in UTF-8 encoding.

I also posted modified versions of the plugin for testing.
avlib_vdplugin_prores_qscale_2.zip
avlib_vdplugin_prores_qscale_4.zip

SupermanTV
3rd November 2025, 16:59
Are you capturing to HDD or SSD/NVME? Maybe the HDD is too slow for the new higher bitrate?
During capture, do you see the number of dropped frames displayed? What's the CPU load? And what's the disk load in Task Manager?

By the way, have you considered capturing using a lossless codec like UT-Video?

As I mentioned before, I can Capture at higher Mb/s (even 994 Mb/s)..

I do a lot of capturing.. The point here is that I'm incorporating ProRes in my 'Capture' workflow..
Yes, I've done UTvideo, but mainly good ol' Huffyuv.

But something with this new version is throwing things off in here..
Could you test the Mb/s on ProRes HQ on your end? Thanx.

VirtualDub seems to be using prores_ks. Rightfully so.

Yes, I agree!!

SupermanTV
3rd November 2025, 17:16
Test build VirtualDub2 v2.5.0.998 (https://disk.yandex.ru/d/R3Ob8yREy4ChvA)
Now the settings of the "portable" version are saved in UTF-8 encoding.

I also posted modified versions of the plugin for testing.
avlib_vdplugin_prores_qscale_2.zip
avlib_vdplugin_prores_qscale_4.zip

Could you check/test ProRes HQ on your end?
For me -with the new avlib_vdplugin- it gets capped at 233 Mb/s for some reason.

With those qscale 2 & 4 you provided, I get 465+ & 310+ Mb/s respectively.
They work as expected (as before), but obviously it's not practical to be switching when needed, plus other levels (5, 6, etc) may be needed..

I think we should have access to the qscale settings as before, and adjust the range to have an 'open' or 0 /1 value for max Mb/s..

rgr
3rd November 2025, 20:39
As I mentioned before, I can Capture at higher Mb/s (even 994 Mb/s)..
Could you test the Mb/s on ProRes HQ on your end? Thanx.

I'm not doing any capturing right now.
And I've never done it with ProRes :)
And I also have version 978.

rgr
3rd November 2025, 20:43
MPEG2 decoding

For mpg (MPEG-2) files, I would set the default input driver to MPEG instead of Caching Input Driver. Caching clearly handles such files worse (wrong frame image, sometimes it doesn't read the file all the way to the end, and the frame numbers probably don't match either).

rgr
3rd November 2025, 21:01
I'm not doing any capturing right now.
And I've never done it with ProRes :)
And I also have version 978.

Test version 998.

Video
ID : 1
Format : ProRes
Format version : Version 0
Format profile : 422 HQ
Codec ID : apch
Duration : 59 s 994 ms
Bit rate mode : Variable
Bit rate : 102 Mb/s
Width : 696 pixels
Height : 464 pixels

and

Video
ID : 1
Format : ProRes
Format version : Version 0
Format profile : 422 HQ
Codec ID : apch
Duration : 59 s 994 ms
Bit rate mode : Variable
Bit rate : 338 Mb/s
Width : 1 620 pixels
Height : 1 080 pixels

Video
ID : 1
Format : ProRes
Format version : Version 0
Format profile : 422 HQ
Codec ID : apch
Duration : 59 s 994 ms
Bit rate mode : Variable
Bit rate : 396 Mb/s
Width : 1 920 pixels
Height : 1 080 pixels

SupermanTV
3rd November 2025, 21:38
Test version 998.

Video
ID : 1
Format : ProRes
Format version : Version 0
Format profile : 422 HQ
Codec ID : apch
Duration : 59 s 994 ms
Bit rate mode : Variable
Bit rate : 396 Mb/s
Width : 1 920 pixels
Height : 1 080 pixels

Sure you used version .998?
Those look more like numbers from .978 with qscale 2..

rgr
4th November 2025, 11:25
https://gcdnb.pbrd.co/images/pqa4CD62hqcL.png?o=1

But:

Video
ID : 1
Format : ProRes
Format version : Version 1
Format profile : 4444 XQ
Codec ID : ap4x
Duration : 59 s 994 ms
Bit rate mode : Variable
Bit rate : 430 Mb/s
Width : 1 920 pixels
Height : 1 080 pixels

This needs to be looked into.

v0lt
4th November 2025, 11:27
Test build VirtualDub2_v2.5.0.998+avlib_vdplugin_1.1.0.422 (https://disk.yandex.ru/d/R3Ob8yREy4ChvA)
Updated avlib_vdplugin 1.1.0.422
- Added "Rate control" parameter for ProRes video encoder.
https://i.ibb.co/39MyYqwx/Pro-Res-rate-control.png (https://ibb.co/39MyYqwx)

rgr
4th November 2025, 11:45
Test build VirtualDub2_v2.5.0.998+avlib_vdplugin_1.1.0.422 (https://disk.yandex.ru/d/R3Ob8yREy4ChvA)
Updated avlib_vdplugin 1.1.0.422
- Added "Rate control" parameter for ProRes video encoder.
https://i.ibb.co/39MyYqwx/Pro-Res-rate-control.png (https://ibb.co/39MyYqwx)

What is this "default" mode? How it works?

v0lt
4th November 2025, 12:29
What is this "default" mode? How it works?
Hmm. In "defaut" mode, qscale isn't set, as you requested.

PS: A qscale of zero doesn't make sense. When you write "-qscale 0," you're simply not setting the global quality parameter.

jay123210599
4th November 2025, 13:55
Can someone answer my questions?

How do I make a video do forward and back exactly 5 seconds, like in a video player?

When rendering subtitles, how do I get VirtualDub2 to only use the fonts attached to them, and NOT the system fonts?

LigH
4th November 2025, 15:36
As far as I know, VirtualDub2 does not support configuring the seeking distance to a custom value. You can seek e.g. by one frame, to the next keyframe (Shift), or a "unit" of 50 frames (Alt). But the value 50 seems to be hardcoded. I don't know if this unit can be customized (to "5 times the frame rate" as you prefer).

And I have no clue how you make VirtualDub2 render subtitles. Are you using an AviSynth or VapourSynth plugin to do that? In this case, configure that function to select a different font. Maybe use a different plugin which supports more variety. If it renders image based subtitles (VOBSub, PGS), well, they are images.

jay123210599
4th November 2025, 15:58
And I have no clue how you make VirtualDub2 render subtitles. Are you using an AviSynth or VapourSynth plugin to do that? In this case, configure that function to select a different font. Maybe use a different plugin which supports more variety. If it renders image based subtitles (VOBSub, PGS), well, they are images.

I am not using an AviSynth or VapourSynth plugin in this case. I am using its TextSub filter.

LigH
4th November 2025, 16:00
Then you are probably using the TextSub filter (https://avisynth.org.ru/docs/english/externalfilters/vsfilter.htm) which is part of the ancient VSFilter package by gabest (project guliverkli)... No, wait, for the VirtualDub plugin you may need the VobSub 2.23 installer (https://www.videohelp.com/software/VobSub). I don't even have that installed anymore. It probably exists for 32 bit only?

You will have to edit the SSA / ASS subtitle file and define styles in this case.

SeeMoreDigital
4th November 2025, 16:01
I am not using an AviSynth or VapourSynth plugin in this case. I am using its TextSub filter.What you want to do can't be done!

SupermanTV
4th November 2025, 18:01
Hmm. In "defaut" mode, qscale isn't set, as you requested.

PS: A qscale of zero doesn't make sense. When you write "-qscale 0," you're simply not setting the global quality parameter.

v0lt, I think now I may have a better idea of what's going on..
With prores_ks I think you have to specify parameters/integers.
So if you don't specify qscale at all, it defaults to the profile's default/safe mode..
(and as per my tests, I think qscale=0 also defaults like this..)
I think this explains the 'limited' Mb/s we're getting when NO qscale is set, or set to 0.

Try setting -qscale=1... and -quant_mat=default (should assure highest quality).
We should get quite good Mb/s.. And that can be your Default setting if you want it like that.

** But my recommendation -as I believe it to be wiser- is that the Default can be like it's always been with the slider set at qscale=4 (healthier for apps, closer to Apple Official).
and keep the qscale=1 as an Option if someone needs insane Mb/s..

PS.. Also to note that with your updated plugin, qscale levels 2/4/etc work OK..

v0lt
4th November 2025, 18:21
The question about subtitles obviously relates to the subtitle rendering filter, not to VirtualDub2.
:search:

Then you are probably using the TextSub filter (https://avisynth.org.ru/docs/english/externalfilters/vsfilter.htm) which is part of the ancient VSFilter package by gabest (project guliverkli)... No, wait, for the VirtualDub plugin you may need the VobSub 2.23 installer (https://www.videohelp.com/software/VobSub). I don't even have that installed anymore. It probably exists for 32 bit only?
Original VSFilter 2.37 (https://sourceforge.net/projects/guliverkli/files/VSFilter/VSFilter%202.37/) (only x86)
VSFilter MPC-HC 1.7.13 (https://github.com/mpc-hc/mpc-hc/releases/) (see standalone filters archive)
xy-VSFilter 3.0.0.306 by Cyberbeing (https://github.com/Cyberbeing/xy-VSFilter/releases/tag/3.0.0.306)
xy-VSFilter v3.2.0.810 (20240123) by pinterf (https://github.com/pinterf/xy-VSFilter/releases)

How to install VobSub in x64 Windows ? (https://forum.doom9.org/showthread.php?t=172830)

PS: You can't specify the character set in the subtitle file selection dialog in VirtualDub2 (this only works in the older VirtualDub). However, this doesn't matter as long as your subtitles use UTF-8 encoding.

LigH
4th November 2025, 19:00
@v0lt - once upon a time, long long ago, the VobSub tools v2.23 installer also provided VirtualDub plugins for subtitling (textsub.vdf and vobsub_vd.vdf). But it fails unpacking all files on modern Windows systems, as old as it is.

Unfortunately, our beloved troll insists in using completely obsolete software and methods and enjoys asking questions which have only one answer: It doesn't work that way.

https://watchmejuggle.com/wp-content/uploads/2016/09/giphy.gif

So why do I even reply?

For everyone else who may be seriously interested.

jay123210599
4th November 2025, 21:34
I got it. Does VirtualDub2 there a plugin where you input a directory of fonts to use with the subtitles?

LigH
4th November 2025, 21:37
No. There is no subtitle plugin I know (not even for AviSynth or VapourSynth) which implements a separate TrueType renderer which could render fonts independent of Windows. All subtitle plugins I know rely on the TrueType rendering Windows offers, and that requires installing the fonts in Windows.

rgr
5th November 2025, 02:05
v0lt, I think now I may have a better idea of what's going on..
With prores_ks I think you have to specify parameters/integers.
So if you don't specify qscale at all, it defaults to the profile's default/safe mode..
(and as per my tests, I think qscale=0 also defaults like this..)
I think this explains the 'limited' Mb/s we're getting when NO qscale is set, or set to 0.

Try setting -qscale=1... and -quant_mat=default (should assure highest quality).

No need to set quant_mat.
https://forum.doom9.org/showpost.php?p=2024181&postcount=1858

But my recommendation -as I believe it to be wiser- is that the Default can be like it's always been with the slider set at qscale=4 (healthier for apps, closer to Apple Official).

But it is not the default then. Its "limited" or "official".

jay123210599
5th November 2025, 04:17
No. There is no subtitle plugin I know (not even for AviSynth or VapourSynth) which implements a separate TrueType renderer which could render fonts independent of Windows. All subtitle plugins I know rely on the TrueType rendering Windows offers, and that requires installing the fonts in Windows.

Does VirtualDub2 have any plugins that have to do with adding fonts to videos?

shekh
5th November 2025, 15:51
No. There is no subtitle plugin I know (not even for AviSynth or VapourSynth) which implements a separate TrueType renderer which could render fonts independent of Windows. All subtitle plugins I know rely on the TrueType rendering Windows offers, and that requires installing the fonts in Windows.

A font can be loaded from specified location to be used within the process (AddFontResourceEx).
Any subtitle renderer could potentially support this. Do they? IDK )

rgr
6th November 2025, 13:07
What you write is not a VirtualDub problem. It is an old Windows bug.
https://superuser.com/questions/91655/open-with-dialog-ignores-my-selection

"Using Resource Hacker I was able to add the missing VERSIONINFO metadata to the exe via a built-in Script Template. Once I ran the script and saved the exe (which automatically backs up the original) I could then both see all the new details I'd added in OpenWithView, and shotcut.exe began appearing in the Open With menu without any registry tweaks at all."

I found this solution, although it concerns a different file, but VirtualDub does not have this value set either.

https://i.imgur.com/7XUkADc.png

v0lt
6th November 2025, 19:27
Test build VirtualDub2 v2.5.0.1005 (https://disk.yandex.ru/d/R3Ob8yREy4ChvA)
Set "activeCodePage=UTF-8" in the application manifest. This will add support for AviSynth+ scripts with Unicode character paths.
Added the ability to load processing setting files (.vdscript) using drag-and-drop.
Updated avlib_vdplugin 1.1.0.424.
Updated scripted_vdplugin 0.3.2.130.

Try setting -qscale=1... and -quant_mat=default (should assure highest quality).
I can add the ability to set qscale=1 in the future if needed. But I don't want to make control for quant_mat.

"Using Resource Hacker I was able to add the missing VERSIONINFO metadata to the exe via a built-in Script Template. Once I ran the script and saved the exe (which automatically backs up the original) I could then both see all the new details I'd added in OpenWithView, and shotcut.exe began appearing in the Open With menu without any registry tweaks at all."

I found this solution, although it concerns a different file, but VirtualDub does not have this value set either.
I'll add the "ProductVersion" field, but I doubt this will fix the Windows bug for VirtualDub2. Perhaps the very fact of changing the executable file had an impact.

Washka
7th November 2025, 06:22
I captured 6 VHS tapes with VirtualDub2 v2.5.0.1005 build, got 0 drop frames. Win 11, audio in sync, Lagarith codec.
All OK

edit Vdub was 64bit

jay123210599
8th November 2025, 00:08
When using the TextSub filter, how do I point it to a directory of fonts like this? fontdir="F:/Hybrid/settings/fonts"

LigH
8th November 2025, 00:14
The filter textsub.vdf can only use fonts installed in Windows.

v0lt
8th November 2025, 07:12
Maybe it's finally time to separate the plugins and video filters folders? :)

jay123210599
8th November 2025, 11:07
Maybe it's finally time to separate the plugins and video filters folders? :)

How do I do that?

LigH
8th November 2025, 11:42
I believe v0lt did not mean you should do that, but he may change the structure of the VirtualDub2 installation in future versions...

jpsdr
8th November 2025, 13:13
Meaning having ".\plugins" directory for video filters (*.vdf files) and ".\plugins32" for plugins for x86 version (or ".\plugins64" for x64 version ) (*.vdplugin files) ?
I'm doing this for decades.

v0lt
8th November 2025, 14:52
Meaning having ".\plugins" directory for video filters (*.vdf files) and ".\plugins32" for plugins for x86 version (or ".\plugins64" for x64 version ) (*.vdplugin files) ?
I'm doing this for decades.
In fact, the "plugins32" and "plugins64" folders were never needed. Previously and now, there's no distinction between storing .vdf and .vdplugin files.

I looked at the code for VirtualDub 1.9.11, VirtualDub 1.10.4, and VirtualDub2.
All these versions load plugins the same way. First, they load .vdf and .vdplugin files from the "plugins" folder, and then the same files from the "plugins64" or "plugins32" folder.

See the source code for the location of all plugin loads (https://github.com/shekh/VirtualDub2/blob/0ef5cdc3554e9c8f8129b17539a13f0f0b38c038/src/VirtualDub/source/Init.cpp#L502).


PS: Now I remember. avlib-1.vdplugin simultaneously contains the source plugin, video encoders, audio encoders, and video filters. Eh.

jay123210599
8th November 2025, 15:23
I believe v0lt did not mean you should do that, but he may change the structure of the VirtualDub2 installation in future versions...

How would that help me with my problem?

LigH
8th November 2025, 15:45
Not at all, because you seem to insist in impossible solutions ... instead of the possible, which don't work in VirtualDub2 though.

isidroco
9th November 2025, 03:27
I found the cause. If I leave the default path in the Deshaker filter ("C:\Users\Właściciel\AppData\Local\Deshaker"), VDub crashes when saving the project. Until I save the project, VDub (or rather the filter) saves everything correctly to that path.

Maybe it's caused by non ascii user: "Właściciel" had problems before with Paths/names including spanish: áéíóúñ in both AVIsynth and deshaker... Now I avoid using those.

v0lt
9th November 2025, 07:37
Maybe it's caused by non ascii user: "Właściciel" had problems before with Paths/names including spanish: áéíóúñ in both AVIsynth and deshaker... Now I avoid using those.
I think in VirtualDub2 v2.5.0.1005+ this problem may no longer exist.

jay123210599
10th November 2025, 16:02
How do I add subtext (https://github.com/vapoursynth/subtext) and assrender (https://github.com/AmusementClub/assrender) as plugins for VirtualDub2?

LigH
10th November 2025, 16:17
Not at all. They are for VapourSynth, which is a Python based scripting engine. You can load a VPY script in VirtualDub2, but the VapourSynth script will have to load the source file and handle all the filtering outside, and VirtualDub2 will only pass the result through to the encoders and save the result.

rgr
11th November 2025, 15:19
I think in VirtualDub2 v2.5.0.1005+ this problem may no longer exist.

This problem has been gone for a long time, I don't even remember which version it was.

jpsdr
11th November 2025, 17:38
In fact, the "plugins32" and "plugins64" folders were never needed.
But for me it's pratical, it gives some kind of order, not putting every files in haphazardly.

blob2500
12th November 2025, 21:09
Test build VirtualDub2 v2.5.0.1005 (https://disk.yandex.ru/d/R3Ob8yREy4ChvA)


Hi,
is it possible that one day you will also update the integrated x264 codec (vdplugin) ?

x264 - Core 157 r2935 is quite dated (feb. 2019).

Thanks

An updated plugin has been posted in the VideoHelp forum (https://forum.videohelp.com/threads/414223-VirtualDub2-Fork-By-v0lt#post2740481), did not test yet...
I tested this plugin update (core 164 r3191) it works well, but the encoding is slightly slower; approximately around 3-4%.

Washka
12th November 2025, 21:56
I also using x264, x265 have a little too smooth image for vhs even on higher bitrate.

v0lt
13th November 2025, 04:10
Hi,
is it possible that one day you will also update the integrated x264 codec (vdplugin) ?

x264 - Core 157 r2935 is quite dated (feb. 2019).
The source code is here - https://sourceforge.net/p/vdfiltermod/x264/ci/master/tree/

Need:
1. Rework the old project file for Visual Studio 2019 or 2022.
2. Automate the x264 library build.
3. Merge codec_8 and codec_10 (I think this separation is no longer necessary, and the bit depth could be selected in the x264.vdplugin settings).
4. Make the updated project publicly available.

blob2500
13th November 2025, 11:06
If I'm not mistaken, the version of the plugin currently present in virtualdub2 is based on the latest "official" vfw version (2017):

https://sourceforge.net/projects/x264vfw/files/


To avoid too much work, wouldn't it be possible to build directly on this?

https://sourceforge.net/projects/mpxplay/files/x264vfw/

It's updated to 2025, and I think many things are already ready, such as the 8/10-bit color depth unification.

(there is also the x265vfw version on the same author's site)

LigH
13th November 2025, 11:09
The VDub2 codec plugin is not a VfW codec. It is not to be installed in Windows. And I guess it has a more flexible interface to integrate into VDub2 better.

blob2500
13th November 2025, 11:30
Yes, I know that. But it's irrelevant. Maybe I didn't explain myself well, sorry.

I meant to base the plugin version on the most recent vfw version of x264. The plugin version, including the current one (core 157 r2935), is derived from vfw r2851, then updated by the previous VirtualDub2 author to r2935.
If I replace the vfw's .dll extension with .vdplugin and place it in the plugins folder, it works like a normal VirtualDub2 codec plugin. However, some superfluous features remain available that should be removed from the plugin version, such as the vfw/external file drop-down menu, typical of the vfw interface.

https://forum.doom9.org/showpost.php?p=1777059&postcount=89

What is x264 plugin (actually 2 plugins for each bitdepth): this is basically x264vfw from https://sourceforge.net/projects/x264vfw/ with some cosmetic changes:
VFW API is extended to support format negotiation etc.
File output is removed.
Decode support is removed.
Format conversion is disabled (handled by VD).

In fact some arbitrary vfw codec can be simply renamed as vdplugin, this may be useful to have many portable versions of same codec.

LigH
13th November 2025, 14:37
I guess I should notify autodidact in the VideoHelp forum (https://forum.videohelp.com/threads/414223-VirtualDub2-Fork-By-v0lt#post2786346) if he may be able to participate here.

blob2500
13th November 2025, 15:44
Thank you very much for your interest, LigH :)

v0lt
13th November 2025, 16:20
https://forum.doom9.org/showpost.php?p=1777059&postcount=89
...
In fact some arbitrary vfw codec can be simply renamed as vdplugin, this may be useful to have many portable versions of same codec.
It works, but only as an encoder (decoding does not work).
https://github.com/shekh/VirtualDub2/issues/7

blob2500
13th November 2025, 19:14
xvid, however, is an encoder that can already be used as a plugin by placing it in the virtualdub2 plugins folder. Of course, the decoder code remains inside, and as you mentioned, it doesn't work.

Moreover, the x264-8.vdplugin / x264-10.vdplugin plugins also don't work as decoders. For that, we can use the other libraries already present in virtualdub2;but it is not possible to make cuts without recoding :(

The new x264vfw by mpxplay can already be used as a plugin, but unlike Xvid, there are still some ambiguous entries in the user interface that should be removed and can cause problems, such as those related to "virtualdub hack," which shekh had removed to derive the plugin from the original vfw version.

"virtualdub hack" should always be enabled with virtualdub's native avi output, but should certainly be disabled in other cases if I remember correctly (certainly if you choose "output file" from the vfw interface) otherwise you get an incorrect frame order. Options removed; rightly so, for a codec that is intended to be "integrated" into virtualdub2, a second output file in encoder interface makes no sense.

v0lt
14th November 2025, 04:56
Test build VirtualDub2 v2.5.0.1026 (https://disk.yandex.ru/d/R3Ob8yREy4ChvA)
Improved Unicode support.
Updated avlib_vdplugin 1.1.0.426
- Fixed a crash when opening AviSynth+ scripts in some rare situations.

LigH
14th November 2025, 08:13
At least, autodidact published an April 2025 build of x264 plugins (https://forum.videohelp.com/threads/414223-VirtualDub2-Fork-By-v0lt#post2786398) (0.165.3215 32c3b80).

rgr
14th November 2025, 20:32
Test build VirtualDub2 v2.5.0.1005 (https://disk.yandex.ru/d/R3Ob8yREy4ChvA)
Set "activeCodePage=UTF-8" in the application manifest. This will add support for AviSynth+ scripts with Unicode character paths.


Unfortunately, I don't know if a complete transition to UTF-8 is premature.
I see some Avisynth plugins don't accept UTF8 filenames, such as TimeCodeFPS. Such a script loads correctly in VDub, but "ffmpeg -i script.avs" throws an error when the plugin reads the file.
So far I have been using code page 1250 and there was no problem (apart from the lack of national characters in the VDub editor).


I'll add the "ProductVersion" field, but I doubt this will fix the Windows bug for VirtualDub2. Perhaps the very fact of changing the executable file had an impact.

Well, it didn't help. But I'll check after restarting the computer.

v0lt
15th November 2025, 07:05
At least, autodidact published an April 2025 build of x264 plugins (https://forum.videohelp.com/threads/414223-VirtualDub2-Fork-By-v0lt#post2786398) (0.165.3215 32c3b80).
Have you tested these encoders?
I can add them to the next VD2 build...

Unfortunately, I don't know if a complete transition to UTF-8 is premature.
I see some Avisynth plugins don't accept UTF8 filenames, such as TimeCodeFPS. Such a script loads correctly in VDub, but "ffmpeg -i script.avs" throws an error when the plugin reads the file.
Your observation shows that "activeCodePage=UTF-8" works well for VD2 and should be applied to ffmpeg.exe as well (perhaps this can be done via an external manifest file).

LigH
15th November 2025, 08:05
Did just a very quick test (slow preset CRF, custom option "--nr"). Encoded well, result comparable to a previous encode with same options, open in VDub2 again, play in MPC-BE.

Just like the previous encode with the shipped x264-8b, both encodes also had the same error: Premature abort during playback in VDub2, "requested frame not found; next valid frame = 484" near the end (but all frames are displayed when going forward frame by frame). May not be the fault of the encoder but of the playback system or multiplexers, same error with MP4 +faststart (https://www.ligh.de/test/Beinahe-Unfall_8.mp4), MOV +faststart (https://www.ligh.de/test/Beinahe-Unfall_8.mov), and MKV (https://www.ligh.de/test/Beinahe-Unfall_8.mkv). / x264-10b, MP4 +faststart (https://www.ligh.de/test/Beinahe-Unfall_10.mp4)

v0lt
15th November 2025, 10:56
@LigH
Thank you.

Test build VirtualDub2 v2.5.0.1057 (https://disk.yandex.ru/d/R3Ob8yREy4ChvA)
Improved Unicode support.
Updated x264 video encoders (libx264 core 165 r3215 32c3b80). Thanks to autodidact from https://forum.videohelp.com/.
Updated avlib_vdplugin 1.1.0.428.
Updated scripted_vdplugin 0.3.2.133:
- Fixed a crash when opening AviSynth+ scripts in some rare situations.

PS: Updated to v2.5.0.1057.

rgr
15th November 2025, 19:17
xxxxx

v0lt
22nd November 2025, 18:35
Test build VirtualDub2 v2.5.0.1064 (https://disk.yandex.ru/d/R3Ob8yREy4ChvA)
Fixed display of video window in capture mode.
Updated avlib_vdplugin 1.1.0.430:
- Updated FFmpeg 8.0.1.

rgr
28th November 2025, 10:57
Test build VirtualDub2 v2.5.0.1064 (https://disk.yandex.ru/d/R3Ob8yREy4ChvA)
Fixed display of video window in capture mode.
Updated avlib_vdplugin 1.1.0.430:
- Updated FFmpeg 8.0.1.

I don't know if this has already been corrected, but I'm sending the discussion for you to read:
https://code.ffmpeg.org/FFmpeg/FFmpeg/issues/20709
Source file: MP4 H265 lossless from VDub.

v0lt
28th November 2025, 19:55
Test build VirtualDub2 v2.5.0.1075 (https://disk.yandex.ru/d/R3Ob8yREy4ChvA)
Added remembering of video and audio file formats in save dialogs.

rgr
11th December 2025, 16:56
Has anyone noticed that when opening an AviSynth script using Caching I.Dr., the first frames of the audio are cut off (not always)? (v1005)

Caching I.D.:

https://gcdnb.pbrd.co/images/jnEOXP9bnUmX.png?o=1

AviFile:

https://gcdnb.pbrd.co/images/Moqnx7zDMDNw.png?o=1

v0lt
12th December 2025, 07:47
VirtualDub2 v2.5.1.1095 (https://github.com/v0lt/VirtualDub2/releases/tag/2.5.1)

Changes:
Improved Unicode support.
Script, job, project and settings files are now saved in UTF-8 encoding.
Set "activeCodePage=UTF-8" in the application manifest. This will add support for AviSynth+ scripts with Unicode character paths for Windows 10 v1903 or later.
API change: The VDXAudioEncDefinition structure has been replaced with VDXAudioEncDefinition2, whose mpDriverTagName field points to a wide string.
Added the ability to load processing setting files (.vdscript) using drag-and-drop.
Updated x264 video encoders (libx264 core 165 r3215 32c3b80). Thanks to autodidact from https://forum.videohelp.com/.
Fixed display of video window in capture mode.
Added remembering of video and audio file formats in save dialogs.
Fixed opening of ACM codec settings.
Minor optimizations and cosmetic changes.

Updated avlib-1.vdplugin to version 1.1.1.438.
- Updated FFmpeg 8.0.1.
- Closed GOPs is used for the "x265 - HEVC lossless" encoder.
- API change: The mpDriverTagName field for audio encoders now contains a wide string (see VDXAudioEncDefinition2 in VirtualDub2 v2.5).
- Added "Rate control" parameter for ProRes video encoder.
- Fixed a crash when opening AviSynth+ scripts in some rare situations.
- Added "Load defaults" button for audio encoders.
- Fixed muting of the first audio samples for some media files.

Updated scripted.vdplugin to version 0.3.3.136.
- Fixed a crash when opening AviSynth+ scripts in some rare situations.

SupermanTV
12th December 2025, 18:58
v0lt, thank you for the new stable release.

Unfortunately, that ProRes 'Default' setting we discussed here weeks ago is still unusable for me.. (Mb/s capped at 233 / flawed/jumpy frames in output, looks like sync issue)
I do Capturing in ProRes HQ (Camera YUY2 input) and this new setup is awkward.. I have to remember to switch from Default to 'qs slider control'..
Why was it changed in the first place?
Hopefully you can retake/revise the issue... Thanks.

v0lt
13th December 2025, 05:13
I have to remember to switch from Default to 'qs slider control'..
You only need to set the encoder once and your choice setting will be saved.

tebasuna51
13th December 2025, 07:53
VirtualDub2 v2.5.1.1095 (https://github.com/v0lt/VirtualDub2/releases/tag/2.5.1)

Don't work in my old W10 (last test version v2.5.0.1075 work fine), the file avcodec-62.dll is present in the folder:

v0lt
13th December 2025, 09:46
Don't work in my old W10 (last test version v2.5.0.1075 work fine), the file avcodec-62.dll is present in the folder:
I have VirtualDub2 running and working without any problems.
Windows 10 22H2 x64, VirtualDub2 x 64 v2.5.1.1095, avcodec-62.dll n8.0.1-28-g9c93070155-20251211

PS: The SetThreadDescription function (https://learn.microsoft.com/en-us/windows/win32/api/processthreadsapi/nf-processthreadsapi-setthreaddescription) is available starting with Windows 10 v1607. It looks like something is wrong with your Windows.

PPS: You can also try the Win32 version. It has fewer external dependencies.
Or use dll from older version of FFmpeg - ffmpeg-n8.0.1-24-g0cc8bfa50f-win64-gpl-shared-8.0.zip (https://github.com/BtbN/FFmpeg-Builds/releases/download/autobuild-2025-12-10-12-57/ffmpeg-n8.0.1-24-g0cc8bfa50f-win64-gpl-shared-8.0.zip)

rgr
13th December 2025, 12:06
v0lt, thank you for the new stable release.

Unfortunately, that ProRes 'Default' setting we discussed here weeks ago is still unusable for me.. (Mb/s capped at 233 / flawed/jumpy frames in output, looks like sync issue)
I do Capturing in ProRes HQ (Camera YUY2 input) and this new setup is awkward.. I have to remember to switch from Default to 'qs slider control'..
Why was it changed in the first place?
Hopefully you can retake/revise the issue... Thanks.

Does this also happen with other codecs (UTVideo, others)?

tebasuna51
15th December 2025, 08:04
PPS: You can also try the Win32 version. It has fewer external dependencies.
Thanks.
Win32 version works fine

Or use dll from older version of FFmpeg
Also with these dll's.

rgr
20th December 2025, 15:56
Is VDub freezing for anyone else using DirectX9? I didn't have this problem before, but now it freezes when switching to another window while playing a VDub file. I switched to DirectX11 and the problem disappeared. Switching back to DirectX9, the problem persists.
v1005

v0lt
22nd December 2025, 04:59
Is VDub freezing for anyone else using DirectX9? I didn't have this problem before, but now it freezes when switching to another window while playing a VDub file...
v1005
I don't care about bugs in older versions when a newer release has been released.
I have no issues with Direct3D 9. VirtualDub2 x64 v2.5.1.1095 (https://github.com/v0lt/VirtualDub2/releases/tag/2.5.1), Windows 10 22H2, Intel UHD 750.

PS:
Test buildVirtualDub2 v2.5.2.1105 (https://disk.yandex.ru/d/R3Ob8yREy4ChvA)
Fixed display of the duration of the selected range in the status.
Potential memory leaks have been fixed.

rgr
25th December 2025, 15:11
I don't upgrade as long as I have some program windows open.

However, in the latest version, "Source frame rate adjustment" -> "Change so video and audio durations match" doesn't work.

After selecting this option, nothing happens. However, after entering the value in parentheses in the "Change frame rate to:" field, the timeline is corrected.

Edit: however, I can confirm that the latest versions solve the problem of bad audio timeline using Caching input driver+AVS script.

v0lt
25th December 2025, 16:45
However, in the latest version, "Source frame rate adjustment" -> "Change so video and audio durations match" doesn't work.
I would remove this feature altogether. It always worked incorrectly.

rgr
25th December 2025, 21:44
I would remove this feature altogether. It always worked incorrectly.

I suggest not. At least it shows the correct value (I think). And I'd like to point out that entering this value in the field causes the correct behavior (I think).

v0lt
28th December 2025, 20:00
I think I understand why you think "Change so video and audio durations match" isn't working. That's because the "Cashing input driver" reports the same duration for both video and audio.
But if you use the built-in "AVI input driver," it will show you something like this.
https://i.ibb.co/0j7msr3z/VD-frame-rate.jpg (https://ibb.co/0j7msr3z)
Current: 23.976 fps. This is the correct value for the video.
"Change so video and audio durations match": 23.982 fps.
This estimated fps value may not be accurate for various reasons:
1. The actual video and audio durations often differ slightly. This is not a reason to change the video frame rate.
2. The audio bitrate specified in the AVI file header may be incorrect. This often happens when 44100 Hz audio is encoded into MP3 using a Fraunhofer encoder. In this case, the header states 128000 bps, but the actual bitrate is approximately 127704 bps. In this case, you need to adjust the audio bitrate, and leave the video frame rate alone.

rgr
3rd January 2026, 19:43
I don't care about bugs in older versions when a newer release has been released.
I have no issues with Direct3D 9.

I can confirm that the latest VDub (test) also hangs with DirectX9, and the only way to fix it is to kill it from the task manager.
Switching to DirectX11 solves the problem.
The hang seems to always occur in one specific instance: when I switch from VDub to another program/window while a video is playing (+AVS loaded via CID as usual).
I don't know which version this has been happening since, as I was previously working with OpenGL.

wonkey_monkey
7th January 2026, 13:35
I don't know if anyone will care, but:

With Display options set to Use OpenGL, scale at 75%, and filter as Bicubic, the image comes out somewhat aliased. I haven't seen it happen with any other combination yet.

https://i.ibb.co/CdWbNS0/image.png

Bicubic on left, bilinear on right.

tormento
7th January 2026, 13:53
With Display options set to Use OpenGL, scale at 75%, and filter as Bicubic, the image comes out somewhat aliased.
Any kernel introduces some artifacts.

When zooming to see the REAL quality of a video or an applied filter, I prefer to use the least invasive kernel possible.

Otherwise, what you are watching are the filter artifacts, not the video itself.

wonkey_monkey
7th January 2026, 14:09
Bicubic shouldn't introduce these artefacts. It looks fine under DirectX 9, for example, so there's something wrong somewhere under OpenGL.

Actually I think it's just not implemented and is reverting to Nearest Neighbour.

jay123210599
18th January 2026, 02:15
I put this in a Vapoursynth script:
clip = clip.std.SetFrameProps(_Matrix=1, _Primaries=1, _Transfer=1)
But when I put the script in VirtualDub2 with the code, the actual format was YUV420 instead of YUV420-709. How do I change that?

rgr
22nd January 2026, 12:25
Use Caching Input Driver, not AVIFile.

v0lt
25th January 2026, 06:28
... or configure the Decode Format settings (https://forum.doom9.org/showthread.php?p=2005175#post2005175).

jay123210599
25th January 2026, 14:21
Use Caching Input Driver, not AVIFile.

How would that help with my problem?

rgr
26th January 2026, 09:32
AVIFile does not detect the format, it uses the one you set in Decoder Format.

jay123210599
27th January 2026, 19:17
AVIFile does not detect the format, it uses the one you set in Decoder Format.

How do I use Caching Input Driver?

rgr
3rd February 2026, 21:34
How do I use Caching Input Driver?

File-->Open video file-->Open using...

jay123210599
13th February 2026, 00:11
File-->Open video file-->Open using...

It doesn't work for .vpy scripts.

StainlessS
13th February 2026, 13:24
It doesn't work for .vpy scripts.

Maybe like so, [Set, "Files Of Type"] [EDIT: Untested, I dont use vpy]
https://i.postimg.cc/Jhk32STw/Untitled-00.jpg (https://postimages.org/)

v0lt
13th February 2026, 14:32
Test build VirtualDub2 v2.5.2.1123 (https://disk.yandex.ru/d/R3Ob8yREy4ChvA)
Fixed display of the duration of the selected range in the status.
Potential memory leaks have been fixed.
32-bit "PICVideo Lossles JPEG Codec" (pvljpg20.dll) is not supported because it crashes when opening the video compression selection window.
Fixed video capture with compression in the "FFmpeg FFV1" and "x264 8 bit" codecs.

jay123210599
14th February 2026, 01:07
Maybe like so, [Set, "Files Of Type"] [EDIT: Untested, I dont use vpy]
https://i.postimg.cc/Jhk32STw/Untitled-00.jpg (https://postimages.org/)

How do I use Caching Input Driver for my scripts, then?

jay123210599
14th February 2026, 01:14
How do I set the time format to this: 0:00:06.95

nji
25th February 2026, 15:48
https://www.virustotal.com/gui/url/92cca0b470861d357b487344b287559b60d79bcdbc76863f95f8b93cea51c0c0?nocache=1

Thundik81
25th February 2026, 18:33
https://www.virustotal.com/gui/url/92cca0b470861d357b487344b287559b60d79bcdbc76863f95f8b93cea51c0c0?nocache=1

It's a scan for the link!

https://github.com/v0lt/VirtualDub2/releases
>
sha256:bdaed02fd92ddd67e9ee43ddc9cacb79192462833fc122e1e2608fe1f6d8ac93
>
https://www.virustotal.com/gui/file/bdaed02fd92ddd67e9ee43ddc9cacb79192462833fc122e1e2608fe1f6d8ac93
>
Up to you to Reanalyze all files included:
https://www.virustotal.com/gui/file/bdaed02fd92ddd67e9ee43ddc9cacb79192462833fc122e1e2608fe1f6d8ac93/relations

nji
25th February 2026, 18:54
You are right, thank you. :)
Sorry about that!

However that's kind of confusing at the virustotal page.
I always thought that by entering an URL there would make unnecessary to d/l the file,
but have virustotal analyse the file directly from the URL given.
This doesn't seem to be possible?

Columbo
25th February 2026, 19:43
How do I set the time format to this: 0:00:06.95 What time format? Where?

nji
27th February 2026, 21:13
I was about to use an external encoder (for the first time) of ffmpeg.

What I need is to encode the video, leave the audio as-is and put it into an mkv container.

But doing File/Export/UsingExternalEncoder I always get:
Invalid command line template: "-i - -c:v libsvtav1 -preset 5 -crf 22 -pix_fmt yuv420p10le -c:a copy "%file%""

What I did before:

Options/ExternalEncoders...
Have to define at the Encoders tab first. My entries:
Video Encoder
C:\<FullPathToFFMPEG>\ffmpeg.exe
-i - -c:v libsvtav1 -preset 5 -crf 22 -pix_fmt yuv420p10le -c:a copy "%file%"
%(outputname).video
I do not define an audio encoder in the other tab.
Next go to Encoder Sets
and define a set with only the former video encoder entered.
That's it.

What did I do wrong?

v0lt
28th February 2026, 15:04
Options/ExternalEncoders...
Have to define at the Encoders tab first. My entries:
Video Encoder
C:\<FullPathToFFMPEG>\ffmpeg.exe
-i - -c:v libsvtav1 -preset 5 -crf 22 -pix_fmt yuv420p10le -c:a copy "%file%"
%(outputname).video
I do not define an audio encoder in the other tab.
Next go to Encoder Sets
and define a set with only the former video encoder entered.
That's it.

What did I do wrong?
It is obvious that an encoder of the "Video encoder" type will not be given audio data.

nji
28th February 2026, 16:03
It is obvious that an encoder of the "Video encoder" type will not be given audio data.

OK, I removed "-c:a copy" from the video encoder's parameters.

Then additionally defined an audio encoder:
Command as of video encoder, options as:
-i - -c:a copy "%file%"
Input format: Raw audio data (or WAV file, doesn't matter).
Compression: Bypass...

Next added the defined audio encoder to the encoder set.
(Still no multiplexer defined).

Then do the Export/ ExternalEncoder.
Message:
Invalid command line template: -i - -c:a copy "%file%"

What might be obviously wrong now?

nji
28th February 2026, 20:31
Very strange... there seems to be no knowledge in the forum how to use external encoders :confused:

However I just discovered that your app can't read vdscript files (saved by itself), whereas orig VD2 has no problem with.

v0lt
1st March 2026, 11:23
Very strange... there seems to be no knowledge in the forum how to use external encoders :confused:
Sticky: VirtualDub External Encoder Tutorials (https://forum.doom9.org/showthread.php?t=171141)

nji
1st March 2026, 16:15
I already saw that source, but as it is as old (for VD1.10!), I wouldn't have expected that these entries do still work for VD2.x.

OK, with them I tried a simplified example:
source: h264+aac movie.

wanted destination: x265 lossless + audio copy.
ffmpeg CLI: ffmpeg -i SourceAVC1.mp4 -c:v libx265 -crf 0 -c:a copy s.mkv does fine.

Now define as external encoder in VD2.5:
Video encoder arguments:
-f rawvideo -c:v libx265 -crf 0 -i - "%(tempvideofile)"
Audio encoder arguments:
-i - -c:a copy "%(tempaudiofile)". Other tab: WAV file and bypass compression.
Addition simple muxing by ffmpeg of both defined.

Start stops at once. Log:
Beginning dub operation.
[i] Dub: Input (decompression) format is: YUV420.
[i] Dub: Output (compression) format is: YUV420.
[i] Dub: Command line encoding started with format: YUV420.
[i] video encoder: "D:\<Path2ffmpeg>\ffmpeg.exe" -f rawvideo -c:v libx265 -crf 0 -i - "D:\video.mkv"
[i] audio encoder: "D:\<Path2ffmpeg>\ffmpeg.exe" -i - -c:a copy "D:\audio.aac"
[i] VideoEnc: ffmpeg version 2026-02-26-git-6695528af6-essentials_build-www.gyan.dev Copyright (c) 2000-2026 the FFmpeg developers
[i] VideoEnc: built with gcc 15.2.0 (Rev11, Built by MSYS2 project)
[i] VideoEnc: configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-cairo --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma --enable-zlib --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-sdl2 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libaom --enable-libopenjpeg --enable-libvpx --enable-mediafoundation --enable-libass --enable-libfreetype --enable-libfribidi --enable-libharfbuzz --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-dxva2 --enable-d3d11va --enable-d3d12va --enable-ffnvcodec --enable-libvpl --enable-nvdec --enable-nvenc --enable-vaapi --enable-openal --enable-libgme --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libtheora --enable-libvo-amrwbenc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enab
[i] VideoEnc: e-librubberband
[i] AudioEnc: ffmpeg version 2026-02-26-git-6695528af6-essentials_build-www.gyan.dev Copyright (c) 2000-2026 the FFmpeg developers
[i] AudioEnc: built with gcc 15.2.0 (Rev11, Built by MSYS2 project)
[i] AudioEnc: configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-cairo --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma --enable-zlib --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-sdl2 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libaom --enable-libopenjpeg --enable-libvpx --enable-mediafoundation --enable-libass --enable-libfreetype --enable-libfribidi --enable-libharfbuzz --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-dxva2 --enable-d3d11va --enable-d3d12va --enable-ffnvcodec --enable-libvpl --enable-nvdec --enable-nvenc --enable-vaapi --enable-openal --enable-libgme --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libtheora --enable-libvo-amrwbenc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enab
[i] AudioEnc: e-librubberband
[i] VideoEnc: libavutil 60. 25.100 / 60. 25.100
[i] VideoEnc: libavcodec 62. 23.103 / 62. 23.103
[i] VideoEnc: libavformat 62. 10.101 / 62. 10.101
[i] VideoEnc: libavdevice 62. 2.100 / 62. 2.100
[i] VideoEnc: libavfilter 11. 12.100 / 11. 12.100
[i] VideoEnc: libswscale 9. 3.100 / 9. 3.100
[i] VideoEnc: libswresample 6. 2.100 / 6. 2.100
[i] VideoEnc: Unknown decoder 'libx265'
[i] VideoEnc: Error opening input file -.
[i] VideoEnc: Error opening input files: Decoder not found
[i] AudioEnc: libavutil 60. 25.100 / 60. 25.100
[i] AudioEnc: libavcodec 62. 23.103 / 62. 23.103
[i] AudioEnc: libavformat 62. 10.101 / 62. 10.101
[i] AudioEnc: libavdevice 62. 2.100 / 62. 2.100
[i] AudioEnc: libavfilter 11. 12.100 / 11. 12.100
[i] AudioEnc: libswscale 9. 3.100 / 9. 3.100
[i] AudioEnc: libswresample 6. 2.100 / 6. 2.100
[i] AudioEnc: [in#0/wav @ 000000000052d340] Packet corrupt (stream = 0, dts = NOPTS).
[i] AudioEnc: Input #0, wav, from 'fd:':
[i] AudioEnc: Duration: N/A, bitrate: 2822 kb/s
[i] AudioEnc: Stream #0:0: Audio: pcm_f32le ([3][0][0][0] / 0x0003), 44100 Hz, stereo, flt, 2822 kb/s
[i] AudioEnc: Stream mapping:
[i] AudioEnc: Stream #0:0 -> #0:0 (copy)
[i] AudioEnc: [adts @ 000000000052ecc0] adts muxer supports only codec aac for type audio
[i] AudioEnc: [out#0/adts @ 0000000000531300] Could not write header (incorrect codec parameters ?): Invalid argument
[i] AudioEnc: Conversion failed!
[E] Error: Write error occurred on file "<anonymous pipe>": Die Pipe wird gerade geschlossen.
Ending operation.

What is wrong with this super-simple usage?

v0lt
1st March 2026, 19:06
What is wrong with this super-simple usage?
I think you forgot to pass the RAW Video parameters.

If the task is to encode only video, then a simple example is as follows:
Video encoder
ffmpeg.exe
-f rawvideo -s %(width)x%(height) -r %(fps) -i - -c:v libx264 -y %(outputname)
%(outputname)
You can also specify -pix_fmt and "-x264opts colormatrix=bt709" if needed.

This could be found in the link I wrote above.
Sample1 (https://web.archive.org/web/20191122113000/https://encodingtalk.com/threads/virtualdub-save-direct-to-mp4-fraps-to-youtube-with-external-encoders.2446/page-2#post-13731), Sample2 (https://web.archive.org/web/20150928230131/http://forums.virtualdub.org/index.php?act=ST&f=3&t=18840&st=120#entry93547).

nji
1st March 2026, 21:30
Thank you for your assistance :)

Acutually parameters width and height seem to be mandatory.
I didn't expect that.
I thought that VD2 just "calls" the encoder (same as in CLI).

Audio encoder, bypass compression:
It seems I misunderstood that.
I thought when defining an external encoder, it would be possible to
somehow leave the audio as-is (like the CLI ffmpeg command: -c:a copy).
But if I'm right, then that isn't possible at all?
By defining an external decoder, VD2 forwards the (de-compressed, if compr. bypassed) raw audio
to audio encoder, so you have to compress with the audio encoder again.
Right?
Or do I miss something?
Is it possible to pass-through the compressed audio stream from source
untouched to the muxer? :confused:

v0lt
2nd March 2026, 08:51
Is it possible to pass-through the compressed audio stream from source
untouched to the muxer? :confused:
The Caching input driver (avlib-1.vdplugin) always decodes the audio.

Some other input drivers may output the audio track as is. But I don't know if this works with external encoders.

nji
2nd March 2026, 09:20
Actually I use a Quicktime driver for Audio (per "Audio from other file..."),
if I don't change video timeline, and so audio can remain,
and doesn't have to be decompressed and recompressed again.
Works perfect within VD2.

But I haven't been successful in passing that compressed stream
to an external encoder.
And I haven't found any example/ explanation on that.
I wonder, as it seems a usual case.

Did anybody manage that?

nji
2nd March 2026, 09:52
In my example:
Say I have an aac audio file (e.g. the as-is extracted audio track (aac)
from my video file; take AviDemux for extraction).
In VD2's external decoder thing: how do I get that to "%(tempaudiofile)"?
Using ffmpeg CLI the command is:
ffmpeg -i SourceAVC1.aac -c:a copy bitcopy.aac
So the definition for VD2 Audio Encoder should be like:
ffmpeg
-i - -c:a copy "%(tempaudiofile)"
Right?
When starting the external decoder set, it interupts after few seconds.
Log:
Beginning dub operation.
[i] Dub: Input (decompression) format is: YUV420.
[i] Dub: Output (compression) format is: YUV420.
[i] Dub: Command line encoding started with format: YUV420.
[i] video encoder: "D:\<Path2FFmpeg>\ffmpeg.exe" -f rawvideo -s 540x360 -r 4803/200 -i - -c:v libx265 -crf 0 "D:\video.mkv"
[i] audio encoder: "D:\<Path2FFmpeg>\ffmpeg-2026-02-26-git-6695528af6-essentials_build\bin\ffmpeg.exe" -i - -c:a copy "D:\audio.aac"
[i] VideoEnc: ffmpeg version 2026-02-26-git-6695528af6-essentials_build-www.gyan.dev Copyright (c) 2000-2026 the FFmpeg developers
[i] VideoEnc: built with gcc 15.2.0 (Rev11, Built by MSYS2 project)
[i] VideoEnc: configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-cairo --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma --enable-zlib --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-sdl2 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libaom --enable-libopenjpeg --enable-libvpx --enable-mediafoundation --enable-libass --enable-libfreetype --enable-libfribidi --enable-libharfbuzz --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-dxva2 --enable-d3d11va --enable-d3d12va --enable-ffnvcodec --enable-libvpl --enable-nvdec --enable-nvenc --enable-vaapi --enable-openal --enable-libgme --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libtheora --enable-libvo-amrwbenc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enab
[i] VideoEnc: e-librubberband
[i] AudioEnc: ffmpeg version 2026-02-26-git-6695528af6-essentials_build-www.gyan.dev Copyright (c) 2000-2026 the FFmpeg developers
[i] AudioEnc: built with gcc 15.2.0 (Rev11, Built by MSYS2 project)
[i] AudioEnc: configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-cairo --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma --enable-zlib --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-sdl2 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libaom --enable-libopenjpeg --enable-libvpx --enable-mediafoundation --enable-libass --enable-libfreetype --enable-libfribidi --enable-libharfbuzz --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-dxva2 --enable-d3d11va --enable-d3d12va --enable-ffnvcodec --enable-libvpl --enable-nvdec --enable-nvenc --enable-vaapi --enable-openal --enable-libgme --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libtheora --enable-libvo-amrwbenc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enab
[i] AudioEnc: e-librubberband
[i] VideoEnc: libavutil 60. 25.100 / 60. 25.100
[i] VideoEnc: libavcodec 62. 23.103 / 62. 23.103
[i] VideoEnc: libavformat 62. 10.101 / 62. 10.101
[i] VideoEnc: libavdevice 62. 2.100 / 62. 2.100
[i] VideoEnc: libavfilter 11. 12.100 / 11. 12.100
[i] VideoEnc: libswscale 9. 3.100 / 9. 3.100
[i] VideoEnc: libswresample 6. 2.100 / 6. 2.100
[i] VideoEnc: Input #0, rawvideo, from 'fd:':
[i] VideoEnc: Duration: N/A, start: 0.000000, bitrate: 56022 kb/s
[i] VideoEnc: Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 540x360, 56022 kb/s, 24.02 tbr, 24.02 tbn
[i] VideoEnc: Stream mapping:
[i] VideoEnc: Stream #0:0 -> #0:0 (rawvideo (native) -> hevc (libx265))
[i] VideoEnc: x265 [info]: HEVC encoder version 4.1+223-50087d0b8
[i] VideoEnc: x265 [info]: build info [Windows][GCC 15.2.0][64 bit] 8bit+10bit+12bit
[i] VideoEnc: x265 [info]: using cpu capabilities: MMX2 SSE2Fast LZCNT SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
[i] VideoEnc: x265 [info]: Main profile, Level-2.1 (Main tier)
[i] VideoEnc: x265 [info]: Thread pool created using 8 threads
[i] VideoEnc: x265 [info]: Slices : 1
[i] VideoEnc: x265 [info]: frame threads / pool features : 3 / wpp(6 rows)
[i] VideoEnc: x265 [warning]: Source height < 720p; disabling lookahead-slices
[i] AudioEnc: libavutil 60. 25.100 / 60. 25.100
[i] AudioEnc: libavcodec 62. 23.103 / 62. 23.103
[i] AudioEnc: libavformat 62. 10.101 / 62. 10.101
[i] AudioEnc: libavdevice 62. 2.100 / 62. 2.100
[i] AudioEnc: libavfilter 11. 12.100 / 11. 12.100
[i] AudioEnc: libswscale 9. 3.100 / 9. 3.100
[i] AudioEnc: libswresample 6. 2.100 / 6. 2.100
[i] VideoEnc: x265 [info]: Coding QT: max CU size, min CU size : 64 / 8
[i] VideoEnc: x265 [info]: Residual QT: max TU size, max depth : 32 / 1 inter / 1 intra
[i] VideoEnc: x265 [info]: ME / range / subpel / merge : hex / 57 / 2 / 3
[i] VideoEnc: x265 [info]: Keyframe min / max / scenecut / bias : 24 / 250 / 40 / 5.00
[i] VideoEnc: x265 [info]: Lookahead / bframes / badapt : 20 / 4 / 2
[i] VideoEnc: x265 [info]: b-pyramid / weightp / weightb : 1 / 1 / 0
[i] VideoEnc: x265 [info]: References / ref-limit cu / depth : 3 / off / on
[i] VideoEnc: x265 [info]: AQ: mode / str / qg-size / cu-tree : 2 / 1.0 / 32 / 1
[i] VideoEnc: x265 [info]: Rate Control / qCompress : CRF-0.0 / 0.60
[i] VideoEnc: x265 [info]: tools: rd=3 psy-rd=2.00 early-skip rskip mode=1 signhide tmvp
[i] VideoEnc: x265 [info]: tools: b-intra strong-intra-smoothing deblock sao dhdr10-info
[i] VideoEnc: Output #0, matroska, to 'D:\video.mkv':
[i] VideoEnc: Metadata:
[i] VideoEnc: encoder : Lavf62.10.101
[i] VideoEnc: Stream #0:0: Video: hevc, yuv420p(tv, progressive), 540x360, q=2-31, 24.02 fps, 1k tbn
[i] VideoEnc: Metadata:
[i] VideoEnc: encoder : Lavc62.23.103 libx265
[i] VideoEnc: Side data:
[i] VideoEnc: CPB properties: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A
[i] VideoEnc: frame= 7 fps=0.0 q=3.5 size= 3KiB time=00:00:00.20 bitrate= 115.3kbits/s speed=0.417x elapsed=0:00:00.49
[i] VideoEnc: frame= 33 fps= 33 q=6.2 size= 3KiB time=00:00:01.29 bitrate= 18.6kbits/s speed=1.29x elapsed=0:00:01.00
[i] AudioEnc: Input #0, wav, from 'fd:':
[i] AudioEnc: Duration: N/A, bitrate: 2822 kb/s
[i] AudioEnc: Stream #0:0: Audio: pcm_f32le ([3][0][0][0] / 0x0003), 44100 Hz, stereo, flt, 2822 kb/s
[i] AudioEnc: Stream mapping:
[i] AudioEnc: Stream #0:0 -> #0:0 (copy)
[i] AudioEnc: [adts @ 00000000004aec00] adts muxer supports only codec aac for type audio
[i] AudioEnc: [out#0/adts @ 00000000004b1300] Could not write header (incorrect codec parameters ?): Invalid argument
[i] AudioEnc: Conversion failed!
[i] VideoEnc: frame= 59 fps= 39 q=3.0 size= 3KiB time=00:00:02.37 bitrate= 10.1kbits/s speed=1.57x elapsed=0:00:01.51
[i] VideoEnc: frame= 88 fps= 43 q=0.3 size= 3KiB time=00:00:03.58 bitrate= 6.7kbits/s speed=1.76x elapsed=0:00:02.03
[i] VideoEnc: [out#0/matroska @ 00000000004e22c0] video:3191KiB audio:0KiB subtitle:0KiB other streams:0KiB global headers:2KiB muxing overhead: 0.117102%
[i] VideoEnc: frame= 102 fps= 44 q=5.9 Lsize= 3194KiB time=00:00:04.16 bitrate=6284.4kbits/s speed=1.79x elapsed=0:00:02.32
[i] VideoEnc: x265 [info]: frame I: 1, Avg QP:0.43 kb/s: 21636.36
[i] VideoEnc: x265 [info]: frame P: 26, Avg QP:0.51 kb/s: 12428.85
[i] VideoEnc: x265 [info]: frame B: 75, Avg QP:5.13 kb/s: 3771.18
[i] VideoEnc: x265 [info]: Weighted P-Frames: Y:0.0% UV:0.0%
[i] VideoEnc: encoded 102 frames in 2.16s (47.16 fps), 6153.18 kb/s, Avg QP:3.91
[E] Error: The audio encoding process has prematurely exited with an error code of -22 (ffffffea). Check the log for possible error messages.
Ending operation.

Using "RAW audio data" at definition for Audio Encoder results in


...
[i] VideoEnc: CPB properties: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A
[i] VideoEnc: frame= 6 fps=0.0 q=0.9 size= 3KiB time=00:00:00.16 bitrate= 144.1kbits/s speed=0.328x elapsed=0:00:00.50
[i] AudioEnc: [in#0 @ 000000000069d100] Error opening input: Invalid data found when processing input
[i] AudioEnc: Error opening input file -.
[i] AudioEnc: Error opening input files: Invalid data found when processing input
[i] VideoEnc: frame= 34 fps= 33 q=0.5 size= 3KiB time=00:00:01.33 bitrate= 18.0kbits/s speed= 1.3x elapsed=0:00:01.02
[i] VideoEnc: frame= 61 fps= 40 q=2.8 size= 3KiB time=00:00:02.45 bitrate= 9.8kbits/s speed= 1.6x elapsed=0:00:01.53
[i] VideoEnc: [out#0/matroska @ 00000000003e22c0] video:2089KiB audio:0KiB subtitle:0KiB other streams:0KiB global headers:2KiB muxing overhead: 0.165031%
[i] VideoEnc: frame= 63 fps= 40 q=5.9 Lsize= 2093KiB time=00:00:02.54 bitrate=6749.8kbits/s speed=1.62x elapsed=0:00:01.57
[i] VideoEnc: x265 [info]: frame I: 1, Avg QP:0.43 kb/s: 21636.36
[i] VideoEnc: x265 [info]: frame P: 16, Avg QP:0.68 kb/s: 12612.97
[i] VideoEnc: x265 [info]: frame B: 46, Avg QP:5.14 kb/s: 4077.53
[i] VideoEnc: x265 [info]: Weighted P-Frames: Y:0.0% UV:0.0%
[i] VideoEnc: encoded 63 frames in 1.39s (45.26 fps), 6523.97 kb/s, Avg QP:3.93
[E] Error: The audio encoding process has prematurely exited with an error code of -1094995529 (bebbb1b7). Check the log for possible error messages.

jay123210599
6th March 2026, 04:41
What time format? Where?

I mean, how do I change the time format from this (https://imgbox.com/n1AGDIZX) to this (https://imgbox.com/B6NMBQ0L)?

nji
26th March 2026, 17:22
I noticed that actual 32 bit VD records wrong colors (capturing a movie playing with MPC-HC).
Maybe some kind of flipping color components?

I enclose an example of orig VD2 versus actual VD2.5.1.1095.
Both 32 bit, both same settings (@ Win7-64).

LigH
26th March 2026, 17:30
Attachments in this forum require a release by a moderator. That can take some time. External hosts are recommendable.

Does it look like blue (Cb = U) and red (Cr = V) are swapped? This is a quite common issue with very similar YUV formats, possibly treating a FourCC wrong.

nji
26th March 2026, 17:50
https://c.gmx.net/@1155842887640945833/tv-3UbyqGr2xiCy3hlmpZg

Yes, you're right... R and B are swapped.
But what caused it?
The settings in VD2 orig and VD2.5.1.1095 are the same...

v0lt
26th March 2026, 20:16
I noticed that actual 32 bit VD records wrong colors (capturing a movie playing with MPC-HC).
Maybe some kind of flipping color components?

I enclose an example of orig VD2 versus actual VD2.5.1.1095.
Both 32 bit, both same settings (@ Win7-64).
Wrong colors when encoding with 8 bit color depth #36 (https://github.com/v0lt/VirtualDub2/issues/36)
Test builds are here #33 (https://github.com/v0lt/VirtualDub2/issues/33)

nji
26th March 2026, 20:40
@v0lt: You're my hero. :)

rgr
6th April 2026, 22:36
Wrong colors when encoding with 8 bit color depth #36 (https://github.com/v0lt/VirtualDub2/issues/36)
Test builds are here #33 (https://github.com/v0lt/VirtualDub2/issues/33)

Thanks.
Any chance to fix? --> https://github.com/shekh/VirtualDub2/issues/8

v0lt
7th April 2026, 16:27
Any chance to fix? --> https://github.com/shekh/VirtualDub2/issues/8
This is not a bug.

rgr
8th April 2026, 12:56
I understand that opening the script three times via CID will remain, because that's how CID works?

v0lt
8th April 2026, 18:36
VirtualDub2 requests the video and audio tracks. The Caching Input Driver opens the video and audio independently. This results in two calls to avformat_open_input. Then, for some reason, VirtualDub2 requests the audio track again, resulting in a third call to avformat_open_input.

Perhaps this can be redesigned, but it doesn't seem straightforward to me. Especially since the Caching Input Driver works well in many cases.

v0lt
11th April 2026, 13:09
Test build VirtualDub2 v2.5.2.1131 (https://disk.yandex.ru/d/R3Ob8yREy4ChvA)
...
Fixed loading of processing settings (script files).
Cosmetic changes.

Updated avlib-1.vdplugin to version 1.1.2.446.
- The FFmpeg 8.1 x64 build from BtbN is used.
- The FFmpeg 8.1 win32 build from Defisym is used.
- Fixed enumeration of video encoders when some video encoders were not available in the used FFmpeg build.
- Video encoders that cannot be used due to missing hardware or an unsupported driver will not be available for selection and configuration.

rgr
12th April 2026, 14:26
VirtualDub2 requests the video and audio tracks. The Caching Input Driver opens the video and audio independently. This results in two calls to avformat_open_input. Then, for some reason, VirtualDub2 requests the audio track again, resulting in a third call to avformat_open_input.

Perhaps this can be redesigned, but it doesn't seem straightforward to me. Especially since the Caching Input Driver works well in many cases.

Thanks for the explanation.
However, this is a disadvantage if the AviSynth script performs some calculations (e.g. the first pass of some filter).

mts1
4th May 2026, 18:21
To v0lt.
Is there any chance you would review 10-bit video support?
The known to me issues are with internal filters downconvert 10-bit video to 8-bit.
And, in capture mode I get right half of the video in green when use display with filters option, even when there are no filters.

Thanks.

v0lt
4th May 2026, 19:27
Is there any chance you would review 10-bit video support?
Basic 10-bit support is available.
However, you won't be able to work correctly with Bt.2020, HDR10, HLG, etc. in VirtualDub2.
The known to me issues are with internal filters downconvert 10-bit video to 8-bit.
Yes. Many filters support a limited range of video formats. You might want to look for a more modern video editor.
And, in capture mode I get right half of the video in green when use display with filters option, even when there are no filters.
My webcam only supports YUY2 format (I looked in Video > Capture pin).

mts1
6th May 2026, 00:58
Basic 10-bit support is available.
However, you won't be able to work correctly with Bt.2020, HDR10, HLG, etc. in VirtualDub2.

Yes. Many filters support a limited range of video formats. You might want to look for a more modern video editor.

Sorry, old school.

My webcam only supports YUY2 format (I looked in Video > Capture pin).
Well, you have powerful tool in your hands.
In capture mode activate filters, add convert format filter and configure it to produce 4:2:2 YCbCr 16-bit. Then select Display with Filters and you'll see 10-bit video. :)

v0lt
7th May 2026, 04:02
In capture mode activate filters, add convert format filter and configure it to produce 4:2:2 YCbCr 16-bit. Then select Display with Filters and you'll see 10-bit video. :)
Before using functions, please read the hint in the status bar.

VD2 capture mode: Video > Filter chain > Enable - "Enable on-the-fly video filtering through VirtualDub's filter subsystem (RGB capture only)."
VD2 capture mode: Video > Filter chain > Filter list - "Configure filters for on-the-fly video filtering (RGB capture only)."

mts1
7th May 2026, 17:25
Before using functions, please read the hint in the status bar.

VD2 capture mode: Video > Filter chain > Enable - "Enable on-the-fly video filtering through VirtualDub's filter subsystem (RGB capture only)."
VD2 capture mode: Video > Filter chain > Filter list - "Configure filters for on-the-fly video filtering (RGB capture only)."

I understand what you're saying.
However, my suggestion to use filters was just to simulate real 10-bit video for testing purpose.
Nowadays I don't use filters in capture mode, but I did use them in the past and didn't have any unexpected issues.
I think the problem is with displaying the video, not with the processing because the capture itself comes out just fine.

v0lt
8th May 2026, 16:05
I think the problem is with displaying the video, not with the processing because the capture itself comes out just fine.
Try processing the video after capturing and writing it to a file.

mts1
8th May 2026, 17:05
Try processing the video after capturing and writing it to a file.
Never had any issues with viewing/processing 10-bit video file with or without any filters.
The only condition I know, which produces the "green", is Viewing with filters in capture mode. I usually need it for built-in histogram.

tormento
19th May 2026, 12:36
Is VirtualDub2 on GitHub?

nji
19th May 2026, 15:37
Is VirtualDub2 on GitHub?

That's indeed a very complex question, that is discussed by many experts since years. There are academic papers on all the aspects of that issue.
It can't be answered by a simple Yes or No.

SCNR

v0lt
13th July 2026, 10:49
Test build VirtualDub2 v2.5.2.1134 (https://disk.yandex.ru/d/R3Ob8yREy4ChvA)
Updated avlib-1.vdplugin to version 1.1.2.474.
- The FFmpeg 8.1.2 x64 build from BtbN is used.
- The FFmpeg 8.1.2 win32 build from Defisym is used.
- Added QSV VP9 encoder.
- Added VBR mode for most FFmpeg video encoders.
- Cosmetic changes.

levicki
14th July 2026, 12:17
I have published a NVRTX VirtualDub2 plugin for high-quality video AI restoration / upscaling and SDR to HDR conversion using NVIDIA RTX Video SDK.

It is available for download at my website:
https://levicki.net/downloads/

Current version is limited by VirtualDub2 internal pipeline so TrueHDR is further tone-mapped back into standard gamma 2.2 BT.709 format with higher bit depth.

If one of the current maintainers of VirtualDub2 can clarify how I could pass PQ / SMPTE ST 2084 gamma, BT.2020 primaries to internal or external encoders, I can add an option for direct TrueHDR output.

v0lt
14th July 2026, 13:47
If one of the current maintainers of VirtualDub2 can clarify how I could pass PQ / SMPTE ST 2084 gamma, BT.2020 primaries to internal or external encoders, I can add an option for direct TrueHDR output.
VirtualDub-1.10.4
vdplugin.h - VDXPixmapFormat (https://github.com/shekh/VirtualDub2/blob/0ef5cdc3554e9c8f8129b17539a13f0f0b38c038/src/h/vd2/plugin/vdplugin.h#L190)
The original VirtualDub supports 8-bit YUV and RGB formats. Initially, it supported 601 bits, but later, 709 bits were added.

VirtualDub2
vdplugin.h - VDXPixmapFormat (https://github.com/shekh/VirtualDub2/blob/f7aa0ec8dfafe588e5ded1022b00a415931be163/src/h/vd2/plugin/vdplugin.h#L295)
VirtualDub2 added support for high-bit pixel formats, and that's it.

Don't expect HDR support in VirtualDub2; that would require a significant rewrite of the internal code.

levicki
14th July 2026, 17:38
Don't expect HDR support in VirtualDub2; that would require a significant rewrite of the internal code.

Thanks for responding. I don't expect HDR support in VirtualDub2 itself.

I was asking if with current VirtualDub2 it is possible to pass DXGI_FORMAT_R10G10B10A2_UNORM (PQ / SMPTE ST 2084 gamma, BT.2020 primaries) or DXGI_FORMAT_R16G16B16A16_FLOAT` (scRGB, linear gamma, BT.709 primaries to at least an external encoder without change by VirtualDub2 itself.

Currently I am outputting XRGB64 for TrueHDR but I tonemap it to SDR with higher bit-depth:

FilterModPixmapInfo& dst_info = *fma->fmpixmap->GetPixmapInfo(&dst);

dst_info.ref_r = 0xFFFF;
dst_info.ref_g = 0xFFFF;
dst_info.ref_b = 0xFFFF;
dst_info.ref_a = 0;
dst_info.alpha_type = dst_info.kAlphaInvalid;
dst_info.transfer_type = dst_info.kTransferGamma;
dst_info.colorRangeMode = vd2::ColorRangeMode::kColorRangeMode_Full;
dst_info.colorSpaceMode = vd2::ColorSpaceMode::kColorSpaceMode_709;

What I was thinking is to provide a bypass mode without tonemapping and in a format that can pass unchanged as a raw frame to external encoder to which we can then specify primaries and data format.

I believe DXGI_FORMAT_R10G10B10A2_UNORM could be mapped to say r210, and if we can pass that to external encoder and tell it that it's actually PQ / ST 2084, BT.2020 source (provided that VDub2 doesn't mangle it) then it might actually work.

Any ideas are welcome as is the testing of the plugin I wrote.

levicki
15th July 2026, 18:39
Actually it is possible, hold my beer...

johnsonlam
16th July 2026, 03:56
Test build VirtualDub2 v2.5.2.1134 (https://disk.yandex.ru/d/R3Ob8yREy4ChvA)
Updated avlib-1.vdplugin to version 1.1.2.474.
- The FFmpeg 8.1.2 x64 build from BtbN is used.
- The FFmpeg 8.1.2 win32 build from Defisym is used.
- Added QSV VP9 encoder.
- Added VBR mode for most FFmpeg video encoders.
- Cosmetic changes.

Sad to see the VirtualDub2 not busy as before.
Glad to see a new build, thank you very much!

levicki
16th July 2026, 18:05
NVRTX plugin has been updated.

Changes:
- Added Passthrough mode
- Updated README
- Included ffmpeg.vdprof example for external HDR encoding

EDIT: In case it wasn't clear, I believe I have found a way to pass unmodified 10-bit PQ / SMPTE ST 2084 gamma with BT.2020 primaries from NVIDIA TrueHDR to external encoder. I hope someone else can test and confirm.

Washka
17th July 2026, 03:08
NVRTX plugin has been updated.

Changes:
- Added Passthrough mode
- Updated README
- Included ffmpeg.vdprof example for external HDR encoding

EDIT: In case it wasn't clear, I believe I have found a way to pass unmodified 10-bit PQ / SMPTE ST 2084 gamma with BT.2020 primaries from NVIDIA TrueHDR to external encoder. I hope someone else can test and confirm.

Hi, I just tested on win 10 64bit. RTX 4080 Driver:596.49 , scaling working, but when i click play i got error: Cannot initialize rendering parameters: Cannot start filter: `NVRTX` : RTX Video api initialization failed. I copy that 3 files in plugins64 folder.