Method 1: a browser frame extractor (easiest, private)
Open the Video Frame Extractor, drop in your file, choose 6–48 frames, and download. The entire decode happens on your device, so private footage stays private. This is the right default for one-off jobs up to a few dozen frames: no install, no command line, no upload.
Method 2: ffmpeg (most control)
ffmpeg is the command-line standard. To save one frame per second: `ffmpeg -i input.mp4 -vf fps=1 frames/frame_%04d.jpg`. For one frame every ten seconds: `fps=1/10`. For a single exact moment: `ffmpeg -ss 00:01:23.5 -i input.mp4 -frames:v 1 still.png`. It scales to thousands of frames and full pipelines, at the cost of installing it and remembering the flags.
Method 3: VLC (already installed on many machines)
VLC can dump raw frames via Preferences → Video → Video snapshots: set a directory and format, then use Video → Take Snapshot (Shift+S) for the current frame. There is also a scene video filter that saves frames automatically while playing. Good for the occasional single grab; clumsy for systematic sampling.
Method 4: phone apps
On iOS and Android, apps named 'video to photo' or your gallery editor's frame picker handle quick single-frame exports. Fine for a social-media still; painful for sequences, and your footage goes through an app you must trust.
Which method when
One-off stills, private footage, no install allowed → browser tool. Bulk jobs, scripts, whole-folder pipelines → ffmpeg. You already live in VLC and need one frame → VLC snapshot. Phone-only workflow → a reputable app. For long surveillance-style recordings, scan for activity windows first so you only extract around the moments that matter.