Enabling and disabling
The stats overlay is loaded automatically. To disable it:Basic usage
Show stats briefly
Press
i to display stats for a fixed duration (default: 4 seconds), then they disappear automatically.Toggle stats permanently
Press
I (capital i) to keep stats visible until toggled off again. Press I again or ESC to hide them.Default key bindings
Activation
| Key | Action |
|---|---|
i | Show stats for a fixed duration |
I | Toggle stats (stay until toggled off) |
? | Toggle key bindings display |
Page navigation (while stats are visible)
| Key | Page |
|---|---|
1 | Playback info (video, audio, timing) |
2 | Frame timings (scrollable) |
3 | Input cache stats (scrollable) |
4 | Active key bindings (scrollable) |
5 | Selected tracks info (scrollable) |
0 | Internal performance data (scrollable) |
Scroll controls (on scrollable pages)
| Key | Action |
|---|---|
UP | Scroll one line up |
DOWN | Scroll one line down |
Key bindings page (page 4)
| Key | Action |
|---|---|
/ | Search key bindings |
When stats are toggled on
| Key | Action |
|---|---|
ESC | Close the stats overlay |
Pages overview
Page 1 — Playback info
Page 1 — Playback info
The default page. Shows:
- Video codec, format, resolution, framerate, bitrate
- Audio codec, sample rate, channels, bitrate
- Current A/V sync offset
- Dropped frame count
- Cache fill status and buffer duration
- Optional graphs for vsync ratio and jitter (when toggled, if
plot_vsync_ratio/plot_vsync_jitterare enabled)
Page 2 — Frame timings
Page 2 — Frame timings
Shows per-frame timing data including decoder, filter, and display times. Supports scrolling for long lists. Optionally shows graphs for performance data (
plot_perfdata=yes).Page 3 — Input cache stats
Page 3 — Input cache stats
Shows the demuxer cache status, including bytes in cache, cache ranges, and timestamps. Optionally shows a cache fill graph (
plot_cache=yes in toggled mode).Page 4 — Active key bindings
Page 4 — Active key bindings
Lists all active key bindings and the commands they run, grouped by command type. Excludes stats script internal keys.You can also print this list to the terminal and quit immediately:Disable escape sequences in the output:Limit to built-in bindings only:
Page 5 — Track info
Page 5 — Track info
Detailed information about selected tracks (or all tracks, depending on
track_info_selected_only): codec, format, bitrate, language, metadata.Page 0 — Internal data
Page 0 — Internal data
Internal performance counters including CPU/thread time per subsystem and per Lua script. Selecting this page for the first time enables data collection, which has a small ongoing performance impact.
Configuration
Configure the stats script through~/.config/mpv/script-opts/stats.conf or via --script-opts on the command line (prefix options with stats-):
Timing options
How long the stats display stays on screen when triggered with
i (oneshot mode).How frequently the stats display refreshes when in toggled mode (
I).Key binding options
Key to show page 1.
Key to show page 2.
Key to show page 3.
Key to show page 4.
Key to show page 5.
Key to show page 0 (internal data).
Key to close the stats when in toggled mode.
Scroll up on scrollable pages.
Scroll down on scrollable pages.
Search key bindings on page 4.
Number of lines to scroll per key press on scrollable pages.
Display options
When
yes, stats text is not overwritten by other scripts printing to the OSD. When no, any script writing to the OSD can overwrite the stats. Enabling this can cause overlapping text if multiple scripts write simultaneously.When
yes, page 5 shows only selected tracks. When no, all tracks in the file are listed.File tag limits
Hide file metadata tags longer than this many bytes.
Show at most this many file metadata tags.
Clip lines to the terminal width when printing to the terminal (used with
bindlist).Graph options
Show performance graphs on page 2.
Show a vsync ratio graph on page 1 (toggled mode only).
Show a vsync jitter graph on page 1 (toggled mode only).
Show a cache fill graph on page 3 (toggled mode only).
Enable tone-mapping LUT visualization automatically (toggled mode only).
Clear graph data buffers when toggling stats off and on.
Appearance options
Font family for stats text. Should support multiple weights for best appearance.
Monospaced font for aligned columns. Monospaced digits are sufficient.
Font size for stats text in scaled pixels.
Text color. Note: unlike most mpv color options, stats colors use ASS tag order: BBGGRR (blue-green-red), not RRGGBB.
Outline size drawn around stats text.
Text outline color (BBGGRR order).
Horizontal shadow offset in scaled pixels.
Vertical shadow offset in scaled pixels.
Shadow color (BBGGRR order).
Transparency of text, borders, and shadows when their respective colors are specified.
0 is fully opaque, 255 is fully transparent.Scale stats text with the video/window:
auto— scale with OSD (respects--osd-scale-by-window)no— fixed size regardless of window dimensions
Graph colors
Graph colors use BBGGRR hex order (not RRGGBB).
Border color for graph backgrounds.
Border width for graph backgrounds.
Background color for graphs.
Foreground color for graph data lines.
Custom key bindings
You can add extra bindings ininput.conf to trigger specific stats pages: