How do I convert a 30fps clip to 29.97fps in FCP12?
I need to convert a 30fps clip to 29.97. How do I do it in FCP12. I cannot seem to figure this out. Thanks!
MacBook Pro (M4 Max, 2024)
I need to convert a 30fps clip to 29.97. How do I do it in FCP12. I cannot seem to figure this out. Thanks!
MacBook Pro (M4 Max, 2024)
Create a new project that's 29.97. Add your 30fps clips... FCP automatically ***conforms*** your clips to the project frame rate.
That said... 29.97 is DEAD. It is an **analog** frame rate and according to the FCC, stations must broadcast digital or cease broadcasting altogether. If you're not having your video broadcast over the air as an analog signal (which you cannot), all streaming services can handle basically any frame rate — so why not just stay with 30 whole frames per second? Fractional frame rates were a (very clever) hack back in the old days of television to allow a color signal to be carried over their allotted bandwidths. There is no longer any reason to use the 29.97 frame rate.
Create a new project that's 29.97. Add your 30fps clips... FCP automatically ***conforms*** your clips to the project frame rate.
That said... 29.97 is DEAD. It is an **analog** frame rate and according to the FCC, stations must broadcast digital or cease broadcasting altogether. If you're not having your video broadcast over the air as an analog signal (which you cannot), all streaming services can handle basically any frame rate — so why not just stay with 30 whole frames per second? Fractional frame rates were a (very clever) hack back in the old days of television to allow a color signal to be carried over their allotted bandwidths. There is no longer any reason to use the 29.97 frame rate.
When you add a 30.0 fps clip to a 29.97 fps timeline, it is immediately rate-conformed to 29.97 fps. You can export the one clip in a timeline and observe the output is 29.97 fps.
Within the timeline, if you click on the clip, the Inspector will report the original frame rate of 30.0 fps. But that does *not* indicate the actual frame rate within the timeline. It is absolutely running at 29.97 fps. On a long enough clip, you can time it with a stopwatch, and observe it is truly running at 29.97 fps.
What you are actually asking for is the 30.0 fps clip to be retimed to 29.97 fps, maintain the same real-world rate of motion, but without losing any frames. That is normally impossible, but maybe could be done using optical flow or machine learning techniques to resample and synthetically reconstruct all frames.
Let me see if I can figure out if it's possible with FCP or Compressor, or if not what tool could be used.
When you add a 30.0 fps clip to a 29.97 fps timeline, it is immediately rate-conformed to 29.97 fps. You can export the one clip in a timeline and observe the output is 29.97 fps.
Within the timeline, if you click on the clip, the Inspector will report the original frame rate of 30.0 fps. But that does *not* indicate the actual frame rate within the timeline. It is absolutely running at 29.97 fps. On a long enough clip, you can time it with a stopwatch, and observe it is truly running at 29.97 fps.
What you are actually asking for is the 30.0 fps clip to be retimed to 29.97 fps, maintain the same real-world rate of motion, but without losing any frames. That is normally impossible, but maybe could be done using optical flow or machine learning techniques to resample and synthetically reconstruct all frames.
Let me see if I can figure out if it's possible with FCP or Compressor, or if not what tool could be used.
Ben, using a Compressor preset in FCP should work and give more options, but my tests show that a 30.0 fps clip in a 29.97 timeline on FCP 12 is rate-conformed to 29.97 by dropping a frame about every 30 sec.
However, I checked the actual algorithm in the Flexo private framework, and it seemed to indicate it uses retiming (not frame discarding) for the 30.0-to-29.97 case. We usually tell people it uses retiming based on past observation, and the underlying framework code seems to do that. So there may be a discrepancy.
I did a quick check with Resolve Studio 20.3.1, and it does something yet different. It produces an output file with fewer frames and a slightly shorter running time (if you trust total exported frames divided by 29.976), which implies a different rate-conforming algorithm.
I'm glad this issue was raised, as it comes up periodically. Normally you can get by without having authoritative documentation of the underlying mechanism and algorithm, but it's best to now. Since it's not authoritatively documented for either FCP or Resolve, it takes a lot of testing and low-level code debugging to figure it what it's doing.
There is also a definitional issue about what convert a 30fps clip to 29.97 actually means, IOW what is the desired result and what is the achievable result. E.g, does it mean (and is the expectation):
- Rate conform by discarding 1 frame about every 30 seconds from the 30.0 clip to make it match the 29.97 rate?
- Rate conform by retiming the 30.0 clip to play 0.1% slower, which produces a slightly longer clip?
- Rate conform by discarding 1 frame per 30 sec but resampling all frames using Optical Flow or Machine learning to avoid any playback hitches from the dropped frames?
- Is the goal to rate conform 30.0 to 29.97, maintain the original playback duration and not incur any sync issues? Is that even possible?
In the over 1,000 multicam interviews I've edited on various NLEs, I've encountered all kinds of scenarios, and normally I just accepted the particular behavior and patched it up to work. But it would be nice to know what the intentional design behavior is for FCP, and what the actual behavior is. I'll try to figure this out.
I'm surprised that nobody suggested using Automatic speed to retime one clip to the timeline (unless I missed it somewhere in those walls of text). They should sync up after doing this. Back in the day I would use Apple's Cinema Tools to conform a new framerate, which is exactly what Automatic Speed does.
Two hours after your question, fox_m posted the answer. It was on the first line of his response.
Your question was how to "convert a 30fps clip to 29.97." When you do what he said, the 30.0 fps clip is automatically converted (ie, conformed) to 29.97. If you export the 29.97 timeline containing the 30.0 fps clip to a video file, it will be 29.97 fps.
You can check that using the third-party utilities MediaInfo or Invisor, which are available in the App Store.
If you are now saying you want something more than just converting the clip frame rate, that it's actually a sync problem, that is new information. Certain rate-conforming algorithms (such as 30.0 to 29.97 fps) generally require retiming. That will cause the 30.0 clip converted to 29.97 fps to run slightly slower.
Everyone I resolved my issue by using a third party software. In this case, I used Handbrake. I took the 29.97 clip > reset a constant framerate to 30fps > exported it and viola. I imported the new version into FCP12 and it synced perfectly with the other camera that was shot at 30fps.
To be clear, FCP12 - at least on my system - absolutely does NOT do this "automatically."
Thanks to all those who weighed in.
Nope, broadcasters are still demanding 29.97, and digital. Frame rate has nothing to do with digital broadcasting, which took place over a decade ago. Far from dead. I say this as someone who work in TV broadcast and submits TV shows to several stations.
Online 30fps is standard. Streaming services overwhelmingly now demand 30fps. Yes, I submit to several of those, also, for my clients.
As Ben said, broadcast and delivery specifications still mandate fractional rates. ATSC digital television in North America specifies 29.97 and 59.94 (among others). Streaming platforms like Netflix accept 23.976 for their deliverables.
These aren't just legacy holdovers — they're current, enforced delivery requirements. Until the entire delivery chain moves to integer rates simultaneously (which would require coordinated industry-wide action), productions targeting these outlets must work in fractional rates.
Fractional frame rates like “23.98” isn’t “almost 24”—it’s a different clock. 23.976… is 24 × 1000/1001.
That tiny 0.1% difference is small per second, but it accumulates: Over 1 hour, 24.000 vs 23.976 differs by about 3.6 seconds
That matters for program length, sync, timed cues, closed captions, ad insertion, broadcast clocks, etc.
Some current pro cameras like the Sony FX6 cannot shoot integer frame rates in all modes. So the current camera "fleet" in many productions would still be producing fractional frame rates.
New productions often include past material shot at fractional frame rates. So those cannot be banished. That means you end up with mixed integer/fractional frame rates on the timeline. Sometimes you cannot avoid that, but what you suggest would mean it almost always happens.
All of those can be handled. We handle mixed integer and fractional frame rates every day -- when we must. But with any envisioned changes, you have to consider the cost vs benefit. Mandating universal integer frame rates on new productions across all genres would have more costs than benefits.
Gentlemen, how is any of this helpful or answer my question? i dont care what broadcasters want. i have two clips from the same shoot and one clip was unfortunately set to 30fps and the other to 29.97 and they are out of sync. how do i convert one of them, because FCP12 does NOT automatically drop frame or adjust.
I know what i'm asking. I do not need you to speak for me or explain my request. I also know that despite what you think should be happening in FCP12 re automatic conversion, I can 100% tell you that it is not happening on my computer. So as I mentioned, I will try third party conversion prior to import. Thanks, and I think our dialogue is done.
I have to agree with Joe, I tested and it worked. Now, I'd question the audio sample rate, too. But then, I'm having FCP 12 do some other wonky things from time to time lately. Can't wait for a bug fix. FCP does have a long way to go to catch up to other NLEs.
and as i mentioned, it did not automatically convert. the clip is still 30fps. nothing changed about it. ill try third party apps before importing.
If you mean an export preset, well, you'd need to use Compressor to create a custom export preset. Then apply that to an FCP export preset.
tried it. terrible. nothing within FCP was able to match the sync of another clip as well as using Handbrake to reset framerate prior to import.
How do I convert a 30fps clip to 29.97fps in FCP12?