Take Screenshots from a Video with mpv
Capture the exact frame you're watching as a PNG or JPEG while playing any video — press s during playback or set the options up front.
Run mpv --screenshot-format=png --screenshot-directory=~/Pictures video.mp4 and press s during playback to save the current frame.
01Command
Command
$ mpv --screenshot-format=png --screenshot-directory=~/Pictures video.mp402What it does
mpv ships with frame-accurate screenshots built in: pressing s saves the current frame without subtitles or OSD, while S includes them, and both files land in --screenshot-directory with names built from --screenshot-template (timestamp by default, so no overwrites). Because it grabs the decoded frame directly, the picture is exactly what you see — sharper and more accurate than screenshotting your desktop. Switch to --screenshot-format=jpeg for smaller files when quality doesn't need to be lossless.
03Risk
!Warning: Some hardware-accelerated outputs (vaapi/nvdec) can save black frames; if screenshots come out dark, add --vo=gpu --hwdec=no or switch the video output.
04Undo
✓No undo needed — this command does not change persistent state.
05Sources
- mpv ManualEvidence: Documents --screenshot-format (png/jpeg), --screenshot-directory, --screenshot-template, and the default screenshot keybindings s (frame) and S (subtitles included).
- mpv — documentation source (screenshot options)Evidence: Source of the mpv manual: screenshot options and the s/S keybindings that save the current frame to the configured directory.
Last verified: 2026-09-18 · Category: Media