VideoHelp Forum

Our website is made possible by displaying online advertisements to our visitors. Consider supporting us by disable your adblocker or try DVDFab Passkey and copy Blu-ray and DVDs! :)
+ Reply to Thread
Results 1 to 15 of 15
Thread
  1. Member
    Join Date
    Aug 2014
    Location
    Europe
    Search PM
    I was looking at the wiki for some plugins and I found about ConvertFPS() but this only accepts 40+ FPS values so I tried 40.001 and the output was great but the size still too big for what I need to use it, so I tried checking FPSDown() after but the official download link on github is 404 and I couldn't find another one, I don't know how to use visual studio so I cannot even try compiling it from the code posted on github. Then I also tried SalFPS3() but it returns an error "I don't know what warp means" and similar error from SalFPS() about warpfast so even this couldn't be used. I'm using Import() to load SalFPS3.avs and SalFPS.avs by the way, is it the wrong method to load these kind of scripts? I've not used much Avisynth lately so I may be overlooking something (I bet I did).

    I thought there would be many interpolation filters like FPSDown() to reduce to half the frames but surprisingly I didn't find any other similar plugins. By any chance does anyone know an alternative, or a working download link for FPSDown?
    Quote Quote  
  2. Member
    Join Date
    May 2014
    Location
    Memphis TN, US
    Search PM
    Use SelectEven() or SelectOdd().
    http://avisynth.nl/index.php/Select
    Of course you will lose 50% of your temporal resolution using any such method with any software.
    - My sister Ann's brother
    Quote Quote  
  3. Member
    Join Date
    Aug 2014
    Location
    Europe
    Search PM
    I saw that one too but from what I understood it doesn't apply interpolation. I was looking for something that can make the best use of the 60 fps source to generate good 30p interpolated output.
    Quote Quote  
  4. I think what you're looking for is more properly called motion blur, not interpolation. You can blend pairs of frames together with Merge(SelectEven(), SelectOdd()). With small motions that looks like motion blur but with larger motions it looks like double exposures. Another method is to create a higher frame rate with motion interpolated frames, say from 60 fps to 240 fps, then blend many frames together. The problem with this is that motion interpolation doesn't always work well and you will often end up with weird warping artifacts.

    Code:
    # assuming 60 fps input
    Interframe(newnum=240, newden=1, cores=4) # 240 fps
    Merge(SelectEven(), SelectOdd()) # 120 fps
    Merge(SelectEven(), SelectOdd()) # 60 fps
    Merge(SelectEven(), SelectOdd()) # 30 fps
    Quote Quote  
  5. QTGMC can add motion blur as well, although I have no idea what he's really trying to ask. From the QTGMC doc:

    Single-rate output may look a little stuttery, depending on how the source was filmed/created. Adding motion blur to each frame can help with this, smoothing the feel of the slower rate playback.

    And an example:

    QTGMC( Preset="Slower", FPSDivisor=4, ShutterBlur=1, ShutterAngleSrc=180, ShutterAngleOut=180 ) # Keep "film" look on single-rate output, "film" input.
    Quote Quote  
  6. Originally Posted by manono View Post
    Code:
    QTGMC( Preset="Slower", FPSDivisor=4, ShutterBlur=1, ShutterAngleSrc=180, ShutterAngleOut=180 )
    That didn't work for me, it gave no motion blur. But this variation did:

    Code:
    QTGMC(Preset="Slower", InputType=1, ShutterBlur=1, ShutterAngleSrc=30, ShutterAngleOut=360, FPSDivisor=2 )
    Last edited by jagabo; 10th Oct 2018 at 23:24.
    Quote Quote  
  7. Good, I didn't actually test but was just modifying the example script from the doc in order to get Tonnad's framerate down to 30fps. Your version saves having to bob it yet again.
    Quote Quote  
  8. Member
    Join Date
    Aug 2013
    Location
    Central Germany
    Search PM
    I do remember a similar discussion in the German Gleitz board, a speculation how to create a "soap opera effect" on purpose. This question may not be the same, but there is surely a desire to avoid a "short shutter" stuttering by selecting only one half of the frames. A simple merge is possible but will have a slight disadvantage compared to the result if it would have been shot with a twice as long shutter that there would be a different brightness distribution, and a gamma correction in this merge algorithm could be used to improve the result (reply #8 by Didée). Unfortunately, images demonstrating the difference are now lost.
    Quote Quote  
  9. Member
    Join Date
    Aug 2014
    Location
    Europe
    Search PM
    What I had in mind was something similar to SVP's interpolation, but since I'm reducing the frame rate (SVP is used only for increasing iirc) it would need to process the frames in a different way, I imagine recreating the -2 -1 and +1 +2 frames where the decimation happens (and 0 is the decimated frame). From the description on the wiki FPSDown() does something like that and ConvertFPS() from what I see in the output does it too, even though it's capped to 40+ fps only.

    Here are trimmed clips from the files I'm using:
    60p source - https://my.mixtape.moe/gspveo.mp4 (reuploaded)
    40p output (a bit edited) - https://my.mixtape.moe/uygfej.mp4

    That in the 40p file is the kind of interpolation I was looking for. Here you can see in detail:
    Seeking in 60p source - http://webm.land/w/jjby/
    In 40p output - http://webm.land/w/dYub/

    Ignoring the Scanlines() filter, you can notice how the waves have after-images sometimes. I don't think is the same as blurring, I usually call it ghosting or interpolation.

    Originally Posted by jagabo View Post
    I think what you're looking for is more properly called motion blur, not interpolation. You can blend pairs of frames together with Merge(SelectEven(), SelectOdd()). With small motions that looks like motion blur but with larger motions it looks like double exposures.
    Originally Posted by jagabo View Post
    Code:
    QTGMC(Preset="Slower", InputType=1, ShutterBlur=1, ShutterAngleSrc=30, ShutterAngleOut=360, FPSDivisor=2 )
    I didn't know Merge could be used like that, I'll try both methods today.
    Last edited by Tonnad; 11th Oct 2018 at 12:15.
    Quote Quote  
  10. Originally Posted by Tonnad View Post
    Here are trimmed clips from the files I'm using:
    60p source - https://my.mixtape.moe/eahyys.mp4
    That video is 23.976 fps.
    Quote Quote  
  11. Member
    Join Date
    Aug 2014
    Location
    Europe
    Search PM
    Originally Posted by jagabo View Post
    Originally Posted by Tonnad View Post
    Here are trimmed clips from the files I'm using:
    60p source - https://my.mixtape.moe/eahyys.mp4
    That video is 23.976 fps.
    I forgot to change the default fps in megui when I remuxed the h264 to mp4. This should be good: https://my.mixtape.moe/gspveo.mp4
    Last edited by Tonnad; 11th Oct 2018 at 12:14.
    Quote Quote  
  12. Speeding the video up to 60 fps then using the aforementioned techniques:
    Image Attached Files
    Quote Quote  
  13. Member
    Join Date
    Aug 2014
    Location
    Europe
    Search PM
    Originally Posted by jagabo View Post
    Speeding the video up to 60 fps then using the aforementioned techniques:
    I really like the look of the first one, feels sharper. That's done with the Merge() method right? doesn't look much different than ConvertFPS(). I guess it's settled.
    The third one looks like it has some artifacts.
    Quote Quote  
  14. Yes, the first one is Merge(SelectEven(), SelectOdd()). It's sharpest but you can see the double exposures when movements are large. ConvertFPS() won't allow you to halve the frame rate. You could do it in step-wise, 60 -> 45 -> 30, but then it will look like triple exposures.
    Quote Quote  
  15. Member
    Join Date
    Aug 2014
    Location
    Europe
    Search PM
    With the scanlines it looks nice and smooth, I don't mind that. ConvertFPS() won't do that either I believe, whenever I try to use a fps value lower than 40.001 avisynth throws an error. Anyway, I just finished encoding, it looks perfect and the size went down by another 11 MB which is ideal for its purpose, really thanks a lot for all the suggestions, I would've never figured out by myself.

    Since other plugins like FPSDown() may go 404, I'm going to leave my plugin folder here: https://my.mixtape.moe/gwxrzi.zip
    List: https://pastebin.com/raw/Gs7evyNH

    It's not complete by any means but it's all I've been using since 2012-2013.
    Last edited by Tonnad; 11th Oct 2018 at 13:26.
    Quote Quote  



Similar Threads