VideoHelp Forum
+ Reply to Thread
Results 1 to 25 of 25
Thread
  1. Hey VideoHelpers

    I can't seem to find an answer or a solution - here's what i need to do:
    Big screen shows a live video from a camera and i need to create about 25 frames of fading ghosting (i.e if somebody moves in the scene a fading ghost trail of him will be left behind for a second). Anybody here can suggest what hardware or software i need to use to get that kind of effect. Sorry if the question really has a simple answer, i'm new to live video.
    See the image to better get my idea:Click image for larger version

Name:	original6.jpg
Views:	733
Size:	45.4 KB
ID:	28059

    Thank you, your help is appreciated!
    Quote Quote  
  2. Member Cornucopia's Avatar
    Join Date
    Oct 2001
    Location
    Deep in the Heart of Texas
    Search PM
    You need something that has a loop-able delay device.

    So instead of Input frames being:

    F0_F1_F2_F3_F4_F5

    you get Output frames being:

    F0+F1_F1+F2_F2+F3_F3+F4_F4+F5_F5+F6
    or
    F0+F1+F2_F1+F2+F3_F2+F3+F4_F3+F4+F5_F4+F5+F6_F5+F6 +F7
    etc.

    And the brightness/transparency of the later (fed-back) images would be a function of the intensity of the feedback (there would have to be some compensating reduction of overall brightness however).

    This can be done easily with files in most NLEs and with AVISynth (I have done this myself), but I don't know what devices do exactly like what you're asking - LIVE. You would want something like "video echo" or "video delay line" or "video frame delay", etc. This is similar to, but not having the same properties as, Optical feedback. Also similar to slow framerate light trails (both operate with fed-back frame-delayed images). It's possible that a standard Frame Synchronizer might have that feature as an optional artistic "effect".

    Scott
    Last edited by Cornucopia; 21st Oct 2014 at 01:36.
    Quote Quote  
  3. Just throwing out some ideas, not sure if/how well they will work

    You might be able to do it live with graphedit/graphstudio with ffdshow in the filterchain . Since ffdshow has an "avisynth" box, you can apply filters that way

    There is also this project you might want to explore
    https://github.com/rdp-org/avisynth-as-directshow-capture
    Quote Quote  
  4. Member budwzr's Avatar
    Join Date
    Apr 2007
    Location
    City Of Angels
    Search Comp PM
    Can't you just lay down about 8-10 tracks of the same event and stagger the position? With everything blended as an "ADD".
    Quote Quote  
  5. Budwzr, from reading his original post again, it looks like he wants to do it live. Maybe OP will chime in and say yes live or to be done in post.
    Extraordinary claims require extraordinary evidence -Carl Sagan
    Quote Quote  
  6. The screenshot provided by the OP seems more than simple frame-overlay... a kind of pixellation/particle effect is present also.
    It is possible with simple frame-overlay with mainstream machines in almost real-time, but adding (heavy) particle effects is likely to lag unless with a very powerful machine.
    Stopping development until someone save me from poverty or get me out of Hong Kong...
    Twitter @MaverickTse
    Quote Quote  
  7. Some cameras have the ability to do slower than normal shutter speeds which may get you partway there. You probably want to look into video DJ software -- but I don't know any specific product well enough to make a recommendation.
    Quote Quote  
  8. Member Cornucopia's Avatar
    Join Date
    Oct 2001
    Location
    Deep in the Heart of Texas
    Search PM
    Here is an example of a simple frame-delay overlay that I did in AVISynth (IIRC, =8 successive frames):
    Name:  FrameBlendx8crop.png
Views: 896
Size:  138.9 KB

    Note, it doesn't have quite the same SMEAR as the OP's - you can see each individual frame's contribution, even though it was shot at 60p. This would lead me to agree with MaverickTse's assessment.

    Scott
    Quote Quote  
  9. Member budwzr's Avatar
    Join Date
    Apr 2007
    Location
    City Of Angels
    Search Comp PM
    Well, you gave it a yeoman's try. I think the Ope mentioned 25 frames. There might be some unseen forces here too, like number of frames/speed of action X amount of blur... Something like that. You might need the perfect storm.

    Or another possibility is a high framerate camera. That would require very little blur to look continuous.

    Another possibilty is it was done with a very slow shutter speed. Slow shutters do produce ghosting, as in like a waterfall shot. Notice there's no background visible. That suggests the lighting didn't make it that far because it's very dim, just enough to barely illuminate the dancers.
    Last edited by budwzr; 21st Oct 2014 at 17:46.
    Quote Quote  
  10. Yes, I agree that example is not a single simple delay or offset - but not because of the "streaks". It's the timing of the frame accumulation that indicates this.

    As the pair move off to either side (you can choose either), the most recent "echo" should be the next most distinct (next highest in opacity) if the falloff were linear. However, there other images earlier in the sequence temporally that have higher opacity. This suggests at least some compositing was done

    OP wasn't clear if he wanted something exactly like that (much harder to do in live, realtime), or if a simple offset would suffice
    Quote Quote  
  11. Member budwzr's Avatar
    Join Date
    Apr 2007
    Location
    City Of Angels
    Search Comp PM
    Ah-ha. Interesting article. So it's a still image sequence composite. Does it animate, I wonder? That would be very cool too.
    Quote Quote  
  12. Member Cornucopia's Avatar
    Join Date
    Oct 2001
    Location
    Deep in the Heart of Texas
    Search PM
    I don't think it is actually a still image sequence, per se. More of a composite of time exposures (aka slow shutter speed) plus flash at end.

    Not animated, I'm pretty sure.

    That's where mine is different, because mine works on video in AVISYNTH. But it gives me ideas...

    Scott
    Quote Quote  
  13. Good Job PDR!

    So this is a composite of a sequence of long-exposure image with flash....
    "Motion-blur" can simulate the effect to some extent, but I can't get the idea of flash...(i'm a noob in photography)

    is it working like this?:
    1> [start long exposure](the trail) → [Flash](solid body outline) → [end exposure]
    2> Repeat 1 in different pose
    3> composite 2
    Stopping development until someone save me from poverty or get me out of Hong Kong...
    Twitter @MaverickTse
    Quote Quote  
  14. So I attempted to make a simulation with 8 overlaps...
    each trailing image also has "(TV-)Noise" applied

    Overlapping with more layers will give longer tails but may crash the program at some point...

    Note that this is already quite heavy and not suitable for LIVE

    still the smear is not quite the same

    Name:  RedMistress-MotionBlurTest01.gif
Views: 874
Size:  420.6 KB

    The Red Mistress-Demo.avi : Video Source
    RedMistress-MotionBlurTest01.zip : AviUtl project
    RedMistress-MotionBlurTest01.avi : FX applied (1280x720, Lagarith AVI)
    Image Attached Files
    Stopping development until someone save me from poverty or get me out of Hong Kong...
    Twitter @MaverickTse
    Quote Quote  
  15. Member Cornucopia's Avatar
    Join Date
    Oct 2001
    Location
    Deep in the Heart of Texas
    Search PM
    Yes, I believe that is how it was done. The long exposure accumulated the motion, providing the trails, and the flash at the end gave just enough more light to show up as the strongest image, and by being short and the final image in the exposure, it is sharp & fixed. Then, multiple sequences were composited.

    I like your test. Will have to analyze it tonight...

    Scott
    Quote Quote  
  16. Member budwzr's Avatar
    Join Date
    Apr 2007
    Location
    City Of Angels
    Search Comp PM
    Smells like a wiener.
    Quote Quote  
  17. Looks nice Maverick



    There are probably several ways to do it something like this avisynth. This example combines a 16frame delay accumulation with a 8frame delay. Another overlay is put on top as the currentframe acting as the "leading" frame , otherwise the acuumulated frames tend to blend in too much - It's role is simliar to the flash used for the real thing. So 2 overlays are used, and it's slower to process. This method uses ClipBlend from StainlessS (external avisynth plugin) , but there are other ways

    You should be able to get realtime with avisynth with a single staggered layer on a decent system, but if you composite multiple layers, motion blurs, add other effects, etc... you won't get real time. I think you should be able to use the ffdshow avisynth box , perhaps with a live feed in graphstudio to apply the avisynth filters

    Overlay() is inefficient speedwise in avisynth compared to mt_merge(), but layer blending options are more limited with masktools. There are a few user made masktools functions that offer modes like "lighten", "screen", etc... but they have problems with YUV and chroma handling

    1) eg. preview of single 8 frame
    Click image for larger version

Name:	51 8.png
Views:	418
Size:	121.8 KB
ID:	28079

    2) 8+16 (you can see the 8 frame "echo" of the female dancer's hand, combined with the longer 16 frame "echo". This is a composite of sorts like the original example pic, because there is an older "echo" that has higher opacity, except done with video)
    Click image for larger version

Name:	51 16+8.png
Views:	462
Size:	129.8 KB
ID:	28080

    3) Another way to get "smoother" trails, instead of "discrete echos" from frames is to interpolate the frame range using mvtools. You're essentially cramming in more frames per unit time, so the trails are more contiguous. This one combines 8+16 as above with 2 interpolated versions. Notice there is a background dude in the white shirt (obviously you'd crop that out), but that's an "echo" from an earlier time range from the interpolated version. Another method is you could probably apply some motion blurs to smooth out echos
    Click image for larger version

Name:	50 mix.png
Views:	394
Size:	137.3 KB
ID:	28081


    e.g 8+16

    Code:
    AVISource("The Red Mistress-Demo.avi")
    AssumeFPS(24000,1001)
    main=last
    
    main
    clipblend(delay=8)
    a=last
    
    main
    clipblend(delay=16)
    b=last
    
    mix=overlay(a,b, mode="lighten")
    
    overlay(mix,main, mode="lighten")



    It's probably difficult to get the smear/trails exactly the same way as in the pic as a video post effect (and that example was s a still , we don't have motion samples to examine the falloff function characteristics) . But there are many things you can try like different delay values as shown above, apply different effects, layer blending modes, apply motion vector blurs, many different things - just throwing out some ideas

    There are other ways to do even more stylistic trails (even more than the original example), such as using motion tracking for the particle emitter(s) and particle engines for effects, but of course not in realtime. Realistically only the single layer "echo" of "x" frames could be done in realtime, perhaps two layers but I doubt more
    Image Attached Files
    Last edited by poisondeathray; 22nd Oct 2014 at 19:01.
    Quote Quote  
  18. Here's a crude method but it only works on a black background:

    Code:
    ffVideoSource("dance.mp4") 
    src=last.Trim(16,0)
    Merge(SelectEven(),SelectOdd())
    Merge(SelectEven(),SelectOdd())
    Merge(SelectEven(),SelectOdd())
    Merge(SelectEven(),SelectOdd())
    ConvertFPS(29.97)
    bmask=src.mt_binarize(50).Invert().Blur(1.0)
    Overlay(src, last, mask=bmask)
    Image Attached Files
    Quote Quote  
  19. Member Cornucopia's Avatar
    Join Date
    Oct 2001
    Location
    Deep in the Heart of Texas
    Search PM
    Mine was similar, more convoluted, but didn't have the light-accumulation problem (pardon my AVISynth inefficiencies):
    Code:
    clipA=DirectShowSource("W:\HighlightsPromo.avi").AssumeFPS("ntsc_double")
    clipB=DeleteFrame(clipA,*end*)
    clipB=DuplicateFrame(clipB,0)
    clipC=DeleteFrame(clipB,*end*)
    clipC=DuplicateFrame(clipC,0)
    clipD=DeleteFrame(clipC,*end*)
    clipD=DuplicateFrame(clipD,0)
    clipE=DeleteFrame(clipD,*end*)
    clipE=DuplicateFrame(clipE,0)
    clipF=DeleteFrame(clipE,*end*)
    clipF=DuplicateFrame(clipF,0)
    clipG=DeleteFrame(clipF,*end*)
    clipG=DuplicateFrame(clipG,0)
    clipH=DeleteFrame(clipG,*end*)
    clipH=DuplicateFrame(clipH,0)
    clipAB=Merge(clipA, clipB)
    clipCD=Merge(clipC, clipD)
    clipEF=Merge(clipE, clipF)
    clipGH=Merge(clipG, clipH)
    clipABCD=Merge(clipAB,clipCD)
    clipEFGH=Merge(clipEF,clipGH)
    clipABCDEFGH=Merge(clipABCD,clipEFGH)
    clipABCDEFGH=ConvertToYV12(clipABCDEFGH)
    clipABCDEFGH=Dup(clipABCDEFGH)
    return (clipABCDEFGH)
    Scott
    Last edited by Cornucopia; 22nd Oct 2014 at 21:23.
    Quote Quote  
  20. My video didn't have a light accumulation problem. The video I started with (downloaded from Youtube) was already blown out.

    Source:
    Click image for larger version

Name:	source.jpg
Views:	402
Size:	17.8 KB
ID:	28084

    Processed:
    Click image for larger version

Name:	processed.jpg
Views:	354
Size:	20.6 KB
ID:	28085
    Last edited by jagabo; 22nd Oct 2014 at 23:53.
    Quote Quote  
  21. Member budwzr's Avatar
    Join Date
    Apr 2007
    Location
    City Of Angels
    Search Comp PM
    I like jagabo's the best by far. Even better than the OP's sample.
    Quote Quote  
  22. I think the real inspiration for this is Mortal Kombat

    Everyone wants to do a Johnny Cage Shadow Kick live !!!!

    Name:  johhny_cage_shadow_kick.jpg
Views: 562
Size:  11.6 KB
    Quote Quote  
  23. So, there are a few possibilities here, but still not tested with LIVE situation...
    Anyone want to take the challenge?
    Stopping development until someone save me from poverty or get me out of Hong Kong...
    Twitter @MaverickTse
    Quote Quote  
  24. In the past I've done something like what poisondeathray suggested in post #3. I opened a capture graph with DirectShowSource() in an AviSynth script, added effects with the script, and played the script with a media player. The biggest problem is that only some capture devices can be used this way. And if you want very long complex trails with high def video you may run into CPU power problems.

    https://forum.videohelp.com/threads/333466-Conan-O-Brien-mouth-cutout-interviews-help?p...=1#post2068898
    Quote Quote  
Visit our sponsor! Try DVDFab and backup Blu-rays!