VideoHelp Forum




+ Reply to Thread
Results 1 to 9 of 9
  1. I've noticed this problem for a while now, where i'd see people's 50fps uploads on Youtube look nice and smooth, whereas mines look a bit juddery. It's especially noticeable when you see credits going up or across the screen during a tv show filmed on video. In the attached example you'll see them slightly judder/strobe as they move upwards.

    Code:
    FFMPEGSource2("D:\Video.ts")
    AssumeTFF()
    ConvertToYV12(interlaced=true)
    QTGMC(preset="slow", matchpreset="slow", matchpreset2="slow", sourcematch=3, tr1=2, tr2=1, NoiseTR=2, sharpness=0.1, border=true)
    Spline36Resize"(fwidth=1280, fheight=720)
    Crop(164,0,-156,0)
    ColorMatrix(mode="Rec.601->Rec.709")
    Prefetch(6)
    Image Attached Files
    Quote Quote  
  2. A screen refresh rate (e.g. 60Hz) different from the film framerate (50fps) produces playback judder.
    Quote Quote  
  3. Are you watching on a 60 Hz display? The frame rate mismatch will result in slight jerkiness. Add AssumeFPS(60) to the end of your script and the resulting video will play very smoothly. Or switch to a 50 Hz display.
    Image Attached Files
    Quote Quote  
  4. or if you don't want the speedup try a framerate conversion 50p->60p (and accept possible artifacts)
    Code:
    BSSource("QTGMC.mp4")
    RGB=z_ConvertFormat(pixel_type="RGBPS", colorspace_op="709:709:709:limited=>rgb:709:709:full")
    RIFE=RGB.RIFE(gpu_thread=1, model=13, fps_num=60000, fps_den=1000, sc=true, sc_threshold=0.3,sc1=false)
    YV12=RIFE.z_ConvertFormat(pixel_type="YUV420P8", colorspace_op="rgb:709:709:full=>709:709:709:limited")
    return YV12
    Image Attached Files
    Quote Quote  
  5. Originally Posted by Sharc View Post
    A screen refresh rate (e.g. 60Hz) different from the film framerate (50fps) produces playback judder.
    Ah that makes sense then. Never even thought of the refresh rate. Changing it to 50hz makes no difference, jankiness is still there.

    When i watch a similar upload on Youtube it plays nice and smooth as opposed to my own uploads, i don't think it's much to do with the display in this case.

    Originally Posted by jagabo View Post
    Are you watching on a 60 Hz display? The frame rate mismatch will result in slight jerkiness. Add AssumeFPS(60) to the end of your script and the resulting video will play very smoothly. Or switch to a 50 Hz display.
    My monitor is a Dell U2515H, so i'm guessing so. That does look nice, and how i want it, though wont changing 25i PAL video to 60p cause syncing issues?

    Originally Posted by Sharc View Post
    or if you don't want the speedup try a framerate conversion 50p->60p (and accept possible artifacts)
    Code:
    BSSource("QTGMC.mp4")
    RGB=z_ConvertFormat(pixel_type="RGBPS", colorspace_op="709:709:709:limited=>rgb:709:709:full")
    RIFE=RGB.RIFE(gpu_thread=1, model=13, fps_num=60000, fps_den=1000, sc=true, sc_threshold=0.3,sc1=false)
    YV12=RIFE.z_ConvertFormat(pixel_type="YUV420P8", colorspace_op="rgb:709:709:full=>709:709:709:limited")
    return YV12
    Thanks i'll try that.
    Quote Quote  
  6. Originally Posted by Master Tape View Post
    Originally Posted by jagabo View Post
    Are you watching on a 60 Hz display? The frame rate mismatch will result in slight jerkiness. Add AssumeFPS(60) to the end of your script and the resulting video will play very smoothly. Or switch to a 50 Hz display.
    My monitor is a Dell U2515H, so i'm guessing so. That does look nice, and how i want it, though wont changing 25i PAL video to 60p cause syncing issues?
    Of course. The point was that there's nothing wrong with the output of QTGMC -- it produced smooth 50p video from 25i. And the jerkiness is caused by the mismatch between your 60 Hz monitor and the 50 fps video.

    As Sharc pointed out, you can use motion interpolated frame rate conversions like RIFE (really slow) or the MVTools (slow) based filters.

    http://avisynth.nl/index.php/External_filters#Frame_Rate_Conversion

    They work well for that simple clip but expect to see gross distortions with more complex material.

    Most commercial services convert with something similar to ConvertFPS(60000, 1001). It looks smoother but results in blurring the motion.
    Last edited by jagabo; 11th Nov 2025 at 18:39.
    Quote Quote  
  7. Originally Posted by jagabo View Post
    Originally Posted by Master Tape View Post
    Originally Posted by jagabo View Post
    Are you watching on a 60 Hz display? The frame rate mismatch will result in slight jerkiness. Add AssumeFPS(60) to the end of your script and the resulting video will play very smoothly. Or switch to a 50 Hz display.
    My monitor is a Dell U2515H, so i'm guessing so. That does look nice, and how i want it, though wont changing 25i PAL video to 60p cause syncing issues?
    Of course. The point was that there's nothing wrong with the output of QTGMC -- it produced smooth 50p video from 25i. And the jerkiness is caused by the mismatch between your 60 Hz monitor and the 50 fps video.

    As Sharc pointed out, you can use motion interpolated frame rate conversions like RIFE (really slow) or the MVTools (slow) based filters.

    http://avisynth.nl/index.php/External_filters#Frame_Rate_Conversion

    They work well for that simple clip but expect to see gross distortions with more complex material.

    Most commercial services convert with something similar to ConvertFPS(60000, 1001). It looks smoother but results in blurring the motion.
    Thanks for putting my mind at rest. I decided to do a little investigating, so i put that file onto a USB stick to see how it would look on the tv in the livingroom, and low and behold... smooth as butter!

    Been looking for an excuse to upgrade this old monitor for a while now, and i think this is it!
    Quote Quote  
  8. Member
    Join Date
    Aug 2018
    Location
    Wrocław
    Search PM
    Originally Posted by Master Tape View Post
    I've noticed this problem for a while now, where i'd see people's 50fps uploads on Youtube look nice and smooth, whereas mines look a bit juddery. It's especially noticeable when you see credits going up or across the screen during a tv show filmed on video. In the attached example you'll see them slightly judder/strobe as they move upwards.

    Code:
    FFMPEGSource2("D:\Video.ts")
    AssumeTFF()
    ConvertToYV12(interlaced=true)
    QTGMC(preset="slow", matchpreset="slow", matchpreset2="slow", sourcematch=3, tr1=2, tr2=1, NoiseTR=2, sharpness=0.1, border=true)
    Spline36Resize"(fwidth=1280, fheight=720)
    Crop(164,0,-156,0)
    ColorMatrix(mode="Rec.601->Rec.709")
    Prefetch(6)
    On a 50Hz screen, it looks OK. Maybe not super smooth, but perfectly fine.
    On a 60Hz screen, there's some slight stuttering, but that's the way it is.
    I don't recommend converting with RIFE—it only fixes the problem a bit.
    TVs already have VRR, so they'll automatically adjust to 50fps footage.
    Quote Quote  
  9. Capturing Memories dellsam34's Avatar
    Join Date
    Jan 2016
    Location
    Member Since 2005, Re-joined in 2016
    Search PM
    On my monitor (60Hz) both of your samples are jittery, so it is clearly not QTGMC's fault.
    Quote Quote  



Similar Threads

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