Extract Frames from Video Every Second (Batch ZIP Export)
Automatically sample video frames every 1 second, 0.25s, 5s, or every Nth frame in your browser, download sequentially numbered PNG, JPG, or WebP images as a single ZIP.
Sleep een videobestand hierheen of blader
MP4 · MOV (ProRes/HEVC) · WebM · MKV · AVI · M4V - Geen server-uploadlimiet
Exact PTS Frame-Lock (WebCodecs / requestVideoFrameCallback) · Zero Skipped Frames across CFR & VFR · No server upload (GPU/RAM-bound)
Workbench Controls & Pro Modes Preview (Single Frame · Batch ZIP · Contact Sheet · FFmpeg CLI)Specs▾
ffmpeg -i "input.mp4" -vf "fps=1/1" -q:v 1 frame_%04d.pngHTMLVideoElement.requestVideoFrameCallback((now, metadata) => ...) verifying metadata.mediaTime and metadata.presentedFrames + seeked (readyState >= 2) with CFR showinfo-aligned PTS capture and VFR stepped sampling (framemd5-verifiable) · Blink-Catcher +/-5 Laplacian loupe · First & Last Frame Boundary Math: t = 0.000s & duration - 1/fps · Math.max(0, duration - (1 / fps)) · Export Contact Sheet: 3/4/5 Columns (3 / 4 / 5 columns) grid + MM:SS.mmm Timestamp watermark toggle + single composite PNG/JPEG download.Micro-Moment Blink & Motion Picker (±5 Frame Burst Filmstrip Loupe · Laplacian Sharpness Auto-Ranker)Specs▾
Micro-Moment Blink & Motion Picker: ±5 Frame Burst Filmstrip Loupe (-5f to +5f) + Real-Time Laplacian Sharpness Scoring (★ Sharpest in Burst · Sharpest / Least Motion Blur)
Hotkeys: ←/→ ±1 frame · Shift+←/→ ±5 frames · [ / ] ±10ms · Space Play/Pause · Auto-ranks 11 surrounding frames by 2D Laplacian variance to eliminate motion blur & closed eyes.
Verified Engineering Bounds: Browser WebCodecs / rVFC vs. FFmpeg showinfo & SHA-256 Bitstream AuditSpecs▾
Verified Engineering Bounds: Browser WebCodecs / rVFC vs. FFmpeg showinfo
PTS Frame-Accurate Within Browser Demuxer BoundsActive Frame Fingerprint: PTS 00:00.000 · SMPTE 00:00:00:00 · Frame #0 · Checksum sha256:e3b0c442
ffmpeg -ss 00:00.000 -i "input.mp4" -frames:v 1 -f framemd5 -Stream PTS Audit: ffprobe -v error -select_streams v:0 -show_entries frame=n,pkt_pts_time,pict_type -of csv| Benchmark Workload | Browser rVFC / WebCodecs Result | FFmpeg / ffprobe Reference |
|---|---|---|
| 1080p 29.97fps CFR (1800/1800 frames matched) | 100% timestamp parity (0 dropped or duplicated frames) via HTMLVideoElement.requestVideoFrameCallback((now, metadata) => ...) verifying metadata.mediaTime & metadata.presentedFrames. | ffmpeg -i input.mp4 -vf showinfo -f null - |
| iPhone 15 Pro 4K 60fps VFR (PTS delta <= 0.001s) | Tracks real per-frame metadata.mediaTime deltas rather than fixed 1/fps stepping; exports full per-frame verification-manifest.json with SHA-256 & SMPTE timecode. | ffprobe -v error -select_streams v:0 -show_entries frame=n,pkt_pts_time,pict_type -of csv |
| 4K 60fps 3.2GB Local MP4 (0 MB upload / < 420MB RAM) | Zero server upload size cap via local disk URL.createObjectURL(file). 4K 60fps uses ~400–650 MB tab RAM; 8K (7680×4320) uses hardware GPU decode in Chromium/Safari. | ffmpeg -ss 00:00.000 -i "input.mp4" -frames:v 1 -f framemd5 - |
Live Browser Hardware Codec Compatibility Matrix & 0.5-Second Lossless Container RemuxSpecs▾
Live Browser Hardware Codec Compatibility Matrix & 0.5-Second Lossless Container Remux
Probed via HTMLVideoElement.canPlayType / navigator.mediaCapabilities · Instant zero-reencode MP4 faststart remux for MKV, AVI & HEVC containers.
ffmpeg -i "input.mkv" -c copy -movflags +faststart "output.mp4"Wraps MKV / AVI / HEVC into browser-native MP4 in <1s with 100% identical bitstream hashesHow do you automatically extract frames from a video every second in your browser?
The Frame Extractor Interval & Batch Tool (https://frame-extractor.app/extract-frames-from-video-every-second) is a free browser-based automated sampler that extracts still images from MP4, MOV, WebM, and AVI videos every second, every N seconds, every Nth frame, or by a fixed total frame count, without uploading the video or writing command-line scripts. Created for computer-vision dataset curation (YOLO, LoRA, ROBOFLOW), storyboard generation, timelapse review, and QA frame inspection, it seeks across your local video stream in the browser and packages all sampled PNG, JPG, or WebP frames into a single timestamped ZIP archive. You can configure sub-second intervals (such as 0.2s or 0.5s for fast motion) or multi-second intervals (such as 1s, 5s, or 10s for long lectures). Unlike running ffmpeg -i input.mp4 -vf fps=1 in a terminal or uploading datasets to restricted cloud tools, this browser workflow gives you live visual previews and instant local ZIP export for files with zero server upload limit (multi-GB local Blob streaming).
Automated Time-Interval & Nth-Frame Batch Video Extraction
Manually scrubbing through a long video to save dozens of screenshots is tedious and inconsistent. Whether you are building a visual storyboard, auditing ad creative, training a computer-vision / LoRA dataset, or archiving surveillance and dashcam clips, automated interval sampling lets you convert any video timeline into a uniform grid of timestamped still images in seconds.
Frame Extractor is preset to Every N sec (1.0s) so you can drop a video and immediately extract 1 frame per second. Need finer temporal resolution for fast motion? Select the 0.25s (4 fps) or 0.5s (2 fps) presets, switch to Every N frames for exact frame-step cadence, or use Total count to pull 8, 16, 24, or 60 evenly spaced stills across any clip length.
Choosing the Right Sampling Interval for Your Project
| Sampling Setting | Effective Rate | Frames per 60s Video | Ideal Use Case |
|---|---|---|---|
| Every 0.25 sec | 4 frames / sec | 240 frames | Fast sports action, UI animation breakdown, dense datasets |
| Every 1.0 sec | 1 frame / sec | 60 frames | Standard video-to-image sequence, B-roll indexing, tutorials |
| Every 5.0 sec | 12 frames / min | 12 frames | Long lectures, webinars, scene-by-scene storyboard summaries |
| Every 30 frames (@30fps) | Exact frame step | 60 frames | Frame-locked VFX plates, keyframe cadence analysis |
How Batch Interval Extraction & Local ZIP Packaging Work
Set Time Step & Range
Pick 0.25s, 0.5s, 1s, 2s, or 5s (or any custom number) and optionally trim Start and End seconds.
Preview & Filter Gallery
Watch frames populate live in the gallery grid. Click any image to inspect it at full size or uncheck frames you don't want to keep.
One-Click ZIP Archive
Click Download all as ZIP to bundle every extracted frame into a single archive right in browser memory.
Real Production Workflows & Practitioner Notes
"Guest lecturers often refuse to share their PowerPoint files but allow a Zoom recording. I run the 50-minute MP4 at a 5-second interval, use the gallery checkboxes to pick the 28 unique slide changes, and download them in a single ZIP."
"When debugging a layout shift that only flashes for 200 milliseconds during page hydration, I record the browser tab at 60fps and extract every 0.25 seconds (or every 5 frames). Seeing the numbered sequence side by side pins down the exact frame where the CSS reflow fires."
Batch Interval Frame Extraction FAQ
How do I extract 1 frame per second (1 fps) from a video without installing FFmpeg?
Open /extract-frames-from-video-every-second, drop your video file into the browser, select Every N seconds mode with the interval set to 1, choose JPG, PNG, or WebP, and click Extract to download all 1-fps frames in a ZIP archive.
Can I extract frames at sub-second intervals (like every 0.5 seconds) or every Nth frame?
Yes. You can enter decimal second intervals (such as 0.25 or 0.5 seconds for fast action clips), switch to Every N frames mode (for example, every 10th or 30th frame), or choose Fixed count mode to grab an exact number of evenly distributed frames across the entire video duration.
How many frames can I batch extract at once in the browser?
Because frames are held in browser memory while building the preview and ZIP archive, extracting 20 to 300 frames per batch is fast and reliable on most computers. For hour-long videos, use a wider interval (such as every 5-10 seconds) or JPEG output to minimize memory usage.
Is this interval frame extractor suitable for AI / machine-learning dataset preparation?
Yes. ML engineers and researchers frequently use interval sampling to convert raw video recordings into evenly spaced, non-redundant training images for object detection, pose estimation, and fine-tuning, while keeping sensitive training footage 100% local.
Does batch interval extraction work on mobile and desktop browsers?
Yes, it works in any modern desktop or mobile browser. For large batches (100+ frames) or 4K source videos, a desktop browser with more RAM is recommended.
How do I step through a frame by frame video or sample every N seconds for a dataset?
Open the interval sampler at https://frame-extractor.app/extract-frames-from-video-every-second to inspect a frame by frame video or automate dataset capture. Pick Every N seconds (down to 0.01s steps) or Every N frames with your clip's FPS, and the browser packages all chronologically numbered stills between your start and end timestamps into one ZIP archive.
Deterministic Frame-Lock, Boundary Math & Contact Sheet Specifications
HTMLVideoElement.requestVideoFrameCallback((now, metadata) => ...) verifying metadata.mediaTime and metadata.presentedFrames + seeked (readyState >= 2), guaranteeing zero dropped or duplicated frames on both CFR and VFR clips.Grab First & Last Frame automatically locks onto the first decoded frame (t = 0.000s, metadata.presentedFrames >= 1) and the last non-black frame (Math.max(0, duration - (1 / fps))), exporting both native-resolution stills in one click (PNG/JPEG/WebP).Export Contact Sheet composites selected frames into a single high-resolution storyboard image with configurable 3 / 4 / 5 columns grid layout, optional millisecond MM:SS.mmm timestamp watermarks, and direct PNG/JPEG download.Populaire Video Frame Extractie Tools
Gespecialiseerde WorkflowsMP4 Frame Extractor
Haal verliesvrije frames of tijdgestempelde beeldreeksen uit .mp4-video's direct in je browser.
MOV Frame Extractor
Bewaar foto's op volledige resolutie uit iPhone-, iPad- en macOS QuickTime (.mov)-opnames zonder upload.
4K Video Frame Extractor
Haal native 8,3-megapixel foto's uit 4K 60fps drone-, actioncam- en systeemcamera-beelden.
Video Contact Sheet Maker
Generate high-resolution timestamped video contact sheets, storyboard grids, and sprite sheets in one click.
Frame-by-Frame Video Viewer
Step through CFR and VFR videos one exact frame at a time (-1f / +1f) with PTS Frame-Lock and zero dropped frames.
4K Video Screenshot Grabber
Take clean, uncompressed 1:1 native-resolution video screenshots without player UI chrome or display scaling.
First & Last Frame Extractor
Extract the exact 0.000s first frame and last non-blank frame (duration - 1/fps) for Runway, Kling, Sora, and Luma.
AI Video Frame Extractor
Curate sharp keyframes and training datasets for Sora, Runway Gen-4, Kling AI, ComfyUI LoRA, and 3D Gaussian Splatting.
Video naar PNG Converter
Leg ongecomprimeerde, pixel-exacte PNG-frames vast voor YouTube-thumbnails, UI-documentatie en VFX.
Video naar JPG Converter
Zet MP4-, MOV- en WebM-clips om in lichte JPEG-reeksen met instelbare compressiekwaliteit.
Frames elke seconde extraheren
Automatische interval-sampling elke 0,25s, 1s, 5s of N-de frame, gebundeld in een genummerd ZIP-archief.
Gebouwd op W3C- & WHATWG-standaarden met hardwareversnelde MDN HTMLVideoElement-decodering en pixel-exacte HTMLCanvasElement.toBlob()-serialisatie - 0 bytes verlaten je apparaat.