Quote from: a1ex on April 12, 2019, 08:33:04 AM
Camera model?
6D. Sorry, meant to mention that but clearly forgot.
Quote from: a1ex on April 12, 2019, 08:33:04 AM
On some models, at certain frame rates, Canon firmware flips the FPS back and forth between two values, and the average frame rate is going to be the requested one, from Canon menu (in your case, 29.970). When recording MLV, only one LiveView frame is checked to find out the frame rate, so... ML is going to pick one value (either slightly above or slightly below the actual FPS).
Makes sense
Quote from: a1ex on April 12, 2019, 08:33:04 AM
To work around this in ML, I can imagine two approaches:
- round the reported frame rate to standard values (23.976 / 25.000 / 29.970 / 50.000 / 59.940) if FPS override is not used and timer B differs by less than one unit from the value required by the standard frame rate (preferred)
- average the frame rate over a couple of frames (maybe using a moving average), but one may need one second or so to get consistent results (and even so, I wouldn't exclude a round-off error every now and then).
The first option seems the most reasonable and accurate. Unless FPS override is chosen there should be no reason someone would need or expect the fps to be different from one of the standards so simply forcing it to the closest match makes sense. Seems that would avoid any quirks, miscalculations, etc that might be introduced in the second approach.
Quote from: a1ex on April 12, 2019, 08:33:04 AM
If you use FPS override, ML will keep things simple and will pick one value for the timers (i.e. it will not switch back and forth). With Exact FPS it's going to try to find an exact match, otherwise it will just pick something close (but consistent as long as you don't change the settings).
I might try this next time to keep things clean and simple. Thus far I have used the Framerate override in MLV App when exporting but was curious if it might cause jitter if it's being forced / conformed to something is wasn't recorded at. Sound like doing it at that stage or the ML recording stage via FPS override will have similar results? What would the pros / cons to each method be? (i.e. in ML vs MLV App)