VideoHelp Forum

Try DVDFab and copy Ultra HD Blu-rays and DVDs! Or rip iTunes movies and music! Download free trial !
+ Reply to Thread
Results 1 to 21 of 21
Thread
  1. Member spiritgumm's Avatar
    Join Date
    Jan 2004
    Location
    United States
    Search Comp PM
    need help properly getting this back to film speed (for making an avi). Seems to be 29.97 fps progressive, has duplicate frames at different intervals and simple decimating wont get rid of all of them. Srestore (18) doesnt yield correct results either. Thanks for any help.
    Image Attached Files
    Quote Quote  
  2. Banned
    Join Date
    Oct 2004
    Location
    Freedonia
    Search Comp PM
    Some sources say that silent film rates could be anywhere from as little as 14 fps to as high as 26 fps. Figuring out what value you need to use is beyond my ability, but I've got a feeling that if the actual frame rate is less than 24 fps that you're going to have at least minor issues in everything you do.
    Quote Quote  
  3. Build an index file with DgIndex in Honor Pulldown Flags mode. Then:

    Code:
    Mpeg2Source("silent clp.d2v")
    TDecimate(cycle=10, cycler=3)
    That leaves you with 20.98 fps. I only took a quick look but I didn't notice any duplicate or missing frames. You can fine tune the arguments to TDecimate() if necessary.
    Image Attached Files
    Quote Quote  
  4. Member spiritgumm's Avatar
    Join Date
    Jan 2004
    Location
    United States
    Search Comp PM
    beautiful, jagabo, thanks. Hopefully it will work on the entire film as well.
    Btw, that's how I use DgIndex (and how I made the clip).
    Quote Quote  
  5. Originally Posted by jman98 View Post
    Figuring out what value you need to use is beyond my ability...
    As I understand it, what you have to do is count how many duplicates there are every thirty frames. I counted nine, which matches what jagabo's script is doing: deleting three frames (cycler=3) out of every ten frames (cycle=10), which is the same as deleting nine out of every thirty. Twenty-one frames remain, and 21000/1001 is 20.98.
    Quote Quote  
  6. Originally Posted by Richard1485 View Post
    As I understand it, what you have to do is count how many duplicates there are every thirty frames.
    It rarely works out that way. Maybe in this case it did (I haven't checked the sample). What you have to do is count until you find a repeating cycle, and those cycles can be up to hundreds of frames long although usually less. You usually apply TFM (although apparently this thing was progressive) and start counting the unique frame/duplicate frame pattern. And sometimes there isn't even a repeating cycle in which case you approximate, leaving a duplicate here and there (better than having missing frames).
    Quote Quote  
  7. Thanks for the explanation. It's very helpful. I did try adding TFM first, but it didn't make a difference because, as you said, the video's progressive.
    Quote Quote  
  8. Member spiritgumm's Avatar
    Join Date
    Jan 2004
    Location
    United States
    Search Comp PM
    I wondered how jagabo came up with that. Also the 21 fps seems peculiar...at first the pattern was each 6th frame had a dupe, but then it turned into each 7th, then each 8th.

    Anyway, there are discrete sections of the film with different patterns, so I'll be back. For example, one segment is 29.97 progressive with blends, no dupes, but since this is silent (a slower fps), I thought just using Srestore("fps") would work. Didnt get good results trying various fps (16-24); maybe it's good as it is.
    Quote Quote  
  9. Member Cornucopia's Avatar
    Join Date
    Oct 2001
    Location
    Deep in the Heart of Texas
    Search PM
    A better understanding of the process involved in the making/digitizing of this clip would help in the choosing of the appropriate process for the correction of it...

    For example, if we know it was a constant-rate projector fed to a multi-prism device and then to a video camera, we'd know that there shouldn't be an actual progressive lengthening of duplicates.

    Scott
    Quote Quote  
  10. Member spiritgumm's Avatar
    Join Date
    Jan 2004
    Location
    United States
    Search Comp PM
    no way to find out the capture details; it's possible some of the segments were digitized by another person. The majority of the film should be by one person, so I'm hoping they were consistent with their technique.
    Quote Quote  
  11. Member spiritgumm's Avatar
    Join Date
    Jan 2004
    Location
    United States
    Search Comp PM
    here's another clip from different segment, 29.97 progressive, with a blend every 4th frame out of 5 frames.
    Image Attached Files
    Last edited by spiritgumm; 3rd Dec 2014 at 19:27.
    Quote Quote  
  12. Member spiritgumm's Avatar
    Join Date
    Jan 2004
    Location
    United States
    Search Comp PM
    the clip above was originally telecined, with a blend as the 4th frame, and 5th frame is the good duplicate. Using decimate removes the good frame, whereas I'd like to remove the blend.
    I tried Srestore(omode=2) to remove the blended frame, but got peculiar pattern of duplicate frames.
    Quote Quote  
  13. Member spiritgumm's Avatar
    Join Date
    Jan 2004
    Location
    United States
    Search Comp PM
    did this stump the experts?
    Quote Quote  
  14. I think that the blend shifts from the fifth to the fourth frame partway through the sequence. Have you considered writing a script that breaks the video into sections and removes the duplicates manually? Some consider this approach too much work (and with good reason), but I resort to it when I have a problematic video and am not prepared live with any compromises.
    Quote Quote  
  15. Yes, the blend pattern changes here and there so a fixed frame removal with SelectEvery(5, 0,1,2,3) breaks after a while. SRestore(frate=25) didn't work very well. I suspect the flicker was confusing it so deflickering first might help. FixBlendIVTC().TDecimate(cycle=10, cycleR=2) gave pretty smooth results but it caused bright spots, even with sbd=true.
    Quote Quote  
  16. Member spiritgumm's Avatar
    Join Date
    Jan 2004
    Location
    United States
    Search Comp PM
    I tried alot of variations with different filters including FixBlendIVTC. Got similar visual problems when replacing blends by combining fields. The changing pattern of blends happens too frequently to do this manually (for me).

    One good thing came out of trying to deblend this. I was IVTCing some dvd recordings made from vhs which had alot of blends, using the usual "TFM.TDecimate," but found "Bob.Srestore(23.976)" works much better.
    Last edited by spiritgumm; 14th Dec 2014 at 10:58.
    Quote Quote  
  17. Originally Posted by spiritgumm View Post
    I tried alot of variations with different filters including FixBlendIVTC. Got similar visual problems when replacing blends by combining fields. The changing pattern of blends happens too frequently to do this manually (for me).
    You could do it semi-manually like this:

    Code:
    Mpeg2Source("2silent clp.d2v") 
    
    v0 = SelectEvery(5, 1,2,3,4).Subtitle("v0") # frame 0 removed
    v1 = SelectEvery(5, 0,2,3,4).Subtitle("v1") # frame 1 removed
    v2 = SelectEvery(5, 0,1,3,4).Subtitle("v2") # frame 2 removed
    v3 = SelectEvery(5, 0,1,2,4).Subtitle("v3") # frame 3 removed
    v4 = SelectEvery(5, 0,1,2,3).Subtitle("v4") # frame 4 removed
    
    last = v0
    ReplaceFramesSimple(v4, Mappings="[0 72]")
    ReplaceFramesSimple(v1, Mappings="[73 167]")
    ReplaceFramesSimple(v0, Mappings="[168 191]")
    #continue with more ReplaceFramesSimple()
    
    Stackvertical(StackHorizontal(last, v0, v1), StackHorizontal(v2, v3, v4))
    ShowFrameNumber(x=40, y=20)
    Then when you've worked out all the frame mappings remove the extra code (stacking, subtitle, frame number).
    Quote Quote  
  18. Ha! I was thinking about writing a script like jagabo's. It's in the spirit of ShowFiveVersions().
    Quote Quote  
  19. Member spiritgumm's Avatar
    Join Date
    Jan 2004
    Location
    United States
    Search Comp PM
    over my head.
    Quote Quote  
  20. Originally Posted by spiritgumm View Post
    over my head.
    It's conceptually pretty simple. First it creates 5 different videos, one where frame 4 of every 5 frames is removed, one where frame 3 of every 5 is removed... one where frame 0 of every 5 is remove. For any section of the movie one of those 5 decimated videos will have 4 clean frames (no blended frames).

    Next ReplaceFramesSimple() selects which of the 5 videos to use for each section of the movie. Ie, the first ReplaceFramesSimple() says to use v4 for frames 0 to 72. The next one says to use v1 for frames 73 to 167. Then v0 for frames 168 191 (the default is to use v0 so that line isn't really needed).

    Finally, the output video (last) and the 5 decimated videos are stacked in a 3x2 array, all labeled (so you know which is which) and the frame number is stamped onto the top left video (as a reference). You open the video in an editor like VirtualDub and figure out which of the 5 decimated videos has no blended frames at each section of the movie and add a new ReplaceFramesSimple() to select those frames for the final output.

    Once you have added enough ReplaceFramesSimple() to account for the entire movie you go back and remove the stacking, frame number, and subtitle instructions and encode.

    It will still take quite a while to go through the entire movie but this is about the easiest way since the fully automated methods don't work.
    Quote Quote  
  21. Member spiritgumm's Avatar
    Join Date
    Jan 2004
    Location
    United States
    Search Comp PM
    I tried replacing all the blends with next frame using srestore(omode=2), and saved it as Intel YUV avi.
    Loaded that file in AvsP, and ran the two-pass Multidecimate (with defaults). Results still dont play smoothly.
    Quote Quote