View Full Version : AviSynth script that combines MVtools with SpotRemover
demesmaeker
15th August 2007, 18:04
Hey there,
I visited a site with a avisynthscript on it, and i can´t get it running. I also googled for it, but this problem is too specific, so I didnt find any results.
I want to get the "dustspots" off a 8mm film.
My actions untill now:
- installed avisynth 2.57
- downloaded spotremover
- downloaded MVtools
Make a notepadfile (test.avs)
This script is from the author, so I added only one line (the line with Avisource in it, because my source is avi and not mpeg2)
--------------------
LoadPlugin("I:\-=installers=-\dgmpgdec149\DGDecode.dll")
LoadPlugin("I:\-=installers=-\Mvtools\mvtools.dll")
LoadVirtualDubPlugin("I:\-=installers=-\SpotRemover354\SpotRemover.vdf","SpotRemover",11)
# SRC = mpeg2source("D:\1_rebyata\reb.d2v")
AviSource("film8mm.avi")
FLT = SRC.Blur(1.58)
b_vec2 = FLT.MVAnalyse(isb = true, delta = 2, idx=1)
b_vec1 = FLT.MVAnalyse(isb = true, delta = 1, idx=1)
f_vec1 = FLT.MVAnalyse(isb = false, delta = 1, idx=1)
f_vec2 = FLT.MVAnalyse(isb = false, delta = 2, idx=1)
bf2 = SRC.MVCompensate(vectors=b_vec2, idx=2)
bf1 = SRC.MVCompensate(vectors=b_vec1, idx=2)
ff1 = SRC.MVCompensate(vectors=f_vec1, idx=2)
ff2 = SRC.MVCompensate(vectors=f_vec2, idx=2)
interleave( bf2, bf1, SRC, ff1, ff2 )
ConvertToRGB32()
SpotRemover("SSI:11 SSC:0 SKW:9 SLI:2 SLC:2 SLD:0 DLS:26 DLC:18 DPC:10 DSF:1 DSD:1 MTX:16 MTY:12 MTL:22 MDX:1 MDY:1 MIH:0 CBR:0 CCO:0 CSA:0 CBA:0 CSR:0 CSB:0 FCI:0 FCD:0 ","")
SelectEvery( 5, 1 )
-----------------------
If I run this script, mplayer classic says "I don´t know what "SRC" means (I:\test.avs, line 10)
This is probably something stupid, so I am sorry if it is something obvious.
I´ve been sitting on my 8mm videos (avi) for a year now. Every few months I am putting a lot of energy in filtering, but without the spots gone, I can´t find any rest.
I hope someone can help me out with this one.
Greetz,
Demesmaeker, Holland
Leak
15th August 2007, 18:31
Here's your problem:
# SRC = mpeg2source("D:\1_rebyata\reb.d2v")
AviSource("film8mm.avi")
You commented out the first line, which assigned MPEG2Source's result to "SRC", while your replacement gets automatically assigned to the "last" variable, but not "SRC".
Put a "SRC=" in front of your AviSource and it should work.
np: Yagya - Snowflake 10 (Rhythm Of Snow)
demesmaeker
15th August 2007, 18:34
Here's your problem:
# SRC = mpeg2source("D:\1_rebyata\reb.d2v")
AviSource("film8mm.avi")
You commented out the first line, which assigned MPEG2Source's result to "SRC", while your replacement gets automatically assigned to the "last" variable, but not "SRC".
Put a "SRC=" in front of your AviSource and it should work.
np: Yagya - Snowflake 10 (Rhythm Of Snow)
Aargl..how stupid of me!!!! Thanks man!
Now it says "MVAnalyse: Clip must be YV12 or YUY2. I saw this problem before, so I guess that I can find that somewhere on this forum! :)
demesmaeker
15th August 2007, 18:49
With this script it works almost perfect:
LoadPlugin("I:\-=installers=-\dgmpgdec149\DGDecode.dll")
LoadPlugin("I:\-=installers=-\Mvtools\mvtools.dll")
LoadVirtualDubPlugin("I:\-=installers=-\SpotRemover354\SpotRemover.vdf","SpotRemover",11)
SRC=AviSource("film8mm.avi").ConvertToYV12()
FLT = SRC.Blur(1.58)
b_vec2 = FLT.MVAnalyse(isb = true, delta = 2, idx=1)
b_vec1 = FLT.MVAnalyse(isb = true, delta = 1, idx=1)
f_vec1 = FLT.MVAnalyse(isb = false, delta = 1, idx=1)
f_vec2 = FLT.MVAnalyse(isb = false, delta = 2, idx=1)
bf2 = SRC.MVCompensate(vectors=b_vec2, idx=2)
bf1 = SRC.MVCompensate(vectors=b_vec1, idx=2)
ff1 = SRC.MVCompensate(vectors=f_vec1, idx=2)
ff2 = SRC.MVCompensate(vectors=f_vec2, idx=2)
interleave( bf2, bf1, SRC, ff1, ff2 )
ConvertToRGB32()
SpotRemover("SSI:11 SSC:0 SKW:9 SLI:2 SLC:2 SLD:0 DLS:26 DLC:18 DPC:10 DSF:1 DSD:1 MTX:16 MTY:12 MTL:22 MDX:1 MDY:1 MIH:0 CBR:0 CCO:0 CSA:0 CBA:0 CSR:0 CSB:0 FCI:0 FCD:0 ","")
SelectEvery( 5, 1 )
The only thing that is left is that the "debugger" of "Spotremover" is still on, so I dont see just the dust (that it detects really well!!), but I see blocks around it :)
Does someone know how to turn the debug function off?
Fizick
15th August 2007, 19:17
Spotremover is not free. Get support from author.
demesmaeker
15th August 2007, 19:22
Spotremover is not free. Get support from author.
Not free? Where did you see that?
I got the program from the authors homepage. Saw nothing about paying or so. Could download the program and it works fine (without saying it is a demo or so). I also did not see any options to buy a full version or so.
Maybe you are talking about a different version, or maybe the author changed his mind about asking money for it?
(or maybe I am just looking over it of course :P )
Authors website: http://konstant.freeshell.org/
Greetz, Demesmaeker
ps. I found out how to turn the debugger off by changing DSD:1 in DSD:0
Fizick
15th August 2007, 20:15
There is "Registration" section in help file.
So, buy it or replace by free DeSpot or other AviSynth filter
demesmaeker
15th August 2007, 20:22
This is a forum for people who are interested in videos and the problems they run in to, right?
Why wouldn´t i be able to talk about a problem with a "light version", if registering is a possibility (and not OBLIGATED)?
Who are you to decide if I have to buy a full version or shut up or find another program? I am talking about a part of the program that is available for everyone. Not about cracking or something like that. What i am talking about is 100% legal.
I don´t want other versions because I think this one is better.
Not to attack you, but your responses give me the feeling that you are pissed off at me for no reason. :(
Any way, I got it all worked. Without the full version. The "freeware version" is good enough for me!
greetz,
Demesmaeker
Didée
15th August 2007, 23:20
Any way, I got it all worked.
The script is wrong. Not your fault, though, but the author's one ...
WRONG: SelectEvery(5,1)
Correct: SelectEvery(5,2)
demesmaeker
16th August 2007, 05:16
The script is wrong. Not your fault, though, but the author's one ...
WRONG: SelectEvery(5,1)
Correct: SelectEvery(5,2)
Thanks for the remark. What is the difference between (5,1) and (5,2) ?
greetz,
Demesmaeker, Holland
JuanC
16th August 2007, 06:51
Who are you ...Fizick is the person you could thank for developing the latest features you use from MVtools, and the author of DeSpot, a very interesting alternative to spotremover. He is offering his free support to you on this very same thread.
demesmaeker
16th August 2007, 07:03
Fizick is the person you could thank for developing the latest features you use from MVtools, and the author of DeSpot, a very interesting alternative to spotremover. He is offering his free support to you on this very same thread.
I see him telling me to buy something else or to try another tool. Not that I don´t think his work is great. I just don´t want any one but my mother to tell me what to do ;) I just asked for help on a "lightversion of a program", and I don´t think "buy the full version, or try another program" is a friendly response.
Fizick, no hard feelings, thanks for all the hard work you put in the tools you work at! I wish I could do that. Last time I programmed anything, was a game in gwbasic :)
Greetz, Demesmaeker
Didée
16th August 2007, 07:11
What is the difference between (5,1) and (5,2) ?
With Select(5,1), the processed frame "bf1" is returned. That's the wrong one. You want to return the processed frame "src", which you get with SelectEvery(5,2).
_____ 5 frames ______
/ \
bf2, bf1, SRC, ff1, ff2
0 1 2 3 4
demesmaeker
16th August 2007, 07:23
[QUOTE=Didée;1034397]With Select(5,1), the processed frame "bf1" is returned. That's the wrong....QUOTE]
:thanks:
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.