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 7th October 2012, 08:36   #301  |  Link
guth
Registered User
 
Join Date: Apr 2003
Location: Uppsala, Sweden
Posts: 157
Quote:
Originally Posted by fbs View Post
any thoughts on how to deshake a VHS content with lots of noise and obviously low resolution?
I've never tried it, so I'm not 100% sure.

The thing with Deshaker and noise is that it shouldn't have much trouble with "clean" noise. But if the noise starts to look similar between two frames in the video, Deshaker might find an incorrect match on it. I would guess that the original noise on the VHS is clean in this regard, but if you encode the video with a codec that analyses differences between frames (which means most codecs), or if you use temporal smoothing on the video, the noise will show similarities between frames. So, you'll probably want to use a codec that is either lossless, or encodes each frame (or field) individually, such as MJPEG or DV, when capturing the VHS video. (I'm not sure if MJPEG supports interlaced video, though.)

If you can't avoid noise that looks similar between frames, you can use the Deshaker setting "Discard motion of blocks that have max. pixel diff < X" to discard all blocks that have more noise than real detail. Or you can try using a good spatial denoiser before Deshaker pass 1. Never use a temporal denoiser before Deshaker pass 1, though.

If you can't make it work, you can email me a few frames if you like.
guth is offline   Reply With Quote
Old 10th October 2012, 19:35   #302  |  Link
fbs
Registered User
 
Join Date: Sep 2005
Posts: 45
I'm capturing it with lagarith.. complete lossless.. and no temporal filters before (just one spatial CHROMA denoiser).. the strange thing is that despite using higher values in "max. pixel diff" and "match value" it's matching "invisible block" lol.. look at the shot:
__________________
Win10x64, Phenom x6 @ 3.7ghz, 8gb ddr3, Brazil
fbs is offline   Reply With Quote
Old 11th October 2012, 17:29   #303  |  Link
guth
Registered User
 
Join Date: Apr 2003
Location: Uppsala, Sweden
Posts: 157
Quote:
Originally Posted by fbs View Post
the strange thing is that despite using higher values in "max. pixel diff" and "match value" it's matching "invisible block" lol..
What do you mean by "invisible block"? All the motion vectors were found on extremely contrasty areas, so I'm not sure I see what's so strange. (At least not without seeing the previous frame.)
The red vectors are a bit weird, though, but those are because Deshaker has some problems with straight lines. Usually such vectors will be marked bad (red), though, which is the case here too.
guth is offline   Reply With Quote
Old 11th October 2012, 18:02   #304  |  Link
wonkey_monkey
Formerly davidh*****
 
wonkey_monkey's Avatar
 
Join Date: Jan 2004
Posts: 2,493
Maybe fbs is making the same wrong assumption that I always have, until now - that the vectors shown are from the center of a block. But they're not, are they? They're showing the corners of a block!

This is like when I realised that Superman isn't spinning the Earth backwards, he's just travelling back in time around it (though that doesn't explain why he has to spin it up again).

David
wonkey_monkey is offline   Reply With Quote
Old 11th October 2012, 18:41   #305  |  Link
guth
Registered User
 
Join Date: Apr 2003
Location: Uppsala, Sweden
Posts: 157
Quote:
Originally Posted by davidhorman View Post
Maybe fbs is making the same wrong assumption that I always have, until now - that the vectors shown are from the center of a block. But they're not, are they? They're showing the corners of a block!
No, the vectors are at the center of the blocks. But if it's the leftmost red vectors you and fbs are wondering about, those are becuase vectors always occur in groups of four when the Scale setting is "Half". Try setting it to "Full" instead.

Quote:
Originally Posted by davidhorman View Post
This is like when I realised that Superman isn't spinning the Earth backwards, he's just travelling back in time around it (though that doesn't explain why he has to spin it up again).
guth is offline   Reply With Quote
Old 18th November 2012, 17:54   #306  |  Link
guth
Registered User
 
Join Date: Apr 2003
Location: Uppsala, Sweden
Posts: 157
There's now (finally) a 64-bit version of Deshaker...

http://www.guthspot.se/video/deshaker.htm

No new features, unfortunately.
Please report any problems.
guth is offline   Reply With Quote
Old 20th November 2012, 18:40   #307  |  Link
isidroco
Registered User
 
Join Date: Nov 2008
Posts: 34
Don't have a 64bit os yet

I finished some scripts for deshaking all AVIs in a directory. I found out that it could be very useful that deshaker generates and use LOG files with the same name (and same folder) as AVIs. (though I don't know if filters can ask AVI filename to VDUB)...
isidroco is offline   Reply With Quote
Old 20th November 2012, 19:37   #308  |  Link
guth
Registered User
 
Join Date: Apr 2003
Location: Uppsala, Sweden
Posts: 157
Quote:
Originally Posted by isidroco View Post
(though I don't know if filters can ask AVI filename to VDUB)...
They can't, as far as I know.
guth is offline   Reply With Quote
Old 1st January 2013, 14:50   #309  |  Link
djonline
Registered User
 
Join Date: Mar 2011
Posts: 40
Quote:
Originally Posted by guth View Post
There's now (finally) a 64-bit version of Deshaker...

http://www.guthspot.se/video/deshaker.htm
Thank you!
+20% on first pass, +4% on second pass (using 30 future frames), 1080/60p, i7-860.
djonline is offline   Reply With Quote
Old 1st January 2013, 16:28   #310  |  Link
WarpEnterprises
C64
 
WarpEnterprises's Avatar
 
Join Date: Apr 2002
Location: Austria
Posts: 830
Quote:
Originally Posted by isidroco View Post
I found out that it could be very useful that deshaker generates and use LOG files with the same name (and same folder) as AVIs. (though I don't know if filters can ask AVI filename to VDUB)...
I have similar needs, my solution to this to use AviSynth for at least pass2. This works very well, if the deshaker settings are the same for all files.
I do pass1 and pass2 with the same source script and switch off deshaker when the calling program is VDMod (which I use for pass1, having to enter the log file name manually), but not when the script is called from tmpgenc (which I use for pass2).
The main script is an AVSI in the AviSynth plugin dir, which does the loading of the MOVs and the deshaking:
Code:
LoadVirtualdubPlugin("C:\appl\VirtualDubMod\plugins\Deshaker33.vdf", "deshaker3", 1)

function mov43(name)
{
	name = default(name, leftstr(scriptfile, strlen(scriptfile)-4))
	vdm = (GetProcessName() == "virtualdubmod.exe" || GetProcessName() == "virtualdubavs.exe")
	tmpg = (GetProcessName() == "tmpgenc.exe")

	QTInput(scriptdir + name + ".MOV", audio=1, color=1)

	log = vdm ? "" : scriptdir + name + ".log"
	cmd = "18|2|30|4|1|0|1|0|640|480|1|2|500|500|500|0|4|1|6|2|15|30|300|4|" + 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|1000|1|88|1|1|20|500|100|20|1"

	vdm ? nop() : deshaker3(cmd)
	tmpg ? normalize().ConvertToRgb24() : nop()
	return last
}
That way for each source clip (MOVs in my case) a single AVS with a single line is necessary, e.g. file P1020634.avs for P1020634.MOV
Code:
mov43()
Needs helper plugin from here and the latest AviSynth to get the name of the script file.

Hope it helps!
WarpEnterprises is offline   Reply With Quote
Old 2nd January 2013, 03:39   #311  |  Link
lansing
Registered User
 
Join Date: Sep 2006
Posts: 1,657
hi, i have been trying to use deshaker to fix the film weave problem existed in old anime, where there's shakes inside the frame. Like in this example:
http://www.mediafire.com/?b5mh4xf32kzf1mc

i can't get the setting to detect the shake on the purple cloth.
lansing is offline   Reply With Quote
Old 2nd January 2013, 09:18   #312  |  Link
WarpEnterprises
C64
 
WarpEnterprises's Avatar
 
Join Date: Apr 2002
Location: Austria
Posts: 830
It seems that the shake is not consistent through the whole frame. Deshaker won't take only "your" foreground object but the WHOLE frame (which is quite unshaky).
WarpEnterprises is offline   Reply With Quote
Old 2nd January 2013, 17:24   #313  |  Link
lansing
Registered User
 
Join Date: Sep 2006
Posts: 1,657
thanks for the reply, seems like deshaker is not suitable for my case then
lansing is offline   Reply With Quote
Old 7th January 2013, 23:29   #314  |  Link
bcn_246
Registered User
 
bcn_246's Avatar
 
Join Date: Nov 2005
Location: UK
Posts: 117
Just wanted to take a moment to say thanks for all the work you have done on this filter
bcn_246 is offline   Reply With Quote
Old 8th January 2013, 17:19   #315  |  Link
guth
Registered User
 
Join Date: Apr 2003
Location: Uppsala, Sweden
Posts: 157
Quote:
Originally Posted by bcn_246 View Post
Just wanted to take a moment to say thanks for all the work you have done on this filter
Thanks for your thanks.
guth is offline   Reply With Quote
Old 9th January 2013, 09:50   #316  |  Link
fvisagie
Registered User
 
Join Date: Aug 2008
Location: Isle of Man
Posts: 588
Quote:
Originally Posted by bcn_246 View Post
Just wanted to take a moment to say thanks for all the work you have done on this filter
Ditto. I use it fairly regularly now and I never cease to be amazed by the results .
fvisagie is offline   Reply With Quote
Old 18th March 2013, 06:03   #317  |  Link
DESuser
Registered User
 
Join Date: Aug 2012
Posts: 6
64bit...

Since mr. Gunnar personally mentioned about "no new features", a new look is quite enough.. But not.
If it is really 64 bit-wise memory handling, i will test it seriously, i ve bought a 32 Gb DDR3 for Z77 chipset, lets see, is this so.
At least such software as APG 303 and PS CS6 64 bit will also take advantage, but i wish to benefit this filter first.
The problems to be repeatedly avoided are still same, these are not to be called features, ... later.
1. Deshaker fails to simulate cam path in the very simple scene with slow left to right motion witn zooming out - a still picture of a distant mountain. Somehow it recognises a part of image as an object and voila - single scene breaks into unsolvable thrashing. Why is it so, see point 2.
2. Deshaker Hundred% fails to properly simulate after very slow panning motion, left and right borders filled improperly loosing all available details to a colourful trace, while in-tests by reducing a frame twice|thrice rate does okay. Also the motion detection, since the times i ve seen AutoPanoGiga 251 and later, is weak. Naturally a half of scenes to be detected with full resolution in both settings. Here comes point 3.
3. VHS videos with low contrast and colour noise, blocky mobile shots are all fall into category of full precision detection. Because scene detection is weak. and because motions detection do NOT have any settings to be changed. Few filters in VD show WHAT they see, like noise removers, here only mr. Gunnar saw all it's intermediates. THUS there needed a colour denoising, wide distance gamma correction, and sharpening. Happily all needed sharpening may be done by msu smart sharpen with mad setting, quite ok. All noises easily removed by Neat Video, it is not free, but even old versions quite enough. But it is after, mostly. Low resolution have a commercial solution called Video Enhancer, and free solution is just to twice resize before deshaker and then sharpen.
4. Low frame rates are okay if feed 25 fps to deshaker, but it FAILS to work after interpolate filter, and a few sequentially incompatible also be named here.
5. A full set of weapons to be handled with DESHAKER are - Fast CPU at least 2 Ghz multicore, next come RAM. And NO lagariths and x264 lossless modes. Usually deshaker thrashing to swap and does something of its matter without 100% load, especially with much of frames in scope, due to weak frame handling. I will not be surprised if they ARE stored in very redundant format, at least twice. Since that a good codec to be used is MJPG at q=1 or MJPG2K, or yes lagarith with size of 640x480 max IF you have SATAiii storage and or raid.
The filters to be used to achieve a good result are - increasing resolution, removing noise, increasing frame rate to NEEDED, and then deshaking. Detection to be done one way, final deshake - hardly another.
6. Last point - Deshaker really will increase resolution with a zooming factor, since most unuqie and rare videos are shot randomly without proper conditions.
7. Save your time - i found that deshaking usual boring panning scenes with nothing that moves is useless. Feed each 5th frame to panorama maker. thats it.
8. Save you nerves - feed hard to detect cuts of 50-200 frames to autopano giga or same level software - you will find it interesting when deshaking by hand the layers of resulting PSB file. A still photo may be pan-zoomed later.
9. Do NOT fear change the settings, since mr. Gunnar optimised it for defaults you may have no choice but to try everything, just read his site and know their initial purpose.
10. Area detection is to be revised. Oh yes.. Nope. None will do it himself.
11. The last solution - Adobe AE with their stabiliser - a wobbly shadow of deshaker, i still wonder - is there hand optimizing available.
I mean area detection fail. sometimes.
Thanks for reading.
DESuser is offline   Reply With Quote
Old 28th March 2013, 11:36   #318  |  Link
fvisagie
Registered User
 
Join Date: Aug 2008
Location: Isle of Man
Posts: 588
Are unused (but analysed) previous/future frames used for filling borders?

Hi Gunnar and everyone,

Say you've analysed your whole input clip in Deshaker but after trimming etc. only some frames are rendered for output, will those frames get the full benefit of [x] Previous and future frames to fill in borders, including from frames not rendered for output? Or would one need to save the complete deshaken clip to an intermediate file to get that benefit?

Thanks,
Francois
fvisagie is offline   Reply With Quote
Old 28th March 2013, 13:17   #319  |  Link
guth
Registered User
 
Join Date: Apr 2003
Location: Uppsala, Sweden
Posts: 157
Quote:
Originally Posted by fvisagie View Post
Say you've analysed your whole input clip in Deshaker but after trimming etc. only some frames are rendered for output, will those frames get the full benefit of [x] Previous and future frames to fill in borders, including from frames not rendered for output? Or would one need to save the complete deshaken clip to an intermediate file to get that benefit?
If you save frames A to B, Deshaker pass 2 won't use frames before A, but it will use frames after B. So you might want to save to an intermediate file first (preferably using a lossless codec).

But, unless frames A and B+1 are marked as new scenes, the motion of both frames before A and after B will still affect the output of just A to B. This may or may not be what you want.

In general, I would probably either make sure A and B+1 are marked with "n_scene" in the log file, to make sure frames outside A to B aren't used at all.
Or, I would output frames A-50 to B (if you use 50 previous frames in settings) to fully make use all frames. And then remove A-50 to A-1 afterwards.

Not ideal, I know...
guth is offline   Reply With Quote
Old 28th March 2013, 18:50   #320  |  Link
fvisagie
Registered User
 
Join Date: Aug 2008
Location: Isle of Man
Posts: 588
Quote:
Originally Posted by guth View Post
Not ideal, I know
But your detailed explanation of what to expect in the various scenarios empowers the user to make informed decisions.

In this particular instance, it will be much more straight-forward for me to losslessly save a full intermediate file (as I normally did anyway ).
fvisagie 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 10:59.


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