

If the negative frame rates do represent a frame rate, then logically those frames would display for -0.0467ms (1000 / -21453), so if they're the way the converter is handling jitter, I think it'd mean when you delete one, you're making that frame display for 16.684ms instead (59.94fps), which means the A/V sync would change by 16.7307ms.

If they only represent a few ms each time, or a fraction of a ms, then you should be able to simply delete them.Ĭould you do me a favour and let me know how that works out? I'm curious.Įdit. At the end of each 23.976 section there might be a few ms the converter can't compensate for, or I simply don't know what it's trying to say, but given those negative frame rates appear to occur in a regular pattern, I think it's likely that's the cause. Something similar would apply to the 29.97fps sections.

At 23.976fps the frame duration is 41.70833ms, but the MKV timecodes are usually rounded to the nearest ms, so what you end up with for a 23.976 section is timecodes alternating between 41ms and 42ms in some sort of pattern. The negative frame rates might be due to "jitter" in the original timecodes. Without the frames with a negative frame rate, the first four lines above would become: The frames that aren't grouped will display at 59.940 instead of 29.970, and each group of frames will contain twice as many, displaying at 47.952 instead of 23.976. If the video is exactly as you described, I think all you should need to do is multiply every number you see by 2 for the new timecodes. Are there a lot of frames with negative frame rates and do you get the same v1 timecodes using both the converters I linked to? I'd possibly start by removing any frames with negative frame rates completely, and after converting the rest, test the new timecodes to see if you're at least in the A/V sync ballpark. You might need to check the v2 timecodes to see if you can work out what they mean, so I'll ignore them for the moment.

I'm not quite sure what to make of the frames with negative frame rates in the v1 timecodes from the source. They're not relevant because you're going to replace them. The timecodes from the 2 x encode indicate a constant frame rate of 47.952 was used.
