How to Take High-Quality Screenshots in MPV?
The mpv media player is a powerful, minimalist tool
favored for its high performance and deep customization options. While
many users know it for seamless video playback, it also includes a
robust, built-in screenshot engine capable of capturing pristine images
directly from your media. This guide will walk you through the essential
keyboard shortcuts, configuration tweaks, and advanced commands needed
to capture high-quality, uncompressed screenshots using
mpv.
The Default Screenshot Shortcuts
Out of the box, mpv provides three primary keyboard
shortcuts for capturing your screen. Each serves a slightly different
purpose depending on whether you want to include subtitles or capture a
single frame versus every frame.
s: Takes a screenshot exactly as you see it, including subtitles if they are currently being displayed on the screen.S(Shift +s): Takes a screenshot of the video frame without subtitles. This is ideal if you want a clean image of the scene.Ctrl + s: Takes a screenshot of the current frame and continues to take a screenshot of every subsequent frame until you press the shortcut again to stop it.
By default, these images are saved in your current working directory (usually where you launched the terminal or the folder containing the video) as PNG files.
Customizing Screenshot Quality and Location
To truly get high-quality screenshots, you should modify
mpv’s configuration file (mpv.conf). This
allows you to change the file format, maximize compression quality, and
choose a specific save folder so your desktop doesn’t get cluttered.
Add the following lines to your mpv.conf file:
# Set the screenshot format (PNG is lossless and high quality)
screenshot-format=png
# Set PNG compression level (0-9; 0 is no compression, 9 is max compression)
# Higher numbers take a bit longer to save but result in smaller files without quality loss
screenshot-png-compression=7
# Choose a dedicated folder to save your screenshots
screenshot-directory="~/Pictures/mpv_snapshots"
# Template for naming the files (includes video filename and timestamp)
screenshot-template="%F-[%p-%N]"Advanced Precision: Taking Source-Resolution Screenshots
Sometimes, your video player might be scaled up to fit a 4K monitor,
but the video itself is only 1080p. If you want to capture the
screenshot at the video’s original native resolution—ignoring any window
scaling or video filters you have applied—you can use the
video argument.
To do this on the fly, you can map a custom key in your
input.conf file:
# Press 'g' to take a raw screenshot at native video resolution
g screenshot videoWith these settings locked in, you can seamlessly archive your favorite cinematic moments in pristine quality with a single keystroke.