VideoHelp Forum




+ Reply to Thread
Results 1 to 8 of 8
  1. Attached is a clip from a home-made DVD someone sent me - it's a PAL VHS capture, but it's inexplicably been authored as NTSC. My mission is to convert it to a nice smooth 25p without changing the overall speed/length, which I think is the best I can hope for from this source (the tape is long gone).

    It looks possible, but how? Every combination of deinterlacing and/or IVTC I've tried so far has led to either duplicated or missing frames, but I'm pretty sure 25 discrete pictures per second are indeed there.

    Any help will be greatly appreciated.
    Image Attached Files
    Quote Quote  
  2. Member DB83's Avatar
    Join Date
    Jul 2007
    Location
    United Kingdom
    Search Comp PM
    How does this look to you ?

    But there are other issues. The video is several seconds ahead of the audio. Is it the same in the full clip ?
    Image Attached Files
    Quote Quote  
  3. Originally Posted by Mr Chris View Post
    Attached is a clip from a home-made DVD someone sent me - it's a PAL VHS capture, but it's inexplicably been authored as NTSC. My mission is to convert it to a nice smooth 25p without changing the overall speed/length, which I think is the best I can hope for from this source (the tape is long gone).

    It looks possible, but how? Every combination of deinterlacing and/or IVTC I've tried so far has led to either duplicated or missing frames, but I'm pretty sure 25 discrete pictures per second are indeed there.

    Any help will be greatly appreciated.
    It is 2-2-3-2-3 pulldown, typically used for 25p to 29.97i conversion.

    You can IVTC it like
    Code:
    LWLibavVideoSource("sample.mpg")
    Telecide(guide=3).Decimate(6) #gives 24.975p
    #assumefps(25) #for exact 25fps one would need to resample the audio
    or similar:
    Code:
    LWLibavVideoSource("sample.mpg")
    TFM().TDecimate(cycle=6,cycleR=1) #gives 24.975p
    #assumefps(25) #for exact 25fps one would need to resample the audio
    Edit:
    Here the 25fps version (without resampled audio):
    Image Attached Files
    Last edited by Sharc; 7th Aug 2023 at 16:41.
    Quote Quote  
  4. lwlibavvideosource("D:\Downloads\sample.mpg")
    AssumeFPS(29.97)
    AssumeTFF()
    QTGMC(preset="very fast")
    sRestore(frate=25)
    Crop(0, 0, -16, -8)
    BilinearResize(720, 576)
    Audio +15dB
    All done with clever FFmpeg-GUI.

    NB
    Conversion with h264 or h265 would give better quality with smaller file size.
    Image Attached Files
    Quote Quote  
  5. Thanks to all of you, especially for the example scripts - I don't think I explained myself very well, but you absolutely hit the nail on the head. Doing some experimenting, it seems that every method has a drawback that the others don't (occasional dropped frames, chroma blending, etc.), but such is the nature of analogue video. I'm sure I'll be able to get good results, so thank you all very much.
    Quote Quote  
  6. Another method is to use dedup after field matching, and ignore the VFR timecodes. Just assume a constant framerate which might not be 25/1 exactly. The accuracy for a dance/ballet with constant movement like this will be very high. Use dec=false, show=true to debug the threshold value

    On that sample 1696 total frames after TFM, 1415 after dedup using a threshold of 1. (1415/1696) * (30000/1001) = 25.004477 FPS . On a longer sample it might average out to 25.000.. something, you'd have to check

    TFM and TDecimate using 1 in 6 (or some multiple of the ratio giving a longer "window" sometimes yields higher accuracy) gives 1413 frames, 2 less than dedup on that sample .

    If you use subtract(a,b) you can see where the mistakes were made from TIVTC. Same/aligned frames will look grey. There are drops between 169-170, 1164-1165 from TIVTC that dedup caught. You can go back and see the jumps in motion. I use multiple tabs in avspmod, and you can update the compare script by adding a trim and continuing on push play. Because the TIVTC drops were not near the beginning or end, it's unlikely from the way you cut the sample.

    If there are sections where there is no motion, or very low motion, you can use a dedup override. See the instructions for more details
    Last edited by poisondeathray; 8th Aug 2023 at 20:50.
    Quote Quote  
  7. Originally Posted by poisondeathray View Post
    TFM and TDecimate using 1 in 6 (or some multiple of the ratio giving a longer "window" sometimes yields higher accuracy) gives 1413 frames, 2 less than dedup on that sample .
    Example for TFM and Tdecimate using a longer window for decimation yields 24.99628fps / 1415 frames. No dropped/duplicated frames it seems ....
    Code:
    LWLibavVideoSource("sample.mpg")
    TFM().Tdecimate(cycle=235,cycleR=39)
    Edit:
    There is a bad glitch at frames 323....325 which seems however to be in the source (sample.mpg) at frames 387 ...390.
    Image Attached Files
    Last edited by Sharc; 9th Aug 2023 at 04:00. Reason: TDecimate adjusted, attachment accordingly
    Quote Quote  
  8. There are 1414 frames using Tdecimate(cycle=235,cycleR=39) . It does not matter if you use MPEG2Source instead as the source filter. There is a drop between 1066-1067

    You can fix/ interpolate over the rolling line glitch using rife if you wanted to

    animated webp (should animate in most browsers)
    Last edited by poisondeathray; 9th Aug 2023 at 09:46.
    Quote Quote  



Similar Threads

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