[Ch.21] MPV Player 官方文档中有关统计信息STATS的说明 v0.34.0

以下摘取自 mpv player 官方使用手册中的STATS章节,版本 v0.34.0,不保证内容的时效性,仅供参考,实际还是以官方发布的最新文档为准,善用 Ctrl + F 快速定位你想要的内容:

该内置脚本会显示当前播放文件的相关信息与统计数据,如果在软件编译时带上了支持 Lua 的选项,则默认是启用状态。可以使用 –load-stats-overlay=no 选项完全禁用此功能。

使用方法

默认情况下,以下这些快捷键处于激活状态,除非已绑定了其他的设置内容:

i

以固定时长显示统计信息

l(大写的 i )

切换统计信息显示状态(直到再次切换之前一直显示,也就是常驻显示)

当统计信息在屏幕上可见时,下列快捷键被激活,无论现有的绑定内容如何,它们允许你在状态页之间来回切换:

1

显示常规的统计信息。

2

显示画面帧计时(滚动效果)

3

输入缓存统计信息。

4

激活的快捷键(滚动效果)

5

内部信息(滚动效果)

在支持滚动效果的页面中,这些快捷键也同样受支持:

UP

向上滚动一行

DOWN

向下滚动一行

字体

为了获得最佳的视觉体验,建议使用支持多种宽度和粗细的字体。软件默认使用的是开源字库  Source Sans Pro

配置

该脚本可以通过存放在mpv用户目录下的 script-opts/stats.conf 配置文件,以及 –script-opts 命令行选项进行自定义设置。配置语法在 Ch.20 ON SCREEN CONTROLLER 章节中描述过。

配置选项

key_page_1

默认:1

key_page_2

默认:2

key_page_3

默认:3

key_page_4

默认:4

key_page_0

默认:0

以上为当显示统计信息时在页面之间切换的快捷键。

key_scroll_up

默认:UP

key_scroll_down

默认:DOWN

scroll_lines(单次滚动行数)

默认:1

以上为滚动快捷键和在支持的页面上滚动的行数。

duration

默认:4

统计信息显示的秒数(仅显示一次)

redraw_delay(重绘延迟)

默认:1

刷新显示的统计信息需要的秒数(切换成开启状态时)

persistent_overlay(持续性叠加)

默认:no

当设置为 no,其他脚本打印到屏幕上的文本可以复写已显示的统计信息。当设置为 yes,显示的统计信息将以独立的时长持续显示,这会导致当多个脚本决定同时打印文本时出现文本重叠的问题。

plot_perfdata(绘制性能数据)

默认:yes

显示性能数据图像。

plot_vsync_ratio(绘制视频同步率)

默认:yes

plot_vsync_jitter(绘制视频同步抖动)

默认:yes

显示有关视频同步以及抖动值图像,仅当开启时有效。

flush_graph_data

默认:yes

开启时用于清空绘制图像的数据缓冲。

font

默认:Source Sans Pro

字体名称,为了最佳的视觉体验,应当尽可能多地支持字体宽度。

font_mono

默认:Source Sans Pro

需要等宽字符才能对齐文本部分的字体名称,当前,使用等宽数字足够。

font_size

默认:8

用于渲染文本的字体大小。

font_color

默认:FFFFFF

字体颜色

border_size

默认:0.8

绘制在字体周围的边框大小

border_color

默认:262626

绘制边框的颜色

alpha

默认:11

绘制文本的透明度

plot_bg_border_color(绘制背景边框的颜色)

默认:0000FF

用于绘制图像的边框颜色

plot_bg_color(绘制背景颜色)

默认:262626

用于绘制图像的背景颜色

plot_color

默认:FFFFFF

用于绘制图像的颜色

注意:颜色均以十六进制数值的形式给出,且使用 ASS 标签顺序:BBGGRR(Blue Green Red)

不同的快捷键

额外的键位可以配置在 input.conf 文件中用于显示统计信息:

以及用于直接显示确切的页面:

已激活快捷键页面

列出已激活的快捷键以及它们绑定到的命令,但统计信息脚本自身的交互式键位除外,另见 –input-test 选项以获取各个绑定的更多详细内容。

通过使用一种简单的命令字符串分析方式,自动地对这些键位进行分组。不应该期望能够做到文档级别的分组准确度,但这依旧是比较实用的办法。

使用 –idle –script-opts=stats-bindlist=yes 选项将会打印列表内容到终端上并立即退出。默认情况下,长整行会缩短至79个字符,并且启用终端转义序列。

可以通过修改 yes 为数字(至少为40)的方式设置不同的长度限制,并且转义序列可以通过在数值前添加 – 的方式被禁用,例如 …=-yes 或者 …=-120

与 –input-test 选项类似,列表包含来自 input.conf 与 用户脚本的绑定内容。

内部信息页面

在该页面上显示的大多数条目都具有比较模糊的含义。很有可能这其中没有一项是对你有用的,所以请不要尝试去使用,忘了它的存在就好。

第一次选择该页面会开始收集一些内部性能数据,也就意味着在播放器剩余运行时间内,软件性能将略微低于普通水准(即使关闭了统计信息页)。需要注意的是,统计页面自身会占用大量CPU甚至是GPU资源,可能会对性能造成严重影响。

显示的信息会在重绘延迟期间累计(以 poll-time 字段的形式显示)

为每个Lua脚本添加条目,如果运行的脚本过多,列表的一部分内容会超出屏幕显示范围,不过可以滚动查看。

如果底层平台不支持单个线程时间内的 pthread,那么显示的时间是 0 或者某个随机值(我怀疑在撰写本文档时,仅有Linux能够通过pthread 为单个线程时间提供正确的API)

大多数条目都是惰性添加且仅在数据收集期间添加,这就是为什么条目会在一段时间后随机地弹出。这也是为什么从统计数据开始被收集算起,非活动状态的脚本内存使用条目丢失的原因。

内存使用实际是一个近似值,并不会反应内部碎片的状况。

默认情况下,JS脚本的内存报告是被禁用的,因为在JS端收集数据会产生一定量的开销。可以在开启mpv之前从外部导入 MPV_LEAK_REPORT=1 环境变量启用这一功能。

如果条目中含有 /time 和 /cpu 的变形,前者提供实时时间(单调时钟),而后者提供线程的CPU时间(仅当相关的 pthread API 正确工作和受支持时有效)

参考资料:

  • https://mpv.io/manualMPV Player Reference

  • https://mpv.iompv项目官网

资源下载: