I can see your thinking remove frames would usually equal to lower fps. But logically that doesn't make sense.
Since we are re-encoding the video afresh anyway. So any frame rate could be set to any fps and the video will be aligned to a new fps.
Logically video frames are newly encoded then passed to Virtualdub which arranges the frames to the fps. Whether it is actually Virtualdub or the Encoder that does this arranging the end result would be the same. Fps to what the user need it to be, can you change Remove Frames filter for this.
After all frames are just pictures the are grouped to a set fps speed so play correctly. Manipulation of fps for Virtualdub is easy.
The above could also possibly be with frame copy, if made to work with Remove Frames. I guess Remove Frames would the have to be moved outside of filters and coding in to Virtualdub Frame Options Menu. So it is like Decimate and other frame options no encoding needed. Which should be possible.
Anonymous
The filter fixes rate for convenience to keep the total length the same, to free you from doing the math. If you want another rate you can just use the output rate options.
Yeah issue with 23.976 Remove Frames 23.976 atm need to check further whether it is Remove Frames or VD2 at fault.
Source Video
AVC
AVC1
Bitrate: 6500
Variable
FPS: 23.976 (24000/1001)
Minimum FPS: 23.564
Maximum FPS: 24.390
Output
Bitrate: 2600
FPS: 23.976 (24000/1001)
Original FPS: 23.976 (23976/1000)
When mux output to MKV losses details in mediainfo. When mux to mp4 from AVI or MKV all details as above are shown again.but normal would be as below.
Problem becomes that VD2 isn't re-ordering (what it's called) the frame when Full Encode as is needed for Remove Frames to work. Also I set encoder x264 ABR 2600 (bitrate approx) and VD Frame Rate - Convert to FPS: 23.976
I normally would see output video would not have the other details.
AVC
AVC1
Bitrate: 2600
FPS: 23.976
I would expect no matter what the source has when do Full Encode full encode with VD2 would then do Full Encode also reorder the frames to suit the new Full Encode. That is forget what it used to have it now is a new Full Encode so should do to what has told VD2 and encoder to do.
Excuse if I have missed something or something I forget, we are always learning new or would like to remember.
Also excuse rabbiting was extremely tired when I wrote that.
Just to say that with Full Encode it should make video new with new reordered frames everything. It doesn't seem to be doing that for some reason. As can see with Source Video and Output as above. Compared to what should be output as posted in lower.
Re: The mux
When mux to output avi mkv seems to show ok'ish with mediainfo but then if mux that mkv to mp4. Or mux the ouput avi to mp4 it shows the same as output avi would show. This is not about what is shown it is about the Full Encode should have done better to output better realigned video so doesn't show this.
Tested with a video that is 60fps converted to 23.976 didn't see the above out put is as expected above. So it seems then when target the same frame rate and using Removing frames that VD2 doesn't Full Encode the video to exactly what the user requested 23.976 and re-order the frames so is just that as last output would be above.
Last output referred to as which doesn't have any other details because it is this only.
AVC
AVC1
Bitrate: 2600
FPS: 23.976
Another one today 29.970 need to Remove Frames and keep 29.970 why cannot this be done correctly please.
What it does it keeps many frames and yes does do 29.970. But I prefer remove the frames and do 29.970.
Remove Frames doesn't work correctly remove all known duplicate frames it knows when we set same frame rate or higher frame rate. But it should do remove all frames it knows need to be removed and still honour the frame rate we set whatever it may be.
What we have now when try at same frame rate is frames left in the video. As a test I set to less frame rate target than the source and the frames are then removed.
But we need Remove Frames to work correctly to remove all known frames it should be removing. At what ever destination frame rate we set this is any frame rate crazy low to highest we like. And no matter Remove frames should remove all not leave any and still do so correctly.
At it isn't please take a look something is amiss or that Remove Frames doesn't do what it should be doing.
Needed Edit:
What we have now when try at same frame rate is duplicate frames left in the video. As a test I set to less frame rate target, than the source and the duplicate frames are only then removed.
You may think I don't get Remove Frames that it can only do at less FPS since remove frames makes video have less FPS. T remove all duplicate frames would need to be less FPS to match although Remove Frames doesn't indicate what target would be best suited so all duplicate frames are removed.
That aside what I am refering to is that all Duplicate frames should be remove no matter what the FPS is set be that lower or higher target FPS.
As it should be Virtualdub makes the final video output the set destination FPS.
Like this Video Source 25 FPS Video has every other frame duplicate. But I want 50 FPS output. Remove Frames should remove ALL duplicate frames no mater what the destination will FPS it should not care for that. Virtualdub then realigns the video to 50 FPS.
Wait how can it do that when the FPS will now be 12.5 FPS Who Cares Virtualdub should do what the user wants. Now not add frames to make 50 FPS but realign video so becomes true 50 FPS video output using only the frames it has 25 FPS / 2 = 12.5 FPS align to 50 FPS using 12.5 FPS frames only.
Took time to explain, got there hope you understand this problem now.
I know your thinking what of the audio s am I but I'm not a Virtualdubuoso developer programer you are so may know a way for this. So Remove Frames can work at removing all duplicate frames correctly for any target FPS with audio also aligned.
Sorry my english is bad & I don't really understand your problem, but you said video's source info got a "Variable", but variable for what? FPS? As I remember well, VD takes care poorly a video source with a FPS variable...
& so to can use video (any video's extension) with FPS variable, you need use AviSynth 2.5 & so build a file .avs & of course you must had installed all codec's reader:
ASYNTHER DirectShowSource
DirectShowSource("C:\ThePathOfYourFiles\Movie.mp4", fps=60, convertfps=true)
& then open the .avs & the video will have a fps fixed to 60 & so to convert to 23.976, in VD2 go Video/Frame Rate:
Source rate adjustement > No change
Frame rate conversion > 23.976
But remember about "Source rate adjustement", that will increase/decrease the duration of the video's source if the fps is wrong in this option even whatever you set the fps at "Frame rate conversion"!
If not, output extension .mp4 (& I think all other too but except .avi) got a very old header/container or whatever, so it's for that we can't see all info with Media Info... & so I only use output .avi (who can pass +4gb files size) & then I use "MKV Tool Nix" to convert to MKV.
& it is not recommended to set directly the good fps you want in the .avs if you want to re-encoded it! But you can set the fps & read it (open the .avs) with MPC-HC (or VLC, but I not try with it because I hate VLC xD) & if you got a error like something "avisynth... a width divisible (use crop)", you must add this ", pixel_type="rgb" " after "convertfps=true"
Anyway I use VD since +10 years & no problem about fps except if the video's source have a really WTF fps variable who go crazy...