Mixing Frame Rates in DaVinci Resolve – Part 2: Native Frame Rates
In part 2 of this 5-part series, I’ll walk through a scenario for why and how you might want to change the native frame rates of the footage before editing. This example is intended to give you a good idea of this workflow option, but keep in mind that your project might have different needs or requirements than my example here.
We can change the native frame rate of clips in the clip attributes settings to match our project settings. Of course, when we change the frame rate in clip attributes, we’re not actually altering a clip’s files, we’re simply telling Resolve to play back the files with a different frame rate. The recorded number of frames in a file won’t change.
When you change the frame rate in clip attributes, higher frame rate clips will play back slower in a lower frame rate project. So, if you have a clip with a native frame rate of 29.97, and you change the frame rate in clip attributes to 23.976 to match the project, that clip will play back slower than its native frame rate in the sequence.
Also keep in mind that the timecode of the clips within the Resolve project will no longer match the timecode embedded in the source file on disk. Since timecode is generated based on frame rate, changing the frame rate in Resolve will require new timecode to be generated for the source clips within the project. This is important to keep in mind as you start to change frame rates of your source clips.
It’s important to note that changes to a clip’s timecode will cause audio sync issues if the audio file’s timecode is different from your project’s frame rate. Just changing frame rate with clip attributes will make the audio unusable. You should leave these types of clips and their audio at the native frame rate, and utilize frame interpolation instead (which will be covered later in a later section).
Now let’s walk through the exact steps of changing clip attributes Resolve. Since we’ve already organized our clips into separate bins based on camera, it should be easy to find non-matching clips.
Open each of the camera bins we created in our project. As a reminder, we set our project to 23.976, so we need to find all the clips with a different frame rate. In this project, we can see that Camera A has files running at 24fps, and Camera B has files running at 25fps frames per second.
If you click on the FPS column of the list view you can sort the clips based on their frame rates together. Now select all the clips with a frame rate of 25, right-click, and select Clip Attributes.
In the Clip Attributes dialogue, select 23.976 as the Video Frame Rate and hit ok.
Since 25 frames per second is a faster frame rate than 23.976, these clips will now play back slightly slower. There won’t be any dropped or duplicated frames, but motion might look a bit different.
Now, if we wanted these clips to play back closer to real-time (while still conforming to the project’s assigned frame rate), we would need to increase the speed of the clips to 104.27 percent in our timeline. Unfortunately, since 25 isn’t wholly divisible by 23.976, speeding these clips back up to real-time will lead to visual stutters and skipped frames.
Native Frame Rate Metadata
After we change the native frame rate, we should add metadata to the clips or “log” the native frame rate in the camera notes of the metadata field. Oddly, Resolve doesn’t store the native frame rate anywhere in the project once we’ve changed it, so adding the native frame rate to the camera notes will help us reference it when needed.
To do this, select all the clips that were changed, and in the metadata window to the right, find the camera notes field. With multiple clips selected, check the box to the left of the field to enable it.
Now type in the native frame rate of the footage followed by native, i.e. “29.97 native.” Select save at the bottom of the window to apply the metadata.
Camera FPS metadata
As we discussed in part 1, the Camera FPS field represents the recorded frame rate of our files. This recorded frame rate never changes, even if we’ve changed the playback frame rate in the step above. But, depending on the camera and type of files, Resolve may or may not be able to read the recorded frame rate metadata stored in the files. Oh the joys of technology.
If we’re unlucky enough for the Camera FPS to not show up in the metadata, we’ll need to add the recorded frame rate to the Camera FPS field manually. To do that right, we need to find out if any clips were shot in high speed (that is, a higher frame rate than our project). By adding new metadata for these high speed clips, we’ll be able to make sense of them much more easily as they move through the workflow.
That said, if you know nothing was shot high speed, and all of your clips already match the project frame rate, you don’t need to add any more metadata. But you better be absolutely sure that is the case, else things will get messy down the line. If you don’t know exactly how your files were captured, it’s a good idea to go through their metadata and add any missing information.
If you don’t have a massive amount of footage, start selecting each clip in the Media hub in each camera bin with the camera metadata window open. This will give you a sense of how each camera records metadata. If you find Camera FPS metadata already there, you won’t need to add any more metadata information.
If you suspect your footage is a different speed than your project, and there isn’t any Camera FPS metadata in your clips, you have a few options:
- Check the script notes
- Check the camera reports
- Open the camera files in another app like RedCine-X or a camera metadata reader
- Call the DIT or DOP from the shoot for more information
Resolve doesn’t always read the specific camera metadata of certain cameras (often times this is an issue with RED cameras). If camera information wasn’t recorded on set via script notes or a camera report, check the metadata of your files in another app. Sometimes a camera manufacturer’s own applications can detect this metadata when Resolve doesn’t see it. For example, RedCine-X Pro will read the recorded frame rate of RED files if they aren’t in Resolve.
As a rule for adding recorded frame rate metadata, here are some best practices:
- If the playback frame rate matches the recorded frame rate, no additional metadata needs to be added
- If there is Camera FPS metadata already, nothing else needs to be added
- If the playback frame rate doesn’t match the recorded frame rate, find the recorded frame rate externally with another app or script notes and add the recorded frame rate metadata to the Camera FPS field in Resolve
Once you’ve found the recorded frame rate for your clips, it’s easy to add this information to the Camera FPS field in Resolve.
Select all of your clips with the different recorded frame rate, enter the information in the Camera FPS field in the metadata window, and select “save” at the bottom to apply the metadata to the clips.
You should go through each of your camera bins to apply the recorded frame rate metadata once you’ve found it. When you’re done, each clip should have 23.976 in the FPS column, native frame rate metadata in the camera notes field, and recorded frame rate metadata in the Camera FPS field. Finally, you’re ready for breaking down the footage, optimizing media, and editing.
There are also many ways to color code, organize or make bins for different types of clips in Resolve. Every editor has their preferences, but it’s a good idea to apply them once you have the metadata in place. Experience will teach you efficient ways to organize, reference, and/or mark clips with different recorded frame rates.
Syncing External Audio and Multicam
A note about sync audio and multicam: If you have files that need to be synced to external audio, or multicam clips that need to be joined together for editing, it’s important to understand how to handle them in a project. Timecode becomes mostly unusable for syncing in these scenarios if the frame rates don’t match. Ideally, your project frame rate and the clip frame rate should match with these types of files, but we don’t always have that luxury with every video we cut. If they don’t, you’ll most likely need to manually sync the files together which can be very time-consuming.
For example, your clips were shot at 48fps but your recorded audio was synced for 24fps (terrible, but it happens). Maybe the idea was to have the flexibility to slow some of the clips down while also recording audio. If you change the native frame rate with clip attributes to sync these files, they won’t sync. Your files will play back slower than the audio, and the timecode of the files at 48fps will also not match the 24fps audio. No sync for you.
The same syncing issue occurs with multicam clips. If you’ve recorded clips with frame rates that don’t match each other or the project, the syncing process can become very difficult and manual. Changing frame rates with clip attributes can help, but that will throw off your source timecode, which means manually syncing these files is the only real option.
If you want to avoid this terrible fate, it’s really important that clips with externally recorded audio or multicam clips are recorded in real-time at the project’s frame rate. Changing clip attributes can help, but it can get very complicated. Always better to spend a little time planning ahead to avoid the problem than wasting hours manually fixing it.
Re-Timing with Matching Frame Rates
Back to our project example. Since we’ve made all our clips’ frame rates match our project, re-timing is much simpler and straightforward than it would be with native frame rates. Since everything is already running at our project frame rate, we don’t need to worry about mixing our frame rates or re-timing precisely to match our timeline settings. And if you keep your re-times to multiples of 100, you won’t even need to do any frame blending or optical flow for smooth playback.
Select a clip in a sequence and hit command or control R to open the re-time controls. Next to the percentage displayed, click the arrow and select Change Speed. By choosing 200 percent, we ensure even playback on the clip without needing to use optical flow.
Resolve throws frames away frames when speeding up footage. This might sound bad, but it’s not always detrimental to the viewing experience. For example, with a 200 percent speed up, only every other frame is skipped, which makes playback smooth. No frame interpolation is needed. And of course, if you slow down clips by wholly divisible amount, for example 50 percent, frames every other frame will be duplicated during playback. Again, no frame interpolation required.
Keep in mind, frame rates and re-timing are interrelated when editing. Think about it. Re-timing, speed warping, or time re-mapping is essentially telling your source clip to play at a different frame rate. For example, if you double your clip speed, the clip essentially acts like it’s running at double the frame rate.
If you have a source frame rate at 23.976 in a 23.976 timeline and you change your clip speed to 200 percent, Resolve will play back the clip as if it were double the frame rate or around 47.952 fps. You might expect that Resolve would treat a sped-up clip as if it was a lower frame rate like 11.988 frames per second (half the native frame rate played back at the project frame rate), which would appear sped up in a 23.976 sequence. But that’s not the case.
Change Clip Speed
To illustrate in Resolve, right-click on a clip in a timeline and select Change Clip Speed. Change the Speed from 100 to 200. Since our project and timeline frame rate is 23.976, the Frames per second box updates to reflect the changed clip speed: 47.952fps.
What does this mean for editing?
If you know that smooth playback is possible when using multiples of your native frame rate, you can quickly understand if your clip will play back smoothly when changing the clip speed. Resolve will evenly duplicate or remove frames from your source clip.
Frame rates that aren’t wholly divisible by the project frame rate won’t play back in real-time evenly. So 60fps won’t playback in a 23.976 sequence in real-time without stuttery playback.
So what happens if you want to take a clip that was recorded at 120fps and play it back in real-time in a 24fps sequence? 120 is wholly divisible by 24, so we can achieve smooth real-time playback. Since we’ve changed the native frame rates to 23.976, we can take that a clip that has a recorded frame rate of 120 frames per second and speed it up by 500 percent to get back to real-time playback. Resolve will throw away the unnecessary frames and it will play back in real-time.
But let’s try something in Resolve. Let’s take a clip that was recorded at 120fps, speed it up to real-time playback, slow it down to the projects frame rate, and then speed it back up to real-time. This is a common effect you see in a lot of internet videos.
The first thing we’re going to do is make the clip realtime by right-clicking on it and selecting change clip speed. Change the speed to 500 percent. Now our 120fps clip is running in real-time in our 24fps project.
Hit command or control-R to open up the access the re-time controls. Right-click on it and select “Re-time Curve.” Scroll to the frame in the footage that you want the slow down to begin. Click the diamond shape to set a keyframe for that frame, and then shuttle down the footage to a frame where you want it to speed back up and click the diamond again.
From the percentage dropdown, change the section between the keyframes to 100 percent. Smooth out the transition by selecting the keyframe and hitting the curve button right under the clip. Now, drag out the handles to adjust the smoothing of the transition, and use the bottom controls to change the timing of the speed ramp.
Resolve makes it really easy to do this kind of re-timing, but remember, it’s important to keep those numbers even if you want the smoothest visual playback. If you start to drag around the keyframes in the graph editor, the speed numbers will become uneven, and those speed changes may appear choppy.
In some cases, the project frame rate will not be wholly divisible by the recorded frame rate, and smooth real-time playback will be impossible by itself. But that’s what tools like optical flow are good for, as they rebuild missing frames. This may not always matter for your project, though, so don’t be afraid to experiment. Our tools serve us, not the other way around.
When you speed up a very slow clip to real-time, there is also the issue of shutter speed. The shutter speed, which determines the motion blur in a shot, will give a distinct visual look to a clip when speeding it up or slowing it down, and is especially noticeable when software has to skip frames. Motion blur between frames is greatly reduced when you do speed footage up, for example. Thankfully, there are many options for adding motion blur back into sped up footage (some better than others), but that is beyond the scope of this article.
However, we will discuss some of Resolve’s unique frame interpolation and smoothing features in the next edition of this series. So be sure to check back next week for Part 3!