View Full Version : Deshaker by Gunnar Thalin
Pages :
1
2
3
4
5
[
6]
7
8
9
10
11
guth
16th August 2010, 17:44
It's actually a distorted 640x480px sized video. The camera does the distortion. I usually resize the video before using deshaker.
I'm not sure I understand exactly what you mean by this. Does the camera deliver video sized 640x480 or 720x480? And in what way is it distorted? And how do you want the final video to be? (Maybe I'm the only one who doesn't get it...)
airborne_video
16th August 2010, 20:01
Does the camera deliver video sized 640x480 or 720x480? And in what way is it distorted? And how do you want the final video to be?
The camera delivers a video in 720x480px. The image is stretched horizontally (objects appear to be too wide) if square pixels are assumed. I would like the final video to have square pixels while preserving the original height of 480px. The image content should not be distorted in the output.
So here's what I was thinking:
Let's say the camera records an NTSC video with a pixel aspect ratio of 0.912. As I understand it, NTSC has 702x480px frames with a 4:3 aspect ratio plus a buffer of 9px on each side.
In my case the whole buffer contains valid image information and should be preserved, so we actually have a 720x480px video with a 0.912 pixel aspect ratio and a 4.11:3 aspect ratio.
If I wanted the video to have square pixels without distortion while maintaining its original height I would resize the video to 657x480px (4.11:3 aspect ratio). If I resized this video to 640x480px (4:3 aspect ratio) I would assume to end up with a horizontally condensed output.
There is a website about the camera where they address this subject as well: http://chucklohr.com/808/#Resizing720x480.
p.s.: I'm not sure if I'm still on-topic here and if this is of any value for other readers of this thread. If not, please let me know.
um3k
16th August 2010, 20:23
If the information on that website is correct, then you should set a custom pixel aspect ratio of 0.889 (8/9) and simply resize to 640x480.
guth
16th August 2010, 20:26
Airborne, Your thinking is correct. But since the pixel aspect ratio is actually 4320/4739 (= 0,9115847...), although this has been debated for some time, the width should be 720 * 4320/4739 = 656.34... And since 656 is also a multiple of 16 (which is better for codecs), I'd use that.
Anyway, if you set the destination pixel aspect ratio to "square pixels" in Deshaker, they will become square no matter what destination size you use.
airborne_video
22nd August 2010, 17:36
There is a website about the camera where they address this subject as well: http://chucklohr.com/808/#Resizing720x480.
If the information on that website is correct, then you should set a custom pixel aspect ratio of 0.889 (8/9) and simply resize to 640x480.
To close the matter:
Yesterday I found the time to record a suitable test video to determine whether the camera actually records in NTSC format with a 0.912 pixel aspect ratio or upscales a 640x480px video to 720x480px (as described on the website (http://chucklohr.com/808/#Resizing720x480) I have linked to). It turns out that the video is indeed just upscaled.
So I'm now using a source pixel aspect ratio of 0.889 (not 0.88 as written before, bad rounding on my behalf) and 640x480px with square pixels for the output.
Thank you for all the helpful feedback and comments!
loekverhees
13th October 2010, 13:08
Is it possible to use the Deshaker plugin in an avisynth script? This way, I don't have to output an enormous video file first. Also, this way I have less intermediate conversions which is better for the picture quality I think. I tried some scripts, but it didn't work. This is the script I used:
LoadVirtualDubPlugin("C:\Deshaker.vdf","DeShaker",0)
AVISource("C:\sample.avi")
QTGMC(Preset="Slow").ConvertToRGB32()
DeShaker("13|1|30|4|1.09402|1|1|0|640|480|0|1|1|1000|1000|1000|1000|4|1|0|2|5|40|300|4|C:\\Deshaker.log|0|0|0|0|0|0|0|0|0|0|0|0|0|1|15|15|5|15|0|0|30|30|0|0|0|0|1|0|0|10|1|15|1000|1|88|1|1")
DeShaker("13|2|30|4|1.09402|1|1|0|640|480|0|1|1|1000|1000|1000|1000|4|1|0|2|5|40|300|4|C:\\Deshaker.log|0|0|0|0|0|0|0|0|0|0|0|0|0|1.1|4|4|5|5|0|0|30|30|0|0|0|0|1|0|0|10|1|15|1000|1|88|1|1")
guth
13th October 2010, 17:10
In that script Deshaker pass 2 will be applied to the output video of Deshaker pass 1, and that won't work. Both passes should operate on the same original video. I think you'll need to use two separate scripts, one for each pass. That should work.
loekverhees
13th October 2010, 18:41
Ah, that's right of course ;). I modified the script:
loadvirtualdubplugin("C:\Deshaker.vdf","DeShaker",0)
source = AVISource("C:\sample.avi")
deinterlaced = source.QTGMC(Preset="Slow").ConvertToRGB32()
firstpass = deinterlaced.DeShaker("13|1|30|4|1.09402|1|1|0|640|480|0|1|1|1000|1000|1000|1000|4|1|0|2|5|40|300|4|C:\\Deshaker.log|0|0|0|0|0|0|0|0|0|0|0|0|0|1|15|15|5|15|0|0|30|30|0|0|0|0|1|0|0|10|1|15|1000|1|88|1|1")
secondpass = deinterlaced.DeShaker("13|2|30|4|1.09402|1|1|0|640|480|0|1|1|1000|1000|1000|1000|4|1|0|2|5|40|300|4|C:\\Deshaker.log|0|0|0|0|0|0|0|0|0|0|0|0|0|1.1|4|4|5|5|0|0|30|30|0|0|0|0|1|0|0|10|1|15|1000|1|88|1|1")
eval("secondpass")
But now the Deshaker.log is not written in the first pass. So the output is a black video. It looks like it skips the first pass. I want to avoid running two different scripts (so one for the first pass and one for the second pass) as the deinterlace step takes quite some time. So I thought that when I used only one script, the deinterlacing has to be done only once. Do you (or someone else) know how to improve this script?
guth
13th October 2010, 19:16
Since all frames have to be processed by pass 1 before pass 2 can start, you simply have to deinterlace twice, or store all the deinterlaced frames somewhere.
loekverhees
13th October 2010, 19:46
Yes, you're right. But I think the real problem is in the way avisynth processes the frames. Ideally, avisynth should first deinterlace the entire video before proceeding to the next step (the firstpass Deshaker part). And then it should do a full first pass and after that the full second pass. But I think avisynth kind of works on a frame-by-frame basis, so it does not deinterlace the entire video before the the firstpass Deshaker part is called. And that's the real problem I think. And about the skipping of the firstpass: I think that the avisynth interpreter first looks to the entire script, and then sees that in the output (eval statement) only "secondpass" is present. So it thinks that firstpass is not explicitly needed and therefore skips that part. In other words, avisynth does not run the script line after line. Could someone confirm this behavior of avisynth? Or is there still another way to accomplish my goals?
guth
13th October 2010, 20:07
But if avisynth would deinterlace the entire video before proceeding to the next step, it too would need to store all the deinterlaced frames somewhere. What you're trying to do is theoretically impossible.
loekverhees
13th October 2010, 20:26
And what about storing like 10 or 20 frames only? Deshaker needs to 'know' multiple frames of course in order to smooth the stabilization factor among the frames I guess. But can Deshaker also do this on the fly, so without needing all frames but just 10 or 20 instead? So in other words: how many frames does Deshaker take into account when it is smoothing the displacement corrections for every frame?
Gavino
13th October 2010, 20:35
Could someone confirm this behavior of avisynth?
Your interpretation is basically correct.
Or is there still another way to accomplish my goals?
As guth says, you need a separate script for each pass, doing the deinterlacing each time.
guth
13th October 2010, 20:45
And what about storing like 10 or 20 frames only? Deshaker needs to 'know' multiple frames of course in order to smooth the stabilization factor among the frames I guess. But can Deshaker also do this on the fly, so without needing all frames but just 10 or 20 instead? So in other words: how many frames does Deshaker take into account when it is smoothing the displacement corrections for every frame?
Deshaker actually takes all frames into account. Of course it would be possible to modify Deshaker and limit the number of lookahead frames. There's just one problem, though... I won't do it. :p
loekverhees
13th October 2010, 21:10
Yes, I understand. I won't ask you to rewrite Deshaker :p.
I think the firstpass is not part of the 'Filter graph' (see here: http://avisynth.org/mediawiki/The_script_execution_model/The_filter_graph , thanks Gavino). That's why it is skipped I guess. It's no option for me to deinterlace the video twice, so I think it's best to render the deinterlaced video and store it phyisically. Then open it in VirtualDub and execute the Deshaker plugin there. Some disadvantages: I have to store the big deinterlaced video and I have one more intermediated video file. I guess I have to live with that :o.
Undead Sega
25th May 2011, 04:16
Hi Guth, and everyone here, it's been awhile, I've gotten another shot which I wanted to stabilize but like my previous attempt and going with your suggestions, I cannot get it to deshake. The footage itself isnt that shaky but I want to as smooth as possible. I am ware that the footage may be abit dark and soft, but it is in 1080p50, I have brighten and sharpened it in the hopes that it might improve but no joy :(
The footage is here itself: http://www.megaupload.com/?d=N6WPMO6L
abit large but everything should be there (quality wise). I hope I can get this to be deshaked and I would really appreciate it if anyone can. Look forward hearing back guys :)
The file seems to be "temporarily unavailable" every time I try to download it.
Undead Sega
25th May 2011, 22:38
That is very strange, try it now as I am able to download it myself.
EDIT: By the way, the file itself is called 'temp sequence 50p'.
Yes, I was able to download it now.
That clip has a few problems:
It has very little detail in the background.
The detail that is there is mostly blurry because of the rather small depth of field.
It's pretty noisy. It's not very easy to see, but there is quite a lot of noise there, which Deshaker likes to see as detail. This wouldn't be a problem if the noise didn't look similar between consecutive frames. But it does. This is either because video cameras tend to use temporal smoothing to get rid of the noise, or because of some sensor problem. And since it does look similar, Deshaker finds matching blocks all the time, incorrectly. This can, however, often be fixed by adding the VirtualDub "smoother" filter before Deshaker pass 1. (Not the "temporal smoother" filter!) You should turn it off for Deshaker pass 2.
Deshaker can only stabilize panning, rotation and zoom. But in this clip, the camera moves too (forward, backward, up, down, left, right). That motion will remain unstable.
Here are some settings that work ok. They can probably be finetuned a bit, but I can't do *all* the work for you. :)
Boulder
3rd July 2011, 14:56
Is it possible to determine the frame with the largest borders by checking the log file? I.e. is it always the frame with the largest detected horizontal or vertical pan? This also brings up a feature request: ability to limit the correction by amount of pixels needed for borders :)
Is it possible to determine the frame with the largest borders by checking the log file?
There's no easy way of knowing, no.
This also brings up a feature request: ability to limit the correction by amount of pixels needed for borders :)
The max. correction limit settings limit the max. correction (= border size) coming from x-pan, y-pan, rotation and zoom, respectively. If you want to limit the resulting *total* max. border size instead, you can use an edge compensation setting that results in no borders, and then zoom out a little using the extra zoom factor setting. With a little math or experimentation, you can convert your max. border pixels to a zoom factor.
Boulder
5th July 2011, 20:37
The max. correction limit settings limit the max. correction (= border size) coming from x-pan, y-pan, rotation and zoom, respectively. If you want to limit the resulting *total* max. border size instead, you can use an edge compensation setting that results in no borders, and then zoom out a little using the extra zoom factor setting. With a little math or experimentation, you can convert your max. border pixels to a zoom factor.That's not exactly what I meant :) I do not wish to do any resampling in Deshaker as there will be also resizing when the video is played on my TV.
I meant that I'm willing to sacrifice "n" pixels of each side throughout the whole long clip so if I could tell Deshaker to do a maximum correction of worth "n" pixels of borders, I could crop off that many pixels from each side and have no borders in the final video.
That's not exactly what I meant :) I do not wish to do any resampling in Deshaker as there will be also resizing when the video is played on my TV.
I meant that I'm willing to sacrifice "n" pixels of each side throughout the whole long clip so if I could tell Deshaker to do a maximum correction of worth "n" pixels of borders, I could crop off that many pixels from each side and have no borders in the final video.
Then simply use an edge compensation that results in no borders. And if you for some reason want a smaller video size (to get your cropping effect), just change the destination video size.
The max. correction limit settings affect how much zoom will be added do avoid the borders.
About the resampling, Deshaker will resample once no matter what settings you use. It can't stabilize without doing a resampling. But it will never ever do two resamplings. Using the extra zoom factor setting, for example, or using edge compensation zooming, won't cause another resampling.
Boulder
6th July 2011, 10:29
Then I'm mistaken as I thought that without edge compensation Deshaker only shifts the image (and does not do any kind of resizing) to stabilize the video. So basically what I'm after is to limit this shift to be max n pixels in one frame horizontally or vertically. Kind of like what DePanStabilize in Avisynth has in parameters dxmax and dymax.
Then I'm mistaken as I thought that without edge compensation Deshaker only shifts the image (and does not do any kind of resizing) to stabilize the video. So basically what I'm after is to limit this shift to be max n pixels in one frame horizontally or vertically. Kind of like what DePanStabilize in Avisynth has in parameters dxmax and dymax.
Deshaker stabilizes panning (shifting), rotation and zoom. The two latter definitely require resampling. And panning does too unless you always pan in whole pixels. But Deshaker pans in fractions of pixels, so resampling is actually required there too.
You are right that Deshaker doesn't resize the image when you don't use any edge compensation (and also disable zoom stabilization and extra zoom factor and use same destination video size as the source). But "resize" and "resample" aren't the same thing.
Usa1955
19th July 2011, 21:52
Deshaker works well for me, but how do I increase it's amount dramatically—so almost all camera motion is removed?
In the video I'm trying to sabilize all motion is not wanted and I target a not moving element in a static scene.
guth
20th July 2011, 07:51
You control the smoothness with the motion smoothness parameters. You can even set them to -1 to remove camera motion completely (i.e. let the position be fixed at the position of the first frame). If the video still moves after that it's not because of camera motion, but because Deshaker has problems in the matching process during pass 1.
I'm not sure why you just target a single non moving element. Normally, you get much more reliable output if you target the whole background. Otherwise, especially zoom and rotation probably won't be reliably detected, so you might want to turn off the settings "detect zoom" and "detect rotation" if you must target a single element.
Also, you might want to decrease the value of "discard motion of blocks that move > X pixels in wrong direction", to really ignore everything that moves just a tiny bit.
guth
31st July 2011, 16:26
Then I'm mistaken as I thought that without edge compensation Deshaker only shifts the image (and does not do any kind of resizing) to stabilize the video. So basically what I'm after is to limit this shift to be max n pixels in one frame horizontally or vertically. Kind of like what DePanStabilize in Avisynth has in parameters dxmax and dymax.
I forgot to mention that you obviously *can* make Deshaker only shift the image, if you set motion smoothness for rotation and zoom to 0, edge compensation to "None" and control the max shift with the max. correction limits (in percent). Then, after Deshaker, you crop the borders in VirtualDub.
And if you don't want to degrade the quality of the frames at all, you can set the resampling method to "Nearest neighbor". Then, it will pan in whole pixels. I'm not saying it's a good idea, though.
Gargamel
20th August 2011, 18:14
Deshaker v.3.0 on guth's page (2011.08.14).
Look at the list of improvements... A great version.
Thank you, Gunnar !
hiviking
1st September 2011, 08:26
A review of Deshaker 3.0 with some tips and tricks is now available at http://deshaker.blogspot.com (http://deshaker.blogspot.com/).
wonkey_monkey
1st September 2011, 16:12
Hey Gunnar, have you thought (more? I may have suggested this before) about allowing for perspective in the resampling stage? If you take a look at the videos on the blog page hiviking linked to, you can really see the wobbling that's introduced at the edges. I did some tests a long time ago, and taking account of perspective improves things a lot on wide angle videos.
David
MaxForce
16th March 2012, 14:16
The software is amazing! The default settings work perfect on every video I have ever tried. It might even work too well and the videos look unrealisticly smooth. My only tip is, right at the end, to limit the Max correction for horizontal and vertical panning to 5%. It makes videos look smooth but not weird.
Thank you so much for such a wonderful product!
guth
16th March 2012, 17:19
MaxForce, I'm glad you like it!
David, I missed your latest post. I'm afraid there's just too much work for me to want to deal with perspective. (Determining FOV (which can change within a clip), filling borders from past/future frames, ideally also take perspective into account during matching in pass 1, and all this combined with rolling shutter distortion etc...)
CruNcher
17th March 2012, 08:00
Is there any compare between AMDs 1st and 2nd Generation Hardware implementation and Deshaker ?
guth
18th March 2012, 13:37
Don't know.
DESuser
17th August 2012, 08:28
I am not quite sure is such a way of using the deshaker IS in accord with this topic, i have to mention this :
The _author_ intented it not only for a simulated camera motion within short stabilizitions like usual setting, hi did mention that filter is capable of producing a panoramas, where missing data is filled by blur or frames. Going further with a low resolution videos like 3gp sources or lowq phone videos being used to make a dvd movie there pops up a limitation of the filter. First one, which the author may not seen is when original camera motion IS slow eg from left to right and past-future data become unusable. Solution is to make two passes with odd and even frames, and then combine these two deshakes. Nasty thing. Next, the fillrate - every user in the world is DISsatisfied with the fillrate of that tricky blurry colour. Just disabling it brings speed improve, AND new passes of doing. I had a 9K+ frames video to be done within 29 hours on E2160 1800. Extremely slow fillrate of that. Restoration i did is to use surrounding frames of course
, and these are not the usual 30+-, good resullts for a 480p to 576p are 300+-, better ones are 450+-, and for 144p to 576p are 800-900+- and the 1000 i used too. It is just not enough for a usual scene duration of 2000-3000 frames.
It seems to me that algorithm used by author is not done neatly, it immediately take up to 2g ram and still may produce out of memory on some scene changes.
AND these is a so slow processing with no camera motion parts of any video. The movie ive done is all to last frame was restored andor deshaked via it.
LOTS and surely tons of videos are to be unfolded to greater resolutions depending on original camera motion, and those amateur shaky videos are the first to it, they really contain MORE data. And the final solution of such deshaking is a simulated panned zoom to avoid bad parts, there are currently no good ones ive seen for vd1911.
Does anyone have any ideas ?
Maybe the author may have some words ?
:thanks:
guth
17th August 2012, 17:01
Yes, Deshaker *is* extremely slow when it comes to creating panoramas, but that's mainly because Deshaker is a stabilizer and not a panorama maker.
I know the "extrapolate colors" feature is extremely slow, but for normal use it's rarely used, I think. (When I made that feature, I prioritized quality over speed, but to be honest it got a lot slower than I thought it would be. You're the first person to complain about this, though.)
If you use previous and future frames to fill in borders, Deshaker saves all those frames in memory, so if you use a lot of them, it will use a lot of memory. And since Deshaker, for now, is only 32-bit, it's limited to 2GB memory (including memory used by VirtualDub). You can patch the 32-bit VirtualDub to make it use up to 4GB memory, though, by running a "4GB patch". (Google it if you're interested.)
DESuser
18th August 2012, 03:24
Yes, thats great, i will try it. Thank you Guth, this yours piece of work is quite usable, there are no same level software, and you are the One. There no substitutes, and msu deshaker visually being alike is not to be available. Many people just do not give a try with the way i described, simply not being familiar with the configuration. Though there is a solution for such this limit, by inserting already calculated restores into video like simulated pan and thus the far-frames data may survive the limitation. And this should be called not a pan but a full scene view, surely depending on camera motion within a certain rectangle. Even HD video may be toss-n-played this way.
Despite that you do not want to progress this, may be there any workaround to recompile it to 64 bit and just increase the number bounds ? And yep, it seems no sources on page. Anyway, it is ok.
I think that deshaker may be used for deinterlacing and result to be completed with DGbob or ELA-2 or else, i just had not time, with the ideas still in mind.
And, is that you point is like a /LARGEADDRESSAWARE patch ive seen somewhere ?
DESuser
18th August 2012, 03:36
And yes the to-complete-a-dream bounds might be like this - alpha blended stream support, unlimited frame bound, gui for manual correction with 1.5 pass and 2.5 pass for a pan-zoom graphs timeline, revised data handling by using a 16x16 image blocking to save ram and speed, gpu rendered output with vignettes at least, built in-pre-pipeline strong sharpening and levels - and that be kiiler-stabilize open source application. Thats it. Within years to come none be able to supercede? while it already is so.
guth
18th August 2012, 07:28
And, is that you point is like a /LARGEADDRESSAWARE patch ive seen somewhere ?
Yes.
I don't have a 64-bit OS yet, but I can almost promise there will be a 64-bit version of Deshaker when I get one (not too long after Windows 8 is released).
As for other new features, I'm not sure. I'm afraid I don't have anything new planned at all... :(
DESuser
18th August 2012, 13:26
It works, takes up to 3.9 Gb within vd process, nice, deshaker takes four cores to work, much better now. Usual speed of 0.2 to 0.06 fps now greatly superceded. It is within W7x64U 8G/2500K@4.1G.
Thank you for reply, Guth.
isidroco
21st September 2012, 21:28
Hi guth, thanks for your excellent software. I found out that reducing previous/future frames to 24 (maybe 25) stopped "Out of memory" situation in FullHD videos under 32 bits windows (at least if using h264 crf). So you should recomend that setting for those cases (unless you use 4gb patch in 64bit os).
I noticed some slight back and forth zoom waving in some still videos I deshaked (camara was on a tripod), is there any way to avoid that? Thanks!
guth
22nd September 2012, 08:41
I found out that reducing previous/future frames to 24 (maybe 25) stopped "Out of memory" situation in FullHD videos under 32 bits windows (at least if using h264 crf). So you should recomend that setting for those cases (unless you use 4gb patch in 64bit os).
Nice to know.
I can use more than 30 previous/future frames for full-hd video. But if you encode with h264, I guess it probably uses a lot of memory.
Also, the 4GB patch works on 32-bit OS too. You won't get the full 4GB memory, but I can use more than 70 previous/future frames (i.e. 140 in total) for full-hd video on my 32-bit Vista if I do this.
I noticed some slight back and forth zoom waving in some still videos I deshaked (camara was on a tripod), is there any way to avoid that? Thanks!
Here's from my FAQ:
-----------
- I get unwanted zooming in the stabilized video.
Deshaker can add two types of zoom. One is for stabilizing zooming that it detects in the video. If this detected zooming isn't really camera zoom (for example, Deshaker usually detects zoom if the camera moves forward), or if you just don't want the camera zoom stabilized, you can turn it off by setting the zoom motion smoothness to 0. It's always a good idea to do this if there's no real zooming in the video.
The other kind of zoom that Deshaker can add is adaptive zoom. If you don't like it, choose another Edge compensation option.
-----------
Let me know if you still can't get rid of it.
isidroco
28th September 2012, 15:19
Memory limit was not only because of h264 vfw but also because of AVISYNTH used to provide MOVs to virtualdub. Using Mp4Cam2avi to convert MOVs to AVI without recompression solved the need of AVISYNTH. Tried without Avisynth +-45 frames with a small sample without problems (I will try to make more tests).
As for small waving in deshaked videos, using Scale Full (most precise) has improved A LOT. What I don't know if it's better using All pixels (veeery slow), every 4th (what I'm using now) or every 9th.
I made a batch file with virtualdub script for deshaking all avis in a folder without user intervention. Here's the post with it's source: http://forums.virtualdub.org/index.php?act=ST&f=5&t=17772&st=30#entry91160
Hope it helps others.
guth
28th September 2012, 17:10
As for small waving in deshaked videos, using Scale Full (most precise) has improved A LOT. What I don't know if it's better using All pixels (veeery slow), every 4th (what I'm using now) or every 9th.
If you set zoom motion smoothness to 0 and don't use an edge compensation option with the word "adaptive" in it, the zoom waving should be completely gone. But there can still be other types of waving.
I don't know the exact reason for your waving, but you might want to try this FAQ suggestion as well:
--------------
- I get a slight waving effect when objects move slightly, even when the camera is completely still.
Try decreasing the value for Discard motion of blocks that move more than X pixels in wrong direction.
--------------
Use as low value as you can without getting too many red vectors on the background areas. This should hopefully ignore objects that move even slightly. If the camera is somewhat stationary (but still panning/rotating or zooming), you can often use values as low as 1.0, or even lower.
"All pixels" is always better than "Every 4th" and "Every 9th", but the improvement is usually too small to see. If you can't see a difference, it's probably not worth using a slower setting.
isidroco
28th September 2012, 17:52
I will try your suggestions, but I do use zoom so I rather stabilize it too. A very useful option in pass2 would be: Ignore zoom corrections below: x% with a low default value of x=0.1% (0% would be current behaviour). Because much of the waving is very slight with zoom values very close to 1 in LOG, this would force to deshake only when zoom is significant.
guth
28th September 2012, 18:35
A very useful option in pass2 would be: Ignore zoom corrections below: x% with a low default value of x=0.1% (0% would be current behaviour). Because much of the waving is very slight with zoom values very close to 1 in LOG, this would force to deshake only when zoom is significant.
Do it yourself! :D
Seriously, though, you actually could do it yourself, by changing all zoom values in the logfile that are close to 1, to 1. Use Excel, for example.
isidroco
30th September 2012, 01:57
Do it yourself! :D
Seriously, though, you actually could do it yourself, by changing all zoom values in the logfile that are close to 1, to 1. Use Excel, for example.
Yes, I know that, but it's not practical, I should program it in pascal, because I need to do it in hundreds of LOGs (the whole point of the script I've done is to deshake automatically all my short videos). Still I think it could be an easy option to add in a future deshaker version.
Talking about that, LOGs numbers are in absolute pixel movement or as a multiplier?
Thanks for your answers :)
guth
30th September 2012, 08:39
I should program it in pascal, because I need to do it in hundreds of LOGs (the whole point of the script I've done is to deshake automatically all my short videos). Still I think it could be an easy option to add in a future deshaker version.
So, do it in Pascal then.
I don't really like the idea of such a setting. But it's also not the worst suggestion I've got. :)
We'll see...
Talking about that, LOGs numbers are in absolute pixel movement or as a multiplier?
If you're talking about the zoom values, it's a zoom factor (i.e. multiplier). There's a chapter "Log File Format" on my Deshaker page, btw.
fbs
7th October 2012, 04:23
any thoughts on how to deshake a VHS content with lots of noise and obviously low resolution? :D
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.