The Missing Frame Conundrum

Johan Bergström
Apr 21, 2021

A question or comment we are sometimes asked is, “Wait? What? It says here that Accurate Player is frame-accurate but why is there a frame missing, or one added for that matter?” In fact, there is nothing wrong, this question relates to the behavior of time-coded metadata, shown as end frame inclusive or exclusive. But what does that even mean?

The concept of inclusive or exclusive video frames represents a historical discussion, going back to the days of linear film and tape editing (i.e. before non-linear editors like Avid, Apple Final Cut and Adobe Premiere Pro existed) and how actual video frames were represented on videotape or celluloid film.

The reference in this scenario the in-or outpoint refers to a point in between frames. A frame count of zero, however, for the sake of logic, an inclusive mindset would mean the in point and the frame following this point. The same goes for the outpoint. This logic is based on the fact that you can't capture "zero" linear frames.

In the physical world of tapes, the In and Out points are frames and they are inclusive, if not you would need to refer to a frame that doesn’t exist if you want to capture a whole tape; e.g. 1 frame before the first one and 1 frame after the last one. With film, you cut in-between frames. You don't cut in the middle of the frame, hence in and out points that sit "in-between" frames and not on top of them.

The diagram below shows the difference between end frame inclusive, and end frame exclusive.


In Accurate.Video, any time-coded metadata is represented by two values, the in- and out- frames for the actual video segment the metadata is representing. There is a setting in Accurate.Video, which determines if metadata should be visualized as end frame inclusive, or end frame exclusive. Most NLE's and systems visualize and store time-coded metadata as end frame inclusive, and it's important to understand the difference. This guide explains the difference.

Accurate.Video always stores time-coded metadata as end frame exclusive but can visualize it in the UI as either inclusive or exclusive. Default in the UI is to show it as end frame inclusive, but there is a setting to control this behavior. Note that the setting does not affect how metadata is stored, only visualized.

A common problem with time-coded metadata when mixing up the inclusive or exclusive setting is that it's shown as one frame off.

Refer to the link below for how to change the endFrameInclusive setting.

Frontend configurations