VideoHelp Forum

Our website is made possible by displaying online advertisements to our visitors. Consider supporting us by disable your adblocker or Try ConvertXtoDVD and convert all your movies to DVD. Free trial ! :)
+ Reply to Thread
Results 1 to 6 of 6
Thread
  1. I have a video that was unknowingly recorded using variable frame rate (Quicktime Movie Recording function) and it is causing the frames to become split into each other. Here is a sample of the video. I cut this using MPEG Streamclip and it is not re-encoded.

    https://www.dropbox.com/s/21uarfstipdvcwz/pool.mov?dl=0

    I have tried transcoding it into a constant frame rate file, as well as exporting JPEG frames individually but it still results in split frames. The only solution I have found is to cut the distorted potions in premiere and re-interpret those sections manually using a frame rate between 59.02 and 60fps. I have to guess the frame rate, but they do eventually line up. Is there any way to automate this process or is there another method that can do this easier? I don't understand why extracting the individual frames still results in them being split into one another while re-interpreting the frame rate is able to solve the problem. This program is an hour long and although I have "repaired" 40 minutes worth, I will still have to go back and sync the audio and it is becoming extremely time consuming.
    Quote Quote  
  2. You may be able to remove the "split" frames because you have intact versions of the actual (often blended) frames, but those splits are hard coded into your file. Screencapping is never a first choice.

    Also, nothing in the clip you uploaded suggests it is vfr. Mediainfo says it is cfr.
    Quote Quote  
  3. Originally Posted by smrpix View Post
    You may be able to remove the "split" frames because you have intact versions of the actual (often blended) frames, but those splits are hard coded into your file. Screencapping is never a first choice.

    Also, nothing in the clip you uploaded suggests it is vfr. Mediainfo says it is cfr.
    I know, and unfortunately this is the only file I have to work with.

    It was recorded using Quicktime's Movie Recording function in the high quality setting, which I later learned is variable frame rate. I'm not convinced the splits are hard coded into the file because cutting where the frame splits and manually adjusting the frame rate fixes the issue without dropping any frames.

    Here is the repaired version of the clip from above: https://www.dropbox.com/s/w9bpadmo326uwh0/pool-frame-adjust.mp4?dl=0

    The next issue is now all of the frame rates are different and although it plays smoothly, I will need to go back and adjust the speed to sync back to the audio. I can do all of this manually, but I am trying to find out if there is any way to automate this process even just a little bit. Is there some extra-smart video software that is designed for problem videos like this? A certain command in ffmpeg? I have tried transcoding it into CFR using ffmpeg and Handbrake, but the splits are still there.
    Last edited by bmick23; 29th Feb 2016 at 20:32.
    Quote Quote  
  4. Looks like you removed half of frames and by luck, all removed frames are those that were teared
    Nothing to do with vfr
    Quote Quote  
  5. Originally Posted by shekh View Post
    Looks like you removed half of frames and by luck, all removed frames are those that were teared
    Nothing to do with vfr
    If you work around with the footage and adjust the frame rates, the "fresh" or split is coming in at different areas of the frame, depending on the frame rate, so it is not hard coded into the frame. Depending on the frame rate, all of the frames can be distorted, or only one or two within a 5-10 second sequence.

    See this example:
    http://i.imgur.com/DAy5cBr.jpg

    They are the same exact frames, but interpreted at different frame rates. A "correct" frame is not displayed in between the distorted ones and the magic frame rate to make the frames line up varies constantly, changing about every 5-10 seconds. You can see in the 60fps frames that they are missing a lot of information, like the previous frames aren't being refreshed quick enough for the new frames to come in.

    Edit: I exported the frames using ffmpeg:

    ffmpeg -i input.mov -vsync 1 output%d.jpg

    then I separated the even frames from the odd frames and made a video track for each. I laid the even and odd videos on top of each other with the "difference" blending mode to show the differences between the frames. You can see what looks like a screen roll or flicker and what is also interesting is about 20 seconds in, the frames completely separate and then align. The roll looks somewhat consistent - is there any way to sync this back together?

    The difference video: https://www.dropbox.com/s/yz6ki71n4cvl5nb/difference.mp4?dl=0
    Last edited by bmick23; 1st Mar 2016 at 14:21.
    Quote Quote  
  6. Just wanted to post my solution in case anyone comes across this in the future.

    What ultimately worked for me was this.

    Export individual PNG files using ffmpeg:

    ffmpeg -i video.mov -vsync 1 %d.jpg
    Since the video is 60 fps, I then used terminal to separate the even files from the odd files.

    mv /inputdirectory/*[02468].PNG /outputdirectory/
    (if you have too many frames, you will get an "Arguments too long error." Either look into how to work around this or copy/paste the files into a separate folder 11,000 or so at a time)

    Rename the files in both folders to be sequentially numbered using NameChanger (https://mrrsoftware.com/namechanger/)
    This will take two passes. First to add the sequence numbers and remove the original file name, and again to append .PNG to every file

    Now you should have two video tracks stored as frames in two separate folders. One folder containing all of the even frames, the other containing all of the odd frames. At this point, they should all be numbered sequentially. So folder 1 should have the same number of frames as the second (or off by 1) and they should be numbered 001.png, 002, png, and so on.

    Import these into Premiere as an image sequence (Import, navigate to your image folder, select the first one and make sure "image sequence" is checked)

    Now you have an even track and an odd track. Lay them on top of each other and cut around the distortion. Using this method, it looks like the video became distorted every 30 seconds, so if I cut that part from the top video track, the underlying "opposite" track contains the good frames.

    In the end, this is what my timeline looks like and the file plays in time, at the correct frame rate, with no distortion.



    I still don't understand why the distortion jumps between tracks at 30 second intervals, but as I guessed, the complete frame data was there, it just needed to be sequenced properly.

    Here is a sample of the repaired footage: https://www.dropbox.com/s/e0wkql8sjt5f21n/framerestore.mp4?dl=0
    Last edited by bmick23; 2nd Mar 2016 at 07:59.
    Quote Quote  



Similar Threads