VideoHelp Forum
+ Reply to Thread
Page 1 of 2
1 2 LastLast
Results 1 to 30 of 42
Thread
  1. Member
    Join Date
    Jun 2005
    Location
    The Netherlands
    Search Comp PM
    I shot some 50i PAL footage on my camcorder. In order to proper stabilize the video, I deinterlaced it and used the Deshaker filter in VirtualDub. Now I want to reinterlace the video for displaying on TV. What is the best way to go? I also want to sharpen the video in Premiere Pro and export from there to MPEG-2.

    Thanks in advance.
    Quote Quote  
  2. You can't get back the information lost by deinterlacing. A PAL TV will have no problem displaying your remaining progressive frames. You took frames which had 2 different half pictures (take at 1/50 second intervals) and converted them into frames that had single whole pictures (at 1/25 second intervals). When the remaining whole pictures are displayed on an interlaced TV you will see the remaining whole pictures half at a time. But you will not have the smooth motion of the original interlaced video because those other half pictures are gone.
    Quote Quote  
  3. Member
    Join Date
    Jun 2005
    Location
    The Netherlands
    Search Comp PM
    That's just it, when I try to play back the progressive video on the interlaced TV, the video is too jerky. That's why I wanted to reinterlace the video, because my original shaked video, plays smoothly. So how could I still reinterlace the video?
    Quote Quote  
  4. Member
    Join Date
    Jul 2009
    Location
    Spain
    Search Comp PM
    Instead of 'same-rate' deinterlacing before applying Deshaker, you should have done a 'bob' deinterlace to 50fps to retain the original temporal resolution. The best solution would be to repeat the exercise doing this.
    Quote Quote  
  5. There are some programs that can synthesize in-between frames by looking at the remaining frames and then interpolating motion in between. With some types of video it works well, with others not. Look into AviSynth's SmoothFPS() filter.
    Quote Quote  
  6. Member
    Join Date
    Jun 2005
    Location
    The Netherlands
    Search Comp PM
    Ok. What is the code in avisynth to 'bob'-deinterlace to 50p (I think this is better than using SmoothFPS)?
    Quote Quote  
  7. Member
    Join Date
    Jul 2009
    Location
    Spain
    Search Comp PM
    Bob()

    couldn't be simpler!
    Quote Quote  
  8. Originally Posted by loekverhees
    Ok. What is the code in avisynth to 'bob'-deinterlace to 50p (I think this is better than using SmoothFPS)?
    Yes, if you still have the original video a smart bob will work better than SmoothFPS(). The very best smart bob is AviSynth's TempGaussMC_beta1() but it's very slow. Some other, faster methods are Yadif(mode=1) TDeint(mode=1), and LeakKernelDeint(). Then there's the simple Bob() built into AviSynth.

    Some examples posted by somebody a while back:
    https://forum.videohelp.com/images/guides/p1934885/stockholma_0-520_q3_yadif_mvbobmod_t...mca4_tdtmm.avi
    Quote Quote  
  9. Member
    Join Date
    Jun 2005
    Location
    The Netherlands
    Search Comp PM
    @jagabo: Are these methods better than method 4b on http://www.100fps.com/ ?
    Quote Quote  
  10. Originally Posted by loekverhees
    @jagabo: Are these methods better than method 4b on http://www.100fps.com/ ?
    TempGaussMC_beta1() is definitely better. Some of the others may only be a little better depending on the particular video.

    After you've done whatever processing you want on the video you re-interlace with:

    WhateverSource()
    SeparateFields()
    SelectEvery(4, 0, 3)
    Weave()
    Quote Quote  
  11. Member
    Join Date
    Jun 2005
    Location
    The Netherlands
    Search Comp PM
    Ok, thanks for the replies. I'm trying Yadif now, since the TempGaussMC was way to slow :P. When I reinterlaced using the given code, do I have LFF or UFF (that's the same as BFF and TFF, right)?

    I notice that when I export all the time in the Panasonic DV codec, I get lots of compression artefacts (blocks). Is there a better codec?

    One thing I still do not fully understand: When I deinterlace the DV-footage, deshake it, and burn it to DVD (so I have a 25fps progressive video), the video looks jerky om my TV. But when I watch a normal DVD from the store (also 25fps progressive PAL), it looks like the video is playing very smoothly. How is that possible, since both are 25fps progressive, right?
    Quote Quote  
  12. Member Alex_ander's Avatar
    Join Date
    Oct 2006
    Location
    Russian Federation
    Search Comp PM
    Originally Posted by loekverhees
    When I reinterlaced using the given code, do I have LFF or UFF (that's the same as BFF and TFF, right)?
    The output field order is the same as just before Separate Fields (use info). You can force the desired output field order by putting AssumeTFF or AssumeTFF before Separate Fields. It is also important to use correct field order settings for bob filter (BFF for DV), test the 50p frame sequence after Yadif - motion should progress.
    If you don't want to re-encode the jerky result, it is possible to reverse field order flags on elementary stream (demux it) with ReStream utility.
    Quote Quote  
  13. Member
    Join Date
    Jun 2005
    Location
    The Netherlands
    Search Comp PM
    Originally Posted by Alex_ander
    The output field order is the same as just before Separate Fields (use info).
    I don't understand, before using 'Separate Fields', the video is progressive, so you can't say it's LFF or UFF I think.
    Quote Quote  
  14. Member Alex_ander's Avatar
    Join Date
    Oct 2006
    Location
    Russian Federation
    Search Comp PM
    Originally Posted by loekverhees
    Originally Posted by Alex_ander
    The output field order is the same as just before Separate Fields (use info).
    I don't understand, before using 'Separate Fields', the video is progressive, so you can't say it's LFF or UFF I think.
    You asked about that interlacing code:

    SeparateFields()
    SelectEvery(4, 0, 3)
    Weave()

    info() can give you the AviSynth field order in which the fields will be separated from progressive 50p frames (= output field order here). If you add a line before:

    AssumeTFF()
    SeparateFields()
    SelectEvery(4, 0, 3)
    Weave()

    the output will be TFF.
    Quote Quote  
  15. Always Watching guns1inger's Avatar
    Join Date
    Apr 2004
    Location
    Miskatonic U
    Search Comp PM
    Originally Posted by loekverhees
    I notice that when I export all the time in the Panasonic DV codec, I get lots of compression artefacts (blocks). Is there a better codec?
    Yes, the Cedocida DV Codec. It is far better than the aging Panasonic Dv codec.

    Also, Deshaker has an interlace flag to allow it to work at a field level so you do not have to deinterlace to stabilise with it.
    Read my blog here.
    Quote Quote  
  16. Member Alex_ander's Avatar
    Join Date
    Oct 2006
    Location
    Russian Federation
    Search Comp PM
    Originally Posted by guns1inger
    Deshaker has an interlace flag to allow it to work at a field level so you do not have to deinterlace to stabilise with it.
    However it's worth trying in bob mode as well. Many filters have interlaced mode but most of them simply work on separated fields. In some cases (with spacial transformations like resizing, noise filtering etc.) externally provided bob mode helps to minimize artifacts. I usually do so with NeatVideo (although it also has internal field separation) after some comparison tests.
    Quote Quote  
  17. Originally Posted by loekverhees
    One thing I still do not fully understand: When I deinterlace the DV-footage, deshake it, and burn it to DVD (so I have a 25fps progressive video), the video looks jerky om my TV. But when I watch a normal DVD from the store (also 25fps progressive PAL), it looks like the video is playing very smoothly. How is that possible, since both are 25fps progressive, right?
    That sounds like you have some other problem. You should post a short segment of you output file and we'll see if there is something wrong with it.
    Quote Quote  
  18. The video looks like normal 25 fps footage to me. It's 25 fps progressive. Where are you viewing the jerkiness? Maybe you have a playback problem? You might try encoding interlaced to see if that makes any difference on your playback device.

    The video is very bright and high contrast. That makes the inherent jerkiness of 25 fps more obvious. Also, professionals use special techniques to reduce the impact of this jerkiness. They tend to avoid medium speed pans. Or when they use them they will use a short depth of field to assure the background is out of focus. That type of thing.
    Quote Quote  
  19. Member
    Join Date
    Jun 2005
    Location
    The Netherlands
    Search Comp PM
    Tried the progressive one once again on my CRT-television, still some jerkiness (and it looks like the screen is flickering (alternating becoming brighter and darker very fast). Then I tried to playback the progressive video on my computer, and there it looks ok, not as smooth as the interlaced one, but way better than on television.
    Then I tried the interlaced one, and that plays super smoothly on television. I've include the original video (DV imported in Adobe PP and exported to interlaced PAL mpeg2):

    http://uploading.com/files/MTXYPSUB/original_sample.m2v.html

    I read that when working with interlaced material, one should set the 'motion smoothness' value in DeShaker higher than if working with progressive material because the filter was frame-based. Does this imply that I should double the values because the framerate of the interlaced material is also doubled?
    Quote Quote  
  20. The only significant difference I see between sample.m2v and original_sample.m2v (aside from the deshaking) is the progressive encoding in sample vs. interlaced encoding in original_sample. After authoring a DVD they should playback essentially the same. If not, then there may be something wrong with the authoring. Or your DVD player doesn't like progressive encoding -- which doesn't seem likely.

    Regarding DeShaker and interlaced video -- I don't know if you need to change the values. It should be easy enough to test a short segment.

    Here's a segment of sample.m2v video converted to 50 fps with AviSynth's SmoothFPS:

    fps50.avi
    Quote Quote  
  21. Member
    Join Date
    Jun 2005
    Location
    The Netherlands
    Search Comp PM
    Thanks for the sample, it is very smooth. In the beginning, I tried to deinterlace the footage because I got bad results from DeShaker processing interlaced material. But now I raised the values in DeShaker, and now I get good results out of DeShaker (with interlaced footage). So, now, I do not need to deinterlace the footage in the first place. This way, I also have less intermediate steps.
    Quote Quote  
  22. Member
    Join Date
    Jun 2005
    Location
    The Netherlands
    Search Comp PM
    The deinterlacers Yadif and TempGaussMC, can they also be used to convert 25i to 25p instead of 'bobbing' 25i to 50p? If yes, what's the code for AviSynth?
    Quote Quote  
  23. I don't understand your question. There is no such thing as 50i really -- aside from marketing which has decided to start calling 25i 50i because it sounds bigger and better.

    If you want to convert 25p (like in your sample.m2v) to 25i, just reencode with the MPEG encoder set to interlaced. It won't have any more temporal information but apparently your DVD player (or a mistake in the way you've authored) plays it more smoothly.

    If you want to convert 25p to 50p with SmoothFPS(), then make that into 25i (with 50 different fields per second), you can do that with a script like this:

    Code:
    Mpeg2Source("sample.d2v")
    SmoothFPS(50)
    SeparateFields()
    SelectEvery(4,0,3)
    Weave()
    25i.m2v
    Quote Quote  
  24. Member
    Join Date
    Jun 2005
    Location
    The Netherlands
    Search Comp PM
    Ah, sorry, I see I mistyped a few things. I edited the post. And with 50i, I meant 50 fields per second and 25 frames per second. I edited that also. Excuses again .
    Quote Quote  
  25. Yadif(mode=0) converts 25i to 25p. TempGaussMC_beta1() only bobs to 50p but you can decimate afterwards:

    Code:
    TempGaussMC_beta1()
    SelectEven()
    Quote Quote  
  26. Member
    Join Date
    Jun 2005
    Location
    The Netherlands
    Search Comp PM
    Thanks. Another thing: If I want progressive in the final output, should I first use TGMC and then run DeShaker, or first Deshaker and then TGMC?
    Quote Quote  
  27. Originally Posted by loekverhees
    Thanks. Another thing: If I want progressive in the final output, should I first use TGMC and then run DeShaker, or first Deshaker and then TGMC?
    That's a tough call. I'd try it both ways. I suspect Deshaker first will work better because it un-rotates video as well as deshaking. I don't think TempGauss handles rotation -- but I'm not sure.
    Quote Quote  
  28. Member
    Join Date
    Jun 2005
    Location
    The Netherlands
    Search Comp PM
    Ok, thanks. I tried tempgaussmc_beta1mod(edimode="eedi2", tr2=3) instead of the normal tempgaussmc_beta1() command, but it is not faster. I thought this mod should be faster? If I use the mod version, would it be the same quality as the original version?
    Also, I get some weird effects with TGMC (both the normal and the modded version). In the file attached, three successive frames can be seen. The second frame has the weird effect. Is there a way to avoid this?



    I also discovered some strange halo's, see picture (along the right side of themountain and the rock in the lower right corner):



    Here is the script I used:

    Code:
    LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\Convolution3d.dll") 
    AviSource("C:\Users\L.J.P. Verhees\Desktop\losse stukjes\Interlaced.avi") 
    
    SeparateFields() 
    odd=SelectOdd.Convolution3D (0, 6, 10, 6, 8, 2.8, 0) 
    evn=SelectEven.Convolution3D (0, 6, 10, 6, 8, 2.8, 0) 
    Interleave(evn,odd) 
    Weave() 
    DoubleWeave.SelectOdd() 
    
    Tweak(sat=1.1,cont=0.94)
    
    ConvertToYV12()
    AssumeBFF()
    TempGaussMC_beta1()
    SelectEven()
    Quote Quote  



Similar Threads

Visit our sponsor! Try DVDFab and backup Blu-rays!