raffriff42
3rd June 2013, 13:58
I for one don't think Avisynth is the right tool, although I would be glad to hear I'm wrong. It seems to me you need a feedback loop for this, and Avisynth, being a frameserver, can't (???) do feedback.
That said, just to start the discussion, here is a crude script to blend 24 frames together. (EDIT and another one to blend 46 frames) Add more frames to taste. :)
## Overlay mode = "blend" by default. Experiment.
## opacity (by trial and error) = (frame no) / (tot frames + 1) ^ 0.7
function BLURRR24(C)
{
return
\Overlay(C.Trim(00,0),
\Overlay(C.Trim(01,0),
\Overlay(C.Trim(02,0),
\Overlay(C.Trim(03,0),
\Overlay(C.Trim(04,0),
\Overlay(C.Trim(05,0),
\Overlay(C.Trim(06,0),
\Overlay(C.Trim(07,0),
\Overlay(C.Trim(08,0),
\Overlay(C.Trim(09,0),
\Overlay(C.Trim(10,0),
\Overlay(C.Trim(11,0),
\Overlay(C.Trim(12,0),
\Overlay(C.Trim(13,0),
\Overlay(C.Trim(14,0),
\Overlay(C.Trim(15,0),
\Overlay(C.Trim(16,0),
\Overlay(C.Trim(17,0),
\Overlay(C.Trim(18,0),
\Overlay(C.Trim(19,0),
\Overlay(C.Trim(20,0),
\Overlay(C.Trim(21,0),
\Overlay(C.Trim(22,0),
\Overlay(C.Trim(23,0),
\Overlay(C.Trim(24,0), C,
\opacity=0.12),
\opacity=0.14),
\opacity=0.16),
\opacity=0.22),
\opacity=0.24),
\opacity=0.26),
\opacity=0.32),
\opacity=0.34),
\opacity=0.36),
\opacity=0.42),
\opacity=0.44),
\opacity=0.46),
\opacity=0.52),
\opacity=0.54),
\opacity=0.56),
\opacity=0.62),
\opacity=0.64),
\opacity=0.66),
\opacity=0.72),
\opacity=0.74),
\opacity=0.76),
\opacity=0.82),
\opacity=0.84),
\opacity=0.86),
\opacity=0.92)
}
function BLURRR46(C)
{
return
\Overlay(C.Trim(1,0),
\Overlay(C.Trim(2,0),
\Overlay(C.Trim(3,0),
\Overlay(C.Trim(4,0),
\Overlay(C.Trim(5,0),
\Overlay(C.Trim(6,0),
\Overlay(C.Trim(7,0),
\Overlay(C.Trim(8,0),
\Overlay(C.Trim(9,0),
\Overlay(C.Trim(10,0),
\Overlay(C.Trim(11,0),
\Overlay(C.Trim(12,0),
\Overlay(C.Trim(13,0),
\Overlay(C.Trim(14,0),
\Overlay(C.Trim(15,0),
\Overlay(C.Trim(16,0),
\Overlay(C.Trim(17,0),
\Overlay(C.Trim(18,0),
\Overlay(C.Trim(19,0),
\Overlay(C.Trim(20,0),
\Overlay(C.Trim(21,0),
\Overlay(C.Trim(22,0),
\Overlay(C.Trim(23,0),
\Overlay(C.Trim(24,0),
\Overlay(C.Trim(25,0),
\Overlay(C.Trim(26,0),
\Overlay(C.Trim(27,0),
\Overlay(C.Trim(28,0),
\Overlay(C.Trim(29,0),
\Overlay(C.Trim(30,0),
\Overlay(C.Trim(31,0),
\Overlay(C.Trim(32,0),
\Overlay(C.Trim(33,0),
\Overlay(C.Trim(34,0),
\Overlay(C.Trim(35,0),
\Overlay(C.Trim(36,0),
\Overlay(C.Trim(37,0),
\Overlay(C.Trim(38,0),
\Overlay(C.Trim(39,0),
\Overlay(C.Trim(40,0),
\Overlay(C.Trim(41,0),
\Overlay(C.Trim(42,0),
\Overlay(C.Trim(43,0),
\Overlay(C.Trim(44,0),
\Overlay(C.Trim(45,0), C,
\opacity=0.07),
\opacity=0.11),
\opacity=0.15),
\opacity=0.18),
\opacity=0.21),
\opacity=0.24),
\opacity=0.27),
\opacity=0.29),
\opacity=0.32),
\opacity=0.34),
\opacity=0.37),
\opacity=0.39),
\opacity=0.41),
\opacity=0.43),
\opacity=0.46),
\opacity=0.48),
\opacity=0.50),
\opacity=0.52),
\opacity=0.54),
\opacity=0.56),
\opacity=0.58),
\opacity=0.60),
\opacity=0.62),
\opacity=0.63),
\opacity=0.65),
\opacity=0.67),
\opacity=0.69),
\opacity=0.71),
\opacity=0.72),
\opacity=0.74),
\opacity=0.76),
\opacity=0.78),
\opacity=0.79),
\opacity=0.81),
\opacity=0.83),
\opacity=0.84),
\opacity=0.86),
\opacity=0.87),
\opacity=0.89),
\opacity=0.91),
\opacity=0.92),
\opacity=0.94),
\opacity=0.95),
\opacity=0.97),
\opacity=0.98)
}
blurrr off:
https://www.dropbox.com/s/8361f8axclp1pi0/GTR2-Paris-sm-BLURRR-off.jpg?raw=1
blurrr 24 frames:
https://www.dropbox.com/s/ncbetgozmlh2sh7/GTR2-Paris-sm-BLURRR24.jpg?raw=1
blurrr 46 frames:
https://www.dropbox.com/s/alkku1ak6f6lzp0/GTR2-Paris-sm-BLURRR46.jpg?raw=1
Going in the right direction...still it would be easier with feedback or reentry of some kind. Plus the script gets very sluggish at 46 frames.
StainlessS
4th June 2013, 01:40
I think Jmac968 did something along those lines, but,
Find here temp plugin ClipBlend(), Planar, YUY2, RGB24/32.
Blends all frames played so far.
Resets itself at frame 0.
All frames blended given equal weight.
ClipBlend(clip,"delay"=0) # 8 bit Planar, YUY2, RGB
ClipBlend16(clip,"delay"=0) # 16 bit, Stack16 Planar, YUY2, RGB (see Dither Tools)
Added Delay arg to plugin.
Delay, default = 0, == ALL frames played so far blended.
1 = blend with previous frame.
10 = blend with 10 previous frames, etc.
Accumulator resets at frame 0 and if you jump about.
to get frame 300 only
# ------------------------ Requires GScript, RT_Stats
Avisource("D:\avs\test.avi")
ConvertToYV24() # v2.60
#ConvertToYV12() # v2.58
ClipBlend() # ClipBlend(clip)
FRM =300 # Required frame number
GSCript("""
for(i=0,FRM) {
RT_yankChain(i) # force process frames up to FRM
}
""")
Trim(FRM,-1) # Get Required frame
return ConvertToRGB32() # For Viewing YV24
# ------------------------
StainlessS
EDIT: Added Delay arg
EDIT: Added YUY2, RGB24/32
EDIT: Added 16 bit ClipBlend16()
here ClipBlend TAKE 4 (v2.5 & v2.6, with source):
LINK REMOVED, SEE HERE:-
http://forum.doom9.org/showthread.php?t=168048
you could use eg Loop to repeat frame for as long as you like.
EDIT: With a delay of maybe 7, produces effect that I think they used to use on Top Of The Pops.
Should play in real time.
EDIT: Might be useful for isolating static opaque logos.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.