Skip to main content

What Is Video Frame Rate (FPS)?

Sep 12, 2026 • 7 min read

FPS (Frames Per Second) is the number of individual still images displayed per second to create the illusion of motion. Video is a flipbook — each "frame" is a complete image. Play them fast enough and your brain merges them into continuous motion.

The Standards & Where They Came From

FPSNameOriginUsed By
24Cinema / FilmSound film standardization (1920s)Movies, Netflix, cinematic content
25PAL (Europe)50 Hz power grid sync (1960s)EU broadcast, DVD, some cameras
29.97NTSC (US/Japan)60 Hz power grid + color subcarrierUS broadcast, legacy TV
30NTSC (modern) / Web60 Hz / 2 (simplified)YouTube, social media, gaming, phones
50PAL High Frame Rate2× 25 (sports)EU sports broadcast
59.94 / 60NTSC HFR / Gaming2× 29.97 / 60 HzUS sports, gaming, slow-mo, VR
120+High Speed / VRSpecialty camerasSlow-motion, VR, scientific

Why 29.97 and Not 30? (The Drop-Frame Mystery)

NTSC color TV added a 3.58 MHz chroma subcarrier. To prevent interference with the audio carrier, the frame rate was slowed by 0.1%: 30 × 1000/1001 = 29.97002997...

Over an hour, 30 FPS drifts 3.6 seconds vs real time. Drop-frame timecode skips frame numbers 00 and 01 every minute (except every 10th minute) to stay synced to wall clock. This doesn't drop actual frames — just the numbering.

⚠️ For frame extraction: If your source is 29.97, extracting at "30 FPS" in our tool will give you slightly more frames than real-time seconds. For precise timing, match your extraction FPS to the source's actual frame rate.

How FPS Affects Frame Extraction

Extraction FPS ≠ Source FPS

You can extract at any FPS regardless of the video's native frame rate:

  • Source 30 FPS, Extract 1 FPS: Get 1 frame every 30 source frames (every second).
  • Source 24 FPS, Extract 30 FPS: Frames duplicated/interpolated — our tool seeks to nearest timestamps.
  • Source 60 FPS, Extract 60 FPS: True 1:1 frame mapping — every source frame becomes an image.

Frame Interval vs FPS

Some tools use "interval" (every N frames) instead of FPS:

FPS = Source FPS / Interval

Example: 30 FPS source, interval 5 → 6 extracted FPS. Our tool uses FPS directly — more intuitive.

Choosing Extraction FPS by Workflow

WorkflowRecommended Extraction FPSReasoning
VFX Plates / CompositingMatch source (24/25/30/60)Every frame needed for pixel-perfect alignment
Rotoscoping / Roto PaintMatch source (all frames)Every frame for accurate mattes
Camera Tracking / MatchmoveMatch source (all frames)More frames = better solve
Animation Reference12 / 15 / 2412 = classic 2s; 15 = smooth; 24 = film
Game Sprite SheetsAll frames (native)Preserve original timing for engine import
ML Classification1Max temporal diversity, minimal redundancy
Object Detection (YOLO)1–3Balance box accuracy vs dataset size
Instance Segmentation2–5Pixel-perfect masks need more samples
Video Tracking (DeepSORT)5–10Temporal continuity for ID association
Action RecognitionClip sampling (8–16/clip)Uniform temporal sampling, not frame-level
Lecture / Slide Capture1One frame per second = slide deck
Social Media / ThumbnailsCustom / Exact timestampPick the single best frame

Variable Frame Rate (VFR) vs Constant (CFR)

  • CFR (Constant): Every frame exactly 1/FPS seconds apart. Standard for broadcast, cinema, most phone recordings.
  • VFR (Variable): Frame timing varies — screen recordings, Zoom calls, some mobile apps save space by dropping duplicate frames.

Our tool handles VFR by seeking to exact timestamps. At "30 FPS" extraction, it targets t=0, 0.033s, 0.066s... regardless of source frame timing.

Slow Motion & High Frame Rate

High-speed cameras record at 120/240/480/960 FPS but often containerize at 30/60 FPS with repeated frames or metadata flags.

  • True HFR: Source 240 FPS, extract 240 FPS → slow-mo playback at 30 FPS = 8× slowdown.
  • Container HFR: Source says 30 FPS but has 240 unique frames → extract "all frames" or 240 FPS to get them all.
  • Our tool: Set extraction FPS to the container's reported rate × slowdown factor, or use "all frames" mode.

FPS & File Size Math

Quick estimate for planning storage/bandwidth:

Frames = Duration (seconds) × Extraction FPS

Storage estimates (1080p, 10-second clip):

Extraction FPSFrames (10s)JPG ZIPPNG ZIPWebP ZIP
110~1 MB~10 MB~0.7 MB
550~5 MB~50 MB~3 MB
10100~10 MB~100 MB~7 MB
24240~24 MB~240 MB~16 MB
30300~30 MB~300 MB~20 MB
60600~60 MB~600 MB~40 MB

Common FPS Mistakes

❌ "Extract at 30 FPS for everything"

Wastes 10× storage for ML classification. Match FPS to task.

❌ Ignoring 29.97 vs 30

Hour-long 29.97 source at "30 FPS" extraction = 108 extra frames. Use exact timestamp for sync-critical work.

❌ Extracting 60 FPS from 30 FPS source

Duplicates frames, wastes space. Max useful extraction FPS = source FPS.

Quick Reference Card

Cinema/film: 24 FPS

EU broadcast: 25 FPS

US broadcast/YouTube: 30 FPS (actually 29.97)

Gaming/sports/slow-mo: 60 FPS

ML classification: 1 FPS

ML detection/seg: 2–5 FPS

Animation reference: 12/15/24 FPS

VFX/roto/tracking: All frames (match source)

Extract Frames at Any FPS →