summaryrefslogtreecommitdiffstats
path: root/DOCS/man/stats.rst
blob: e06bcd6be57a631730aee71a7c283866adfcad04 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
STATS
=====

This builtin script displays information and statistics for the currently
played file. It is enabled by default if mpv was compiled with Lua support.
It can be disabled entirely using the ``--load-stats-overlay=no`` option.

Usage
-----

The following key bindings are active by default unless something else is
already bound to them:

====   ==============================================
i      Show stats for a fixed duration
I      Toggle stats (shown until toggled again)
====   ==============================================

While the stats are visible on screen the following key bindings are active,
regardless of existing bindings. They allow you to switch between *pages* of
stats:

====   ==================
1      Show usual stats
2      Show frame timings
====   ==================

Font
~~~~

For optimal visual experience, a font with support for many font weights and
monospaced digits is recommended. By default, the open source font
`Source Sans Pro <https://github.com/adobe-fonts/source-sans-pro>`_ is used.

Configuration
-------------

This script can be customized through a config file ``lua-settings/stats.conf``
placed in mpv's user directory and through the ``--script-opts`` command-line
option. The configuration syntax is described in `ON SCREEN CONTROLLER`_.

Configurable Options
~~~~~~~~~~~~~~~~~~~~

``key_oneshot``
    Default: i
``key_toggle``
    Default: I

    Key bindings to display stats.

``key_page_1``
    Default: 1
``key_page_2``
    Default: 2

    Key bindings for page switching while stats are displayed.

``duration``
    Default: 4

    How long the stats are shown in seconds (oneshot).

``redraw_delay``
    Default: 1

    How long it takes to refresh the displayed stats in seconds (toggling).

``persistent_overlay``
    Default: no

    When `no`, other scripts printing text to the screen can overwrite the
    displayed stats. When `yes`, displayed stats are persistently shown for the
    respective duration. This can result in overlapping text when multiple
    scripts decide to print text at the same time.

``plot_perfdata``
    Default: yes

    Show graphs for performance data (page 2).

``plot_vsync_ratio``
    Default: yes
``plot_vsync_jitter``
    Default: yes

    Show graphs for vsync and jitter values (page 1). Only when toggled.

``flush_graph_data``
    Default: yes

    Clear data buffers used for drawing graphs when toggling.

``font``
    Default: Source Sans Pro

    Font name. Should support as many font weights as possible for optimal
    visual experience.

``font_mono``
    Default: Source Sans Pro

    Font name for parts where monospaced characters are necessary to align
    text. Currently, monospaced digits are sufficient.

``font_size``
    Default: 8

    Font size used to render text.

``font_color``
    Default: FFFFFF

    Font color.

``border_size``
    Default: 0.8

    Size of border drawn around the font.

``border_color``
    Default: 262626

    Color of drawn border.

``alpha``
    Default: 11

    Transparency for drawn text.

``plot_bg_border_color``
    Default: 0000FF

    Border color used for drawing graphs.

``plot_bg_color``
    Default: 262626

    Background color used for drawing graphs.

``plot_color``
    Default: FFFFFF

    Color used for drawing graphs.

Note: colors are given as hexadecimal values and use ASS tag order: BBGGRR
(blue green red).

Different key bindings
~~~~~~~~~~~~~~~~~~~~~~

A different key binding can be defined with the aforementioned options
``key_oneshot`` and ``key_toggle`` but also with commands in ``input.conf``,
for example::

    e script-binding stats/display-stats
    E script-binding stats/display-stats-toggle

Using ``input.conf``, it is also possible to directly display a certain page::

    i script-binding stats/display-page-1
    e script-binding stats/display-page-2