VideoHelp Forum




+ Reply to Thread
Results 1 to 7 of 7
  1. Member
    Join Date
    Oct 2020
    Location
    Norway
    Search Comp PM
    I have a progressive 29.97fps 1920x1080p video that originally was PAL 25fps (pro-recorded concert in France). Someone inserted frames to get 29.97fps.

    How can I find and remove the duplicate frames to get it back to 25fps without affecting audio-video sync?

    I opened it in Virtualdub2 and verified there is no combing, just periodic duplicate frames. As I want to use SVPFlow (via Avisynth) to get a smooth 50fps, I need to get it back to 25fps first. I have demuxed the file into .mp2 and .avc files but don't know how to process this. I searched and found FDecimate() and the page describing the issues at hand. Is there a better way? Any help would be much appreciated by me.

    Here's a short sample (11MB):
    lamsf-29.97fps-clip.mkv
    https://mega.nz/file/E4dhwKjC#nuHNw4tBXnZykOvkt9K-EJY0QeCdQUCstXIWjbfV6gI
    Quote Quote  
  2. Member
    Join Date
    Oct 2020
    Location
    Norway
    Search Comp PM
    FDecimate(rate=25,threshold=2,protect=true) gets me to 25fps, but there are still dups. I'm trying to change the dups to interpolated frames with InterpolateDoubles (part of the FrameRateConverter plugin). So far no luck. I'm using it like so: InterpolateDoubles(Thr=0.1,Preset="slowest",BlkSiz e=16)
    The Thr value seems to have no effect. I'm using "slowest" otherwise I get artifacts (with FrameRateConverter...I now use SVPFlow as it's much faster).

    Any other dup to interpolated frame plugins I should be looking at?
    Quote Quote  
  3. Ffmpeg with - vf "fieldmatch, decimate"
    Quote Quote  
  4. Member
    Join Date
    Oct 2020
    Location
    Norway
    Search Comp PM
    Originally Posted by ProWo View Post
    Ffmpeg with - vf "fieldmatch, decimate"
    I'll give that a try, but my video is progressive. Are the parameters proper for progressive ("fieldmatch")?
    Quote Quote  
  5. It's not uncommon for PAL to be converted to NTSC by slowing it down to 24.975fps and repeating fields, or in this case, repeating every fifth frame.

    For some reason the old version of Lsmash I'm using on XP decodes at a frame rate of 29.9717fps, but FFMS2 seems to be getting it right.

    Code:
    LoadPlugin("C:\Program Files\MeGUI\tools\ffms\ffms2.dll")
    FFVideoSource("E:\lamsf-29.97fps-clip.mkv", threads=1)
    
    TDecimate(Cycle=6) # from the TIVTC plugin
    If you want 25fps (I wouldn't bother) you'll need to follow TDecimate with AssumeFPS(25) to speed it up again, and re-encode the audio to match. You can use the AudioSpeed function in my signature for that.

    Here's a quick SD re-encode (edit: forgot to add the audio).
    Image Attached Files
    Last edited by hello_hello; 16th Dec 2020 at 09:32.
    Quote Quote  
  6. LWlibavVideoSource returned a 29.97 fps clip and TDecimate converted to 24.975 fps with no duplicates or drops:
    Code:
    LWLibavVideoSource("lamsf-29.97fps-clip.mkv", cache=false, prefer_hw=2) 
    TDecimate(Cycle=6, CycleR=1)
    Converting that to 25 fps with ChangeFPS will give one duplicate every 40 seconds.
    Quote Quote  
  7. Member
    Join Date
    Oct 2020
    Location
    Norway
    Search Comp PM
    TDecimate(Cycle=6, CycleR=1) works well.
    Thank you everyone for helping!
    Quote Quote  



Similar Threads

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