SVP 高级设置

通过控制面板中的「应用程序设置 → 所有设置」部分可以查看 SVP 的全部参数。大量参数只能在此处修改。

请注意!不要更改不熟悉的参数,否则可能导致 SVP 无法正常运行。

要将 SVP 的所有参数重置为默认值,请在主菜单的「设置 → 附加选项」子菜单中选择「把设定重置为默认值」。

SVP 所有设置中的参数树
SVP 参数树形结构

SVP 的参数分布在多个设置文件中。每个设置文件内的参数构成层级结构,由若干「部分」(section)和「值」(value)组成,而「部分」还可以包含其他「部分」。

整个层级结构呈「树」状。顶层是独立的设置文件,例如 frc.cfg 文件对应 frc 分支。每个「值」的完整名称包含其所属「部分」的路径,例如 frc.frame.crop 表示 frc.cfg 文件中 frame 部分下的 crop 值。

主要的顶层部分:

  • frc——描述插帧参数,用于生成播放器脚本。例如帧的宽高比用于裁切。
  • main——SVP 总体参数,例如所选的界面语言和快捷键。
  • reg——重新安装 SVP 后仍保留的参数;在 Windows 中存储在注册表中。
  • rt——运行时参数,不会被保存,每次启动 SVP 时重新计算。例如工作目录路径。通常不需要手动修改。
  • ui——用户界面参数。例如上次的控制面板大小。
  • profiles——配置文件集合。可以复制 profiles.cfg 文件来备份或转移到其他电脑。
  • lights——黑边照明样式集合。
  • 附加模块使用的部分:SVPtube 模块使用 tube,SVPlight 模块使用 leds。

每个「值」可以是以下类型:

  • 数值——整数或浮点数。
  • 布尔——true 或 false。
  • 文本字符串。

要更改「值」,请在值列中点击它,输入新值后按 Enter 键。注意不能更改值的类型,例如无法将整数改为任意文本。

管理脚本生成

请注意!如果你不了解 Avisynth 脚本或 JavaScript 语言,请跳过此部分!

SVP 的工作流程如下:

  1. SVP 收集系统信息,包括 CPU 性能、GPU 可用性、连接的显示器数量、分辨率和刷新率。
  2. 播放器开始播放视频。
  3. SVP 识别视频格式——帧尺寸、编码器类型等。
  4. 确定所需的视频调整,如裁切、缩放、黑边照明等。
  5. 根据以上数据选择合适的配置文件。
  6. 所有配置文件参数、调整参数、播放器信息和部分系统参数被传递给用 JavaScript 编写的「生成器」。
  7. 「生成器」利用 Avisynth 或 VapourSynth 视频处理语言生成一个程序(「脚本」),脚本调用 SVPflow 模块的功能。生成的脚本被传递给播放器。
  8. 播放器利用内置的 Avisynth 或 VapourSynth 解释器来处理视频并插入中间帧。

SVP 允许自定义第 7 步的行为:

  • 指定 SVPflow 参数的具体值。
  • 为「生成器」定义变量,在 Avisynth 或 VapourSynth 脚本生成过程中使用这些变量。

要查看「生成器」的输出结果,请在主菜单的「帮助 → 附加信息」子菜单中选择「最近一次生成的脚本」。

你可以添加自定义参数,它们会显示在主菜单的「我的选项」子菜单或配置文件中的「用户定义选项」部分。修改这些参数时,对应的值会通过附加变量传递给「生成器」。

要添加参数:

  1. 打开 SVP 控制面板的「设置」部分,点击「用户定义选项」按钮。
SVP 用户定义选项按钮
控制面板中的「用户定义选项」
  1. 创建新参数:
  1. 在 Title(标题)字段中输入任意名称,此名称将显示在菜单或视频配置文件中。
  2. 在 脚本名称字段中输入需要修改的 JavaScript 变量名。
  3. 选择变量的作用范围:
  • 全局——在主菜单的「我的选项」子菜单中修改。
  • FRC 配置——为单独的配置文件定义。

请以 JSON 格式定义一组有效值,使用联合数组语法:{"选项1": value_1, "选项2": value_2, ...}。这样在菜单中选择「选项1」时,JavaScript 变量将被赋值为 value_1,依此类推。例如:

  • 最常用的开关型选项(开/关):{"Off": false, "On": true}
  • 简单选项列表(逗号分隔的名称):"选项1","选项2","选项3",等价于 {"选项1": 0, "选项2": 1, "选项3": 2}。
  1. 点击「增加选项」按钮。如果所有字段填写正确,参数将被添加。如果出错,请检查 JavaScript 变量名是否正确,以及值列表的语法。
  2. 修改「生成器」代码以使用新变量。可以修改 SVP 安装目录下 script 目录中的以下文件:
  • base.avs 和 base.py——分别是 Avisynth 和 VapourSynth 脚本的基础部分,会直接复制到最终脚本中。
  • generate.js——「生成器」的基本代码。Avisynth 脚本由 gen_avs() 函数生成,VapourSynth 脚本由 gen_vs() 函数生成。

修改 JavaScript 文件时容易出错。如果发生错误,日志文件中会出现 JavaScript 解释器的错误条目。

你可以使用以下方法之一来指定 SVPflow 参数值:

  • 用文本编辑器打开 script 目录中的 override.js 文件,取消注释(即删除行首的 //)包含所需参数的行。有关更多信息,请参阅 SVPflow 参数说明。

例如,如果想始终使用 13. Standard 的 SVP shader(不论配置文件如何设置),请取消注释 smooth.algo = 13 这一行。

  • 在「用户定义选项」中创建一个变量,名称为 override.js 中的参数名,但将所有「.」替换为「_」。
SVP 用户定义选项中 override.js 参数映射
用下划线映射 override.js 参数

例如,如果想修改配置文件中的 smooth.scene.limits.m1,请添加以下参数:

  • 标题:「Mi limit」
  • 脚本名称:smooth_scene_limits_m1
  • 选项范围:「FRC 配置」
  • 允许值:0,500,1000,2000,4000
SVP 用户自定义参数示例
用户自定义参数配置示例