PRACTICAL GUIDE

Sample video frames for a useful training dataset

Control sampling, review duplicates, and organize independent recordings before annotation.

Define what an example should contain

Before extracting, list the objects, environments, and lighting conditions your model needs to recognize. Thousands of nearly identical frames may add storage without adding much useful variety. Sample enough to cover meaningful changes in the recording.

Run a small interval batch

  1. Open a compatible local recording in the dataset sampler.
  2. Set the start and end of a useful segment.
  3. Begin with an interval such as one or two seconds. Inspect the sequence and adjust it if events change faster or slower.
  4. Download the ZIP. Filenames include the requested timestamp so you can trace a sample back to the video.

Review before labeling

Discard irrelevant, unreadable, or redundant examples. Check that important objects are visible and that the sampling interval has not skipped brief events. The sharpness estimate is a convenience, not a dataset quality score. It does not evaluate label correctness, diversity, or class balance.

Keep evaluation independent

Nearby frames from one recording can look very similar. Where your experiment allows it, divide data by independent recording session, subject, or location rather than randomly mixing adjacent frames across training and evaluation. Document the split and inspect it for duplicates. The right split depends on the deployment task.

Understand the output

This tool exports images and an optional frames.json capture record. It does not create bounding boxes, segmentation masks, YOLO text files, or COCO annotations. Import the images into your annotation system and validate the resulting labels. Keep source permissions and any required participant consent with the project records.

The gallery allows up to 120 images or 96 MB per batch collection. For a long automated pipeline, use a script or a dedicated data-processing tool rather than repeatedly filling browser memory.

A small collection plan with provenance

For a first trial, sample a 60-second recording every two seconds. This tool requests 30 pictures because the end of the range is excluded. Inspect them for repeated scenes, unreadable subjects, and privacy-sensitive details before adding labels. Increasing the count is easy; increasing the diversity of independent scenes takes a better collection plan.

Keep a record with source filename, approximate capture time, camera or scene group, permission status, and intended label. Enable the optional frames.json ZIP record to retain source filename, player times and image dimensions. It is a capture record, not an annotated dataset manifest. This site does not create bounding boxes, segmentation masks, YOLO labels, or COCO annotations. Add those in a suitable annotation workflow and validate a small export before expanding the collection.

Separate related recordings or scenes across dataset splits where your task requires independent evaluation. Near-identical neighbours appearing in both training and validation can hide weak generalization. Review class balance and underrepresented conditions after selection; neither a ZIP download nor a sharpness estimate establishes dataset quality.

Try it with your own recording.

Open a compatible local file and capture a few moments for comparison.

Open frame extractor

Inspect the executed example

Controlled browser trial, 25 October 2026. The files below are actual tool outputs, not a universal quality benchmark.

The retained sampler now exports a source-aware CSV and JSON. The controlled three-picture trial produces images at 0, about 0.667 and about 1.333 seconds; inspect the record before collecting a real dataset.

CSV provenance example · JSON capture record

See the input, settings and repeat the workflow.