Video Upload

Pair MP4 video recordings with your CSV trajectory data for visual verification during annotation. Video playback is synchronized with frame navigation in the labeling interface.

Overview

Video upload is optional. When provided, the labeling interface displays the video alongside the 3D robot viewer and joint graphs, giving annotators visual context for what the robot was doing at each frame.

The video is linked to a specific dataset. Each dataset can have at most one paired video.

Supported Format

PropertyRequirement
FormatMP4 (H.264 codec recommended)
Container.mp4
ResolutionAny (displayed within the labeling panel)
DurationShould match or exceed the CSV trajectory duration

Uploading Video

You can attach a video to a dataset in two ways:

  1. During CSV upload — The upload dialog has an optional video field. Select your MP4 file alongside the CSV.
  2. After upload — Open an existing dataset and use the video attachment option to add a recording later.

Videos are uploaded using presigned URLs directly to cloud storage. The upload happens in the background — you can continue working while it completes.

Synchronization

For the video to be useful during annotation, it needs to be synchronized with the CSV frame data. Master Annotator handles this through FPS detection and an adjustable sync offset.

FPS Detection

When a video is uploaded, the platform automatically detects its frame rate from the video metadata. This is used to calculate which video frame corresponds to which CSV row during playback.

If your CSV also has a timestamp column, both the video FPS and CSV FPS are known, enabling precise frame-to-frame alignment.

Sync Offset

In many recording setups, the video and CSV data don't start at exactly the same moment. The sync offset lets you adjust the alignment:

  • Positive offset — The video started before the CSV recording (video leads)
  • Negative offset — The CSV recording started before the video (CSV leads)

Adjust the offset in the dataset settings or directly in the labeling interface until the video frames visually match the 3D robot pose.

Playback in Labeling

Once a video is paired with a dataset, the labeling interface shows a video player panel. The video:

  • Advances frame-by-frame in sync with the timeline scrubber
  • Plays/pauses with the main playback controls
  • Respects the configured FPS setting (default 10 FPS for playback)
  • Jumps to the correct position when you navigate to any frame

Tips

  • Match frame rates — For best results, record video at the same rate as your CSV data sampling
  • Use a clap or marker — Start recordings with a visible/measurable event to make sync offset calibration easier
  • Keep videos short — Shorter clips (under 5 minutes) load and seek faster in the browser
  • H.264 codec — This codec has the best browser compatibility and seeking performance