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. |
26th March 2003, 09:07 | #1 | Link |
C64
Join Date: Apr 2002
Location: Austria
Posts: 830
|
Deshaker by Gunnar Thalin
As there was no announcement here and the filter seems (after some tests) to perform really good and transparent to the user (in opposition to SteadyHand et. al.) a little bump from me.
Get it here http://www.guthspot.se/video/deshaker.htm Last edited by WarpEnterprises; 24th May 2007 at 14:41. |
2nd April 2003, 23:31 | #4 | Link |
Registered User
Join Date: Dec 2002
Location: Australia
Posts: 264
|
I have tried Deshaker (and most of the other cheapie/free motion stabilisers out there) and found Deshaker to be very good.
One thing I would really like to see is the ability to change the parameters without having to go in and manually edit the first pass file. It also does things like the other stabilisers do, which are annoying, and could probably be fixed, making it a real kick-a-s deshaker. For example, I do a zoom in. Deshaker smooths it out (very well) but at the end when I stop zooming, deshaker will continue to zoom and then pull back, giving quite a nasty look. It would assist a lot if you could specify (graphically or otherwise) "the zoom stops here, so don't do the overshoot and pull back trick". Any thoughts from the author, Gunnar? Thanks. |
15th April 2003, 08:19 | #5 | Link | |
Registered User
Join Date: Apr 2003
Location: Uppsala, Sweden
Posts: 157
|
Sure, here are some thoughts from the author...
I agree that's it's very annoying when video stabilizers overshoot, especially when it comes to panning. That's the main reason why i made this filter. It it designed never to overshoot. That's why it needs two passes. If it does overshoot, then there's a bug somewhere, but I have a feeling that what you're experiencing is the zooming applied to avoid the black borders. If you don't want that effect (and I can understand it if you don't), choose another edge compensation (such as 'none'). Quote:
|
|
15th April 2003, 21:39 | #8 | Link | |
Xe-Rotaredom
Join Date: Oct 2001
Location: Croatia
Posts: 1,029
|
Quote:
Welcome. Cheers, Mijo.
__________________
"Only those who attempt the absurd achieve the impossible." |
|
17th April 2003, 17:39 | #10 | Link |
Registered User
Join Date: Sep 2002
Location: Moscow, Russia
Posts: 19
|
Hi, All!
Is there any chance to call this filter from Avisynth? I tuned it in VD, saved processing settings, then called it from Avisynth. It loads thr log file ("Deshaking..." message), but it does no changes to the clip. Here is the script: AVISource("C:\Video\clip.avi") loadvirtualdubplugin("C:\VirtualDub-1_4_10\plugins\Deshaker.vdf","Deshaker") ConvertToRGB() Deshaker("2|2|30|1|1|0|1|0|352|288|0|1|1|50|100|0|0|1|1|3|2|50|2|500|1|C:\\Video\\clip.log|0|1|0|0|8|0|0|0|0|0|0|0|0|1|2|4|1|1")
__________________
Regards, lex3 |
17th April 2003, 22:02 | #11 | Link |
Registered User
Join Date: Apr 2003
Location: Uppsala, Sweden
Posts: 157
|
I don't know what could be wrong. It works for me. I assume you generated the log file in a pass before this second pass? And did you try running the second pass from within VirtualDub too with these very settings? Did it work the way you intended? In that case, I have no idea...
|
17th April 2003, 22:55 | #12 | Link |
Registered User
Join Date: Apr 2003
Location: Uppsala, Sweden
Posts: 157
|
Another thing...
In your settings you're using size 352x288, which is a typical PAL size (half of 704x576). Yet you're using square pixels as pixel aspect ratio. You should probably use PAL instead. |
18th April 2003, 10:12 | #13 | Link |
Registered User
Join Date: Sep 2002
Location: Moscow, Russia
Posts: 19
|
Thank you for answers.
Yes, I did all that you said: - generated log during 1st pass in VD - tested settings of the 2nd pass in VD - saved processing settings (and tested their load too ) But when tried them in the above mentioned script it seemed that the call of the filter makes no changes to the clip. Finally I found a workaround - old good frameserving from VD Thanks for pixel aspect ratio note, but I have no idea about the source of the .mpg file (it is an old russian cartoon about dreams of a bear - ftp://mp3.int.ru/pub/mp3/DISK_5/tmp/medvezhut.mpg - no language required ). And it seams that square pixels look good enougth. BTW, could you give another piece of advice: Can these settings be used for stabilazing small shakes of digitized film material? They have no rotation and are usually less than 1% (1% and 1 degree are the minimal values of "Max. correction limit" fields of the 2nd pass - but they cannot be lowered, right?).
__________________
Regards, lex3 |
18th April 2003, 11:00 | #14 | Link | |
Registered User
Join Date: Apr 2003
Location: Uppsala, Sweden
Posts: 157
|
Quote:
Anyway, having a differential search range of only 1 sounds a little dangerous. It will have a hard time matching moving objects and areas around it. You'll just have to try what works best, I guess. |
|
18th April 2003, 13:59 | #15 | Link |
Registered User
Join Date: Sep 2002
Location: Moscow, Russia
Posts: 19
|
Yes, I'm about film shakes - jitter.
Unfortunately there is no film edge to stabilize on, because I just convert clips, but not digitize films myself. Well, to find jitter as little global motion may it be useful to skip all fast motion objects, so differential search range = 1 is ok? Or it is necessary to find all motion types to get the global one?
__________________
Regards, lex3 |
18th April 2003, 14:24 | #16 | Link |
Registered User
Join Date: Apr 2003
Location: Uppsala, Sweden
Posts: 157
|
If you don't have an edge to stabilize on, you have to stabilize on content just as you would for normal stabilization, and the contents can move a lot more than the jitter, so you really should increase the search range, both the initial and the differential. Otherwise it won't be able to match at all under some circumstances and the results will be unreliable. That's what I would do anyway.
|
23rd February 2004, 04:39 | #18 | Link |
Registered User
Join Date: Jul 2003
Posts: 93
|
deshaker scripting
hi,
can someone point me to a link/example how to use deshaker w/ vdubmod or avisynth in a script ??? I need to automate the task of deshaking a bunch of vids...but i dont have any docs how to use deshaker in a vdub script...and manual woud take a long time (especially since it's two passes) thanks ! Edit: Hi guys, i just compared deshaker w/ vdubmod vs. 'SteadyHand' by DynaPel. Deshaker beats SteadyHand hands down - it's not even a comparison how much better the results with Deshaker are...two different worlds.. [At least in my case, did some test-runs on vids of mine so other's results might differ] Now i just need a script/batch function in deshaker and get rid of that 'lil annoying '2 pass'.... (why not combine the two passes internally ?) greets Last edited by Flexy; 23rd February 2004 at 06:40. |
23rd February 2004, 18:48 | #19 | Link |
Registered User
Join Date: Apr 2003
Location: Uppsala, Sweden
Posts: 157
|
Thanks for liking it.
To see how to use deshaker from a script, just make the settings in VirtualDub and save a settings (vcf) file (as described above by lex3). Then look at it in a text editor. It should work. If you really want to know what all the parameters are, let me know. But I recommend making the settings from within VirtualDub. Unfortunately it's impossible to do both passes internally. Finally, I would never batch process clips with deshaker. You most probably won't get as good results as you could if you spent some time and finetuned the settings for each clip (and even parts of a clip). Also, personally I would never use the default settings. They are only good for beginners. |
23rd February 2004, 23:00 | #20 | Link |
C64
Join Date: Apr 2002
Location: Austria
Posts: 830
|
First let me say that your words are quite an understatement - this filter is really great and the commercial products are bad jokes compared to it.
Second: all the parameters are stored in one string. Correct? Third - a question: while the pass1 values are more or less obvious, I am missing a (more technical) description of the "motion smoothness" values (which are at the heart of the operation). So, can you detail a bit: - what range are they - what maths lies behind the process Thanks! |
Thread Tools | Search this Thread |
Display Modes | |
|
|