# Variable Frame Rate (VFR) Video Compatibility

Ango Hub can import and open videos that use variable frame rate (VFR), but they are not fully supported for frame-accurate annotation workflows.

{% hint style="danger" %}
**Frame-level annotation on Variable Frame Rate (VFR) videos is not supported**

If you need frame-accurate annotation, tracking, keyframes, or frame-specific classifications, convert the video to a constant frame rate (CFR) file before uploading it to Ango Hub.
{% endhint %}

## What is a VFR video?

A VFR video is a video where the time between frames is not constant.

This means that frame numbers do not map cleanly to exact timestamps the same way they do in a constant frame rate (CFR) video.

## What happens in Ango Hub?

Ango Hub will still let you import and open a VFR video, and will attempt a best-effort interpretation of the timeline.

When a VFR video is opened in the video editor, Ango Hub shows the following warning:

<figure><img src="/files/HT0hls4UxvwVZjFnLyia" alt="" width="375"><figcaption></figcaption></figure>

You can also check whether a video uses variable frame rate by opening the *Task Info* panel and looking for the *VFR* field.

The current in-product warning is:

* The time between frames is not constant, so frame numbers and the timeline are approximations.
* When stepping frame by frame or seeking, the image may not always line up exactly with what you expect.
* Playback is usually fine, but navigation can feel slightly inconsistent compared to a fixed frame-rate file.

## What is affected?

VFR videos are especially risky for workflows that depend on exact frame positioning, including:

* object tracking across frames
* frame-by-frame navigation
* keyframe placement
* interpolation review
* frame-specific classifications
* any QA process that assumes frame numbers are exact

## What is usually still fine?

The following use cases are usually less affected:

* watching the video back normally
* broad timeline review
* high-level review workflows that do not depend on exact frame positions

That said, if your workflow depends on exact frame accuracy, you should still use CFR video files.

## Recommended workflow

If you plan to annotate videos frame by frame, we strongly recommend:

1. Convert the source video to constant frame rate (CFR) before import.
2. Prefer `.mp4` files with the H.264 codec when possible.
3. Import the converted file into Ango Hub.

Please also see [Supported Asset File Types & Codecs](/data/data-in-ango-hub/supported-asset-file-types.md).

## Import-related notes

### Uploading from local machine

When uploading videos directly from the browser, Ango Hub extracts the video's metadata during processing before the asset becomes available for labeling.

If the source video is VFR, using Cloud Import does not change the underlying limitation: frame-level annotation on VFR videos is still unsupported.

### Uploading through Cloud Import

Cloud Import allows Ango Hub to extract video metadata, or use metadata you provide in the JSON.

This can help with import setup, but it does not make VFR videos frame-accurate for annotation. If you need reliable frame-specific labeling, convert the video to CFR first.

## Responsibility and accuracy

Because timeline and frame positions are only approximated on VFR videos, the Ango Hub team cannot guarantee the accuracy of frame-level annotations created on them.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.imerit.net/data/data-in-ango-hub/variable-frame-rate-videos.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
