How Many Frames Per Second?
Sep 12, 2026 • 6 min read
The answer depends entirely on what you're doing with the frames. There's no universal "best" FPS — extracting 60 FPS for a classification dataset wastes 98% of your storage. Here's the decision framework.
🎯 The Golden Rule
Extract at the lowest FPS that still achieves your goal. Every extra frame costs storage, bandwidth, labeling time, and training compute — with diminishing returns.
Quick Decision: What's Your Workflow?
VFX Compositing / Rotoscoping / Camera Tracking
All frames (match source)Every frame needed for pixel-perfect alignment, mattes, solve accuracy
Blender / Nuke / After Effects Plates
All frames (24/25/30/60)Sequence must match project frame rate exactly
Game Sprite Sheets / Texture Atlases
All frames (native)Preserve original timing for engine import
Animation Reference (2D/3D)
12 / 15 / 2412 = classic 2s; 15 = smooth; 24 = film standard
YouTube / Social Media Thumbnails
Exact timestamp (1 frame)Pick the single best frame — use Exact Timestamp Extractor
ML Image Classification
1Max temporal diversity, minimal redundancy, smallest dataset
Object Detection (YOLO, SSD, Faster R-CNN)
1–3Balance box accuracy vs dataset size; 2 FPS typical
Instance Segmentation (Mask R-CNN)
2–5Pixel-perfect masks need more samples; 3 FPS typical
Video Tracking (DeepSORT, ByteTrack)
5–10Temporal continuity for ID association across frames
Action Recognition (SlowFast, TSM)
Clip sampling (8–16/clip)Uniform temporal sampling, not frame-level FPS
Pose Estimation / Keypoints
5–10Keypoint precision needs temporal density
Lecture / Slide / Document Capture
1One frame per second = searchable slide deck
Software Tutorial / Demo Recording
5–10Capture UI transitions without overwhelming storage
Frame Count Calculator
Use this formula to estimate output size before extracting:
Total Frames = Duration (seconds) × Extraction FPS| Video Duration | @ 1 FPS | @ 5 FPS | @ 10 FPS | @ 24 FPS | @ 30 FPS | @ 60 FPS |
|---|---|---|---|---|---|---|
| 30 seconds | 30 | 150 | 300 | 720 | 900 | 1,800 |
| 1 minute | 60 | 300 | 600 | 1,440 | 1,800 | 3,600 |
| 5 minutes | 300 | 1,500 | 3,000 | 7,200 | 9,000 | 18,000 |
| 10 minutes | 600 | 3,000 | 6,000 | 14,400 | 18,000 | 36,000 |
| 30 minutes | 1,800 | 9,000 | 18,000 | 43,200 | 54,000 | 108,000 |
| 1 hour | 3,600 | 18,000 | 36,000 | 86,400 | 108,000 | 216,000 |
Storage Estimates (1080p, JPG vs PNG vs WebP)
| Extraction | Frames | JPG ZIP | PNG ZIP | WebP ZIP |
|---|---|---|---|---|
| 1 min @ 1 FPS | 60 | ~1 MB | ~10 MB | ~0.7 MB |
| 1 min @ 5 FPS | 300 | ~5 MB | ~50 MB | ~3 MB |
| 1 min @ 30 FPS | 1,800 | ~30 MB | ~300 MB | ~20 MB |
| 10 min @ 1 FPS | 600 | ~10 MB | ~100 MB | ~7 MB |
| 10 min @ 30 FPS | 18,000 | ~300 MB | ~3 GB | ~200 MB |
| 1 hour @ 30 FPS | 108,000 | ~1.8 GB | ~18 GB | ~1.2 GB |
Browser Memory Limits — Practical Ceilings
Your browser tab has a JavaScript heap limit (~1.5–2 GB on desktop, ~500 MB–1 GB on mobile). Large extractions can crash the tab.
⚠️ Safe Extraction Limits
- Desktop (16 GB RAM): Up to ~3,000 PNG frames or ~10,000 JPG frames per batch
- Desktop (8 GB RAM): ~1,500 PNG / ~5,000 JPG
- Mobile (4–6 GB RAM): ~500 PNG / ~2,000 JPG
✅ Strategies for Large Videos
- Use WebP — 25–35% smaller than PNG, same quality
- Lower FPS — 5 FPS instead of 30 cuts frames 6×
- Chunk it — Process 5-minute segments, merge ZIPs after
- Close tabs — Free JS heap before starting
When to Break the Rules
🔬 Research / Forensics — Extract More
Legal evidence, medical analysis, failure investigation — extract all frames. Storage is cheap; missing a frame isn't.
🎬 High-Speed / Slow-Mo — Extract Source FPS
240 FPS source → extract 240 FPS. Don't downsample; you lose the slow-mo data.
🤖 ML Active Learning — Start Low, Increase
Extract 1 FPS → train → find failure cases → re-extract those videos at 5 FPS. Iterative beats bulk.
Our Tool's FPS Presets
The frame extractor includes these presets (plus custom via slider):
Plus a slider for any value 1–60. The tool shows estimated frame count and warns if you're approaching memory limits.