Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 

Go Back   Doom9's Forum > Capturing and Editing Video > VirtualDub, VDubMod & AviDemux

Reply
 
Thread Tools Search this Thread Display Modes
Old 19th October 2020, 16:52   #1061  |  Link
jeffk
Registered User
 
Join Date: Oct 2012
Posts: 15
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 :

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

It crash randomly when I press F2. (I reload a lot)

Thanks

Last edited by jeffk; 19th October 2020 at 17:02.
jeffk is offline   Reply With Quote
Old 20th October 2020, 07:25   #1062  |  Link
LigH
German doom9/Gleitz SuMo
 
LigH's Avatar
 
Join Date: Oct 2001
Location: Germany, rural Altmark
Posts: 6,328
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?
__________________

New German Gleitz board
MediaFire: x264 | x265 | VPx | AOM | Xvid
LigH is offline   Reply With Quote
Old 20th October 2020, 15:08   #1063  |  Link
jeffk
Registered User
 
Join Date: Oct 2012
Posts: 15
Yes i can remove this import. This can cause crash when I reload the script ?
jeffk is offline   Reply With Quote
Old 20th October 2020, 16:28   #1064  |  Link
LigH
German doom9/Gleitz SuMo
 
LigH's Avatar
 
Join Date: Oct 2001
Location: Germany, rural Altmark
Posts: 6,328
Doubtful. Rather one of the many loaded plugins which need the most RAM. But who knows...
__________________

New German Gleitz board
MediaFire: x264 | x265 | VPx | AOM | Xvid
LigH is offline   Reply With Quote
Old 20th October 2020, 20:20   #1065  |  Link
jeffk
Registered User
 
Join Date: Oct 2012
Posts: 15
This is why I wanted to know if there is any way to get a crash log
jeffk is offline   Reply With Quote
Old 25th November 2020, 20:37   #1066  |  Link
wonkey_monkey
Formerly davidh*****
 
wonkey_monkey's Avatar
 
Join Date: Jan 2004
Posts: 2,048
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.
__________________
My AviSynth filters / I'm the Doctor
wonkey_monkey is offline   Reply With Quote
Old 26th November 2020, 08:44   #1067  |  Link
LigH
German doom9/Gleitz SuMo
 
LigH's Avatar
 
Join Date: Oct 2001
Location: Germany, rural Altmark
Posts: 6,328
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.
__________________

New German Gleitz board
MediaFire: x264 | x265 | VPx | AOM | Xvid
LigH is offline   Reply With Quote
Old 26th November 2020, 11:17   #1068  |  Link
wonkey_monkey
Formerly davidh*****
 
wonkey_monkey's Avatar
 
Join Date: Jan 2004
Posts: 2,048
Quote:
So the closest valid speed would be 2/100 s/f = 50 fps.
It's come out as 40fps for some reason.
__________________
My AviSynth filters / I'm the Doctor
wonkey_monkey is offline   Reply With Quote
Old 27th November 2020, 08:52   #1069  |  Link
LigH
German doom9/Gleitz SuMo
 
LigH's Avatar
 
Join Date: Oct 2001
Location: Germany, rural Altmark
Posts: 6,328
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.
__________________

New German Gleitz board
MediaFire: x264 | x265 | VPx | AOM | Xvid
LigH is offline   Reply With Quote
Old 11th December 2020, 20:53   #1070  |  Link
nji
Registered User
 
Join Date: Mar 2018
Location: Germany
Posts: 158
Read and manipulate variable framerate (vfr)

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?
nji is offline   Reply With Quote
Old 12th December 2020, 12:00   #1071  |  Link
shekh
Registered User
 
Join Date: Mar 2015
Posts: 759
Quote:
Originally Posted by nji View Post
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.
__________________
VirtualDub2
shekh is offline   Reply With Quote
Old 12th December 2020, 15:15   #1072  |  Link
nji
Registered User
 
Join Date: Mar 2018
Location: Germany
Posts: 158
Quote:
Originally Posted by shekh View Post
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?
nji is offline   Reply With Quote
Old 12th December 2020, 17:31   #1073  |  Link
poisondeathray
Registered User
 
Join Date: Sep 2007
Posts: 4,452
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)
poisondeathray is offline   Reply With Quote
Old 12th December 2020, 17:56   #1074  |  Link
nji
Registered User
 
Join Date: Mar 2018
Location: Germany
Posts: 158
Quote:
Originally Posted by poisondeathray View Post
...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?

Quote:
Originally Posted by poisondeathray View Post
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.
nji is offline   Reply With Quote
Old 12th December 2020, 18:32   #1075  |  Link
poisondeathray
Registered User
 
Join Date: Sep 2007
Posts: 4,452
Quote:
Originally Posted by nji View Post
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


Quote:

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).
poisondeathray is offline   Reply With Quote
Old 12th December 2020, 18:54   #1076  |  Link
nji
Registered User
 
Join Date: Mar 2018
Location: Germany
Posts: 158
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.

???
nji is offline   Reply With Quote
Old 12th December 2020, 19:12   #1077  |  Link
poisondeathray
Registered User
 
Join Date: Sep 2007
Posts: 4,452
Quote:
Originally Posted by nji View Post
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)


Quote:
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
poisondeathray is offline   Reply With Quote
Old 12th December 2020, 19:58   #1078  |  Link
nji
Registered User
 
Join Date: Mar 2018
Location: Germany
Posts: 158
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?
nji is offline   Reply With Quote
Old 12th December 2020, 20:28   #1079  |  Link
poisondeathray
Registered User
 
Join Date: Sep 2007
Posts: 4,452
Quote:
Originally Posted by nji View Post

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
poisondeathray is offline   Reply With Quote
Old 16th December 2020, 11:39   #1080  |  Link
nji
Registered User
 
Join Date: Mar 2018
Location: Germany
Posts: 158
There arose more questions on vfr and I didn't want to mess up this VirtualDub2 thread, so I build a seperate one.
nji is offline   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 19:55.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2021, vBulletin Solutions Inc.