实时补帧+提升画质~ Archlinux 使用 Vapoursynth 插件 MVTools/RIFE 实时补帧,使用 Anime4K 实时超分

12 个月前(已编辑)
这篇文章上次修改于 11 个月前,可能部分内容已经不适用,如有疑问可询问作者。

0.前言

这里有一键配置方案了
vapoursynth plugin rife ncnn vulkan 的错误已经不需要修复 只需从 aur 安装 vapoursynth-plugin-rife-ncnn-vulkan-git 并配置 vpy 即可
Windows 已经有了一键解决方案 mpv-lazy
但 Linux 就需要手动配置啦 本文会教你如何干爆电脑硬件猛超画质帧率成为盯帧
另外,RIFE 实时补帧对于 Linux 基本上是没什么用的 配置好之后建议使用命令行补帧 笔者的 RTX3070Laptop 成功把 24f/s 的动画实时补到了 20f/s

1.安装 mpv-vapoursynth,使用 mvtools 进行实时补帧

1.由于 AUR 中 mpv 并不自带 vapoursynth,所以我们需要移除 mpv,安装 mpv-vapoursynth

2.接下来安装 vapoursynth mvtools 插件

3.接下来你需要选择一个 vpy,以启用 mvtools 补帧

这里推荐phiresky的范本

4.这个 vpy 在 Linux 中有些小问题,我们将它修改

在第 10 行中,把 core = vapoursynth.get_core() 替换为 core = vapoursynth.core

5.编辑 ~/.config/mpv/mpv.conf 填入基本播放参数

6.编辑 ~/.config/mpv/input.conf,设定启用 mvtools 的快捷键

这样 x 就成为了 启用 mvtools 的快捷键 你可以修改为自己想要的

7.如果你想要一打开/调用 mpv 播放视频就启用 mvtools 进行补帧,在mpv.conf中加入这些内容

8.修改你的目标帧数

motioninterpolation.vpy文件中
dst_fps = display_fps 设定了目标帧数等于你屏幕的显示帧数
这会对带有高刷新率屏幕的电脑带给很高压力(CPU:你礼貌吗)
如果你想把它改成 60 帧
只需把 display_fps 修改为 60 即可

9.确认修改是否成功

1.打开任意一帧率不足 60 帧的视频

2.按下你设置的启用 mvtools 的快捷键(x)

3.按下 shift+i 查看显示信息 已经能看出来了吧


补帧效果

2.加入 Anime4K 着色器实时超分

1.获取 GLSL 并复制到 mpv 的 shaders 目录

2.在 ~/.config/mpv/input.conf 写入快捷键

平常的动漫超分只需要 CTRL+4 就够了 清除着色器只需 CTRL+0

3.按下 shift+i 查看效果


超分效果

3.使用 RIFE(不建议)

RIFE 对于显卡的要求十分高,虽然效果较好但通常仅用于补帧后观看
这里给出 RIFE 进行实时补帧的用法

如果你直接在 AUR 中安装vapoursynth-plugin-rife-ncnn-vulkan-git,会有不能 build 的错误 参考这里

1.安装 vulkan-headers meson

2.安装 VapourSynth-RIFE-ncnn-Vulkan

3.它报错了

4.全剧终 我们修复一下这个报错

这个报错是 -fno-exceptions 引起的 (我不懂 cmake,有其他想法欢迎批评指正)
Linux 下确实会出现这个问题

1.进入 ~/VapourSynth-RIFE-ncnn-Vulkan/build/ninja.build

2.把里面的 -fno-exceptions 全部替换为空 (使用你的 IDE) 虽说颇为暴力,但实际上 -fno-exceptions 这种东西有点过于极端了全删掉也大丈夫

3.继续安装

5.写一份 vpy 放入 ~/.config/mpv/xxx.vpy

这里给出一个示例仅供参考

6.在 ~/.config/mpv/input.conf 写入快捷键调用这个 vpy

7.如此就成功了,但是否能做到实时补帧我暂且蒙古不太清楚

评论区加载中...