Log in

View Full Version : VirtualDub2


Pages : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 [34] 35 36 37 38 39 40

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.