安装
SVP 需要通过你发行版的软件包管理器安装下列组件:
- lsof 命令行工具
- libxcb-cursor0
- OpenSSL >= 3.0
- 带 OpenCL(如 nvidia-opencl)和 Vulkan 支持的专有显卡驱动
- 显卡对应的 VAAPI 和/或 VDPAU 驱动
# Ubuntu/Debian
sudo apt-get install lsof libxcb-cursor0 libva-x11
# Arch
pacman -S lsof
用 SVP 自带的安装程序来安装:它通过预编译模块简化了一切,而且你总能拿到最新的更新。不推荐使用第三方的 SVP 软件包。
下列组件可以由你自行安装,也可以让 SVP 下载预编译版本并安装到 SVP 文件夹本地。你可以随时通过维护工具(Maintenance)安装或移除其中任何一个:
- Qt >= 6.8
- VapourSynth >= R60
- Python 3.12(注意:不是 >=3.12,而是特指 3.12!)
- 带 VapourSynth 支持编译的 mpv 播放器
- ffmpeg 程序(任意版本)
- MKVToolNix 中的 mkvmerge(任意版本)
- NVIDIA TensorRT 运行时
你还需要一个视频播放器:
# SMPlayer
sudo add-apt-repository ppa:rvm/smplayer
sudo apt-get update
sudo apt-get install smplayer smplayer-themes smplayer-skins
# VLC
sudo apt-get install vlc
不支持 Snap/Flatpak:目前没有办法让 SVP 与 Snap 或 Flatpak 应用(比如 Snap 版 VLC、Flatpak 版 Plex)配合使用。
mpv 配置
不要通过软件包管理器安装 mpv:那样行不通!请使用提供的预编译版本,或者自己编译。
如果你安装的是预编译 mpv,正确的配置文件已经就位。
否则只需把 –input-ipc-server=/tmp/mpvsocket 加到 mpv 的启动参数(或配置文件)里,SVP 就能找到它。也可以通过 SVPManager “打开”视频文件 —— 它会带上正确的参数执行 mpv。
由于 VapourSynth 处理需要“copy-back”类视频解码器,你还必须加上 –hwdec=auto-copy。
VLC 配置
不支持 Snap/Flatpak 版 VLC:SVP 假设 VLC 安装在 /usr/bin、/usr/lib 等位置。SVP 无法与 Snap 或 Flathub 安装的 VLC 配合工作!
SVP 的 VLC 插件会替换内置的“postproc”滤镜。为了能从 SVP 主菜单快速切换它们,你可能需要修改 VLC 插件文件夹的访问权限:
sudo chmod 777 /usr/lib/vlc/plugins/video_filter
# 或者(例如 Ubuntu 17.04)
sudo chmod 777 /usr/lib/x86_64-linux-gnu/vlc/plugins/video_filter
然后通过 SVP 主菜单 → Utilities → SVP in VLC 来“安装”或“卸载”SVP 的插件。
如果这招不灵,就把插件路径(例如“/usr/lib/vlc/plugins”)手动填进 SVP「所有设置」(All settings)面板里的 main.setup.vlc.plugins 属性。
注意:硬件解码可能与 VapourSynth 滤镜不兼容。
从源码编译 mpv
如果你出于某种原因不喜欢预编译的 mpv,完全可以自己编译。
从“mpv-build”脚本开始。唯一必须的选项是“vapoursynth=enabled”。
# 安装依赖:如需额外的 ffmpeg/mpv 编解码器和功能,请自行追加
sudo apt-get install libssl-dev libfribidi-dev libharfbuzz-dev libluajit-5.1-dev libx264-dev xorg-dev libxpresent-dev libegl1-mesa-dev libfreetype-dev libfontconfig-dev libffmpeg-nvenc-dev libva-dev libdrm-dev libplacebo-dev
# 音频输出至少需要其中之一
sudo apt-get install libasound2-dev libpulse-dev
git clone https://github.com/mpv-player/mpv-build.git
cd mpv-build
./use-ffmpeg-release
# 最小化安装,可按需向 ffmpeg_options 和 mpv_options 追加更多选项
# 参见 https://www.svp-team.com/forum/viewtopic.php?pid=80787#p80787
echo --enable-libx264 >> ffmpeg_options
echo --enable-libx265 >> ffmpeg_options
echo --enable-nvdec >> ffmpeg_options
echo --enable-vaapi >> ffmpeg_options
echo -Dvapoursynth=enabled >> mpv_options
echo -Dlibmpv=true >> mpv_options
./rebuild -j4
sudo ./install
cd ..
问题与疑难
VapourSynth 报错
SVP 预编译的 mpv 使用预编译的 VapourSynth R72,“开箱即用”。
不过你也许想用系统级安装的更新版本(如 R80+)。这种情况下请仔细按照 VapourSynth 安装说明操作,包括设置 $VSSCRIPT_PATH 并运行“vapoursynth config”。
报错“unable to find mpv’s pid”
SVP 用 lsof 工具来查找本地套接字另一端的 mpv 实例,请确保 lsof 已安装。
托盘图标缺失 / 不工作
Qt 实现系统托盘图标/菜单的方式与某些显示管理器可能存在不兼容,导致托盘图标完全不可用。SVP 在某些系统上默认不带托盘图标运行,但可以用 -tray 命令行参数切换到 Windows 式行为。
缺少 GPU 加速
要用 GPU 加速,请使用专有显卡驱动,可能还需要一些额外组件:
- N 卡:OpenCL 要工作需要“nvidia-opencl”或“opencl-nvidia”软件包。可用 utils/clinfo 检查。
- A 卡:GPU 加速可能需要额外的驱动组件 —— 搜索“image support”。
检测到的屏幕刷新率不对
与 Windows 版不同,SVP 4 Linux 不会实测屏幕刷新率,而是使用操作系统提供的值。对 59.xxx Hz 的屏幕,这个值经常被舍入成“59.0”,于是你会得到次优的 FRC 帧率。要避免这个问题,请使用固定的“Movie x2.5”目标帧率。