What the dataset preset does
The ML Dataset preset starts in interval mode: one frame every second, PNG output, and a dataset filename pattern. You can change the interval, choose JPEG, PNG, or WebP, set a maximum width, and select only the extracted frames you want in the ZIP. This page documents the export workflow; choosing a sampling strategy is a separate dataset-design decision.
What is in the downloaded ZIP
The ZIP uses the sanitized source basename followed by -frames.zip. It contains the selected images, a root manifest.json, metadata/frames.csv, metadata/frames.json, metadata/frames.jsonl, metadata/source-manifest.json, metadata/coco-images.json, yolo/data.yaml, and splits/train.txt, splits/validation.txt, and splits/test.txt. The COCO and YOLO files describe images only: they contain no labels, annotations, or categories.
How frame names and the manifest work
By default, dataset filenames use {name}_{index}: the index is one-based and padded to five digits, such as clip_00001.png. You may replace the pattern with the extractor’s visible naming tokens. The root manifest records tool, video, frames, and generated_at. Each root-manifest frame records file, time_ms, index, width, and height; the source manifest adds source details, split ratios, annotation_status, and frame bytes, MIME type, and split.
Current limitations to plan for
This export does not create labels, annotations, categories, blur scores, or duplicate detection. Its deterministic train, validation, and test lists are generated from exported-frame metadata, not a substitute for source-level split design or leakage review. Browser decoding and extraction can also vary by the video and browser. Check the output before using it in a training or evaluation pipeline.
Use the right next step
Use this tool to create and inspect export artifacts. For command-line automation, read the FFmpeg frame extraction guide. For a general extraction task instead of a dataset export, open the frame extractor.