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

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.