Skip to main content

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 / 24

12 = 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

1

Max temporal diversity, minimal redundancy, smallest dataset

Object Detection (YOLO, SSD, Faster R-CNN)

1–3

Balance box accuracy vs dataset size; 2 FPS typical

Instance Segmentation (Mask R-CNN)

2–5

Pixel-perfect masks need more samples; 3 FPS typical

Video Tracking (DeepSORT, ByteTrack)

5–10

Temporal 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–10

Keypoint precision needs temporal density

Lecture / Slide / Document Capture

1

One frame per second = searchable slide deck

Software Tutorial / Demo Recording

5–10

Capture 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 seconds301503007209001,800
1 minute603006001,4401,8003,600
5 minutes3001,5003,0007,2009,00018,000
10 minutes6003,0006,00014,40018,00036,000
30 minutes1,8009,00018,00043,20054,000108,000
1 hour3,60018,00036,00086,400108,000216,000

Storage Estimates (1080p, JPG vs PNG vs WebP)

ExtractionFramesJPG ZIPPNG ZIPWebP ZIP
1 min @ 1 FPS60~1 MB~10 MB~0.7 MB
1 min @ 5 FPS300~5 MB~50 MB~3 MB
1 min @ 30 FPS1,800~30 MB~300 MB~20 MB
10 min @ 1 FPS600~10 MB~100 MB~7 MB
10 min @ 30 FPS18,000~300 MB~3 GB~200 MB
1 hour @ 30 FPS108,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):

1 FPS5 FPS10 FPS12 FPS15 FPS24 FPS25 FPS30 FPS60 FPS

Plus a slider for any value 1–60. The tool shows estimated frame count and warns if you're approaching memory limits.

Try the FPS Selector Free →