Who it is forA field operator or researcher with recorded video who needs training frames without extracting them by hand.
The problemPulling usable frames from video by hand is slow and loses track of which clip each frame came from.
The outcomeA new dataset of JPEG frames, each saved with its source video, checksum, task ID, frame number, and timestamp, and split by the chosen strategy.
What you need first
- macOS or Linux
- Python 3.11 or 3.12
- Node.js 20 or newer
- A set of images to label, or the built-in tiny demo generator
Steps
- Start the workbench with
./run-all.sh. - Open Dataset, then Import Dataset, and choose the video file option.
- Upload an MP4, MOV, or AVI file, name the new dataset, pick the task type and initial split, and set the FPS, time interval, or frame interval.
- Review the decoded sample frame, resolution, duration, expected frame count, and estimated JPEG output size, then start the import.
- If you choose time-block assignment, set the window and the train/val/test ratios so each block stays in one split, then check the frame split before labeling.
Prompt for your agent
In the YoloWebAgentStarter repo at <repo path>, import the video <video file> as a new dataset with a frame interval. Verify that the import finishes and that the frame records keep the source video, checksum, and timestamp. Return the dataset ID and the frame count.
Caveat. Consecutive video frames are usually very similar, so random splitting can inflate evaluation results, and the README advises checking whether the time-block strategy fits your capture scenario.
Use this in your AI agent
Ask your agent
Using the Deduped MCP, get the setup steps for fengzhizi715/YoloWebAgentStarter and "Turn MP4, MOV, or AVI footage into a dataset of frames"
Add Deduped to Claude Code once
claude mcp add --transport http deduped https://dedupedai.com/mcp
Every Monday: the 5 hottest repos and exactly how to use them. Free, one email a week, unsubscribe anytime.
Get them freeShare: X LinkedIn Hacker News Email Copy link
Third-party repos we don't own. AI-written use cases can be wrong. Disclaimer