xy-VSFilter 选型与安装指南:VSFilter.dll 还是 XySubFilter.dll?
【免费下载链接】xy-VSFilterxy-VSFilter项目地址: https://gitcode.com/gh_mirrors/xyvs/xy-VSFilter
老版 VSFilter 放 ASS 字幕时,卡拉OK、描边、透明渐变这些特效经常打不开,字体发虚、位置飘移;换到几小时的长片或直播流,字幕时间还会慢慢往后漂。这些问题背后,大多是字幕滤镜本身不够新。xy-VSFilter 是一个仍在维护的 Windows 字幕渲染滤镜,把 SSA/ASS、VobSub、SRT、WebVTT 等常见格式交给 DirectShow 播放器渲染,同时也作为 Avisynth 插件参与视频处理。
xy-VSFilter 是什么:一个维护中的字幕渲染滤镜
结论:它解决"字幕显示不正确、不正确同步、播放器不认字幕"三类问题,提供 VSFilter.dll 和 XySubFilter.dll 两个入口,均含 x86 与 x64 版本。
- 版本线:当前 README 标注 v3.2.0.810(2024-01-23),由 pinterf 基于 Cyberbeing 的 xy_sub_filter_rc5 分支维护,修复了作为外部 DirectVobSub 加载/释放时的崩溃等回归问题。
- 定位:播放器一侧是 DirectShow 视频变换滤镜;剪辑一侧是 Avisynth 滤镜集合(VobSub、TextSub、TextSubSwapUV、MaskSub)。
- 源码:src/ 下按模块拆分,subtitles 负责解析,subpic 负责把字幕合成到画面,filters 负责 DirectShow 与 Avisynth 接口。
支持的格式一览:文本、图像与流内字幕都能读
结论:覆盖日常使用的绝大多数字幕格式,图像型与特效型字幕都能正常加载。
- 文本类:UTF-8 文本(含 SRT)、WebVTT(含片内嵌入流)、SSA/ASS。
- 图像型:VobSub(.sub/.idx/.ifo)。
- 流内字幕:DVB(.sup)、HDMV。
- 特效与样式:卡拉OK、阴影、描边、透明渐变、自定义颜色与对齐,均走 ASS 标签解析路径。
- 图像/特效之外,还带一个 SSF 解析入口,适合需要按规格渲染的场合。
安装与快速上手:先装对 DLL,再跑一次安装脚本
结论:从发布包取到对应位数 DLL,XySubFilter 首次使用必须执行 Install 脚本,而不是只替换文件。
git clone https://gitcode.com/gh_mirrors/xyvs/xy-VSFilter- 播放器场景:把 XySubFilter.dll 放到播放器目录,并执行包内 Install 脚本,否则外部字幕的自动加载辅助不会注册进播放图。
- 剪辑场景:把 VSFilter.dll 放进 Avisynth 插件目录,脚本里即可调用 TextSub 等滤镜。
- 源码场景:编译顺序见 docs/HowToCompile.txt(decss → dsutil → ui → subpic → subtitles → filters),需要 DirectX 9 SDK、Platform SDK 与 Windows Media Format SDK 9;版本号在 src/filters/transform/vsfilter/version_in.h 手动维护,仓库根目录的 build_vsfilter.sh 可自动写入版本。
技术亮点:64 位时间戳、SSE2 与高码位支持
- 内部时间戳换为 64 位 REFERENCE_TIME(每 100 纳秒计 1 个单位的 Windows 时间值),超长片与直播流不再出现"时间漂移"。
- SSE2 指令集无条件开启(SSE2 是 2001 年后 x86 处理器的标准指令集,现代 Windows 机器均带),解码与渲染路径按此优化。
- 原生支持 10/16 位高码位格式:YV16、YV24、P210、P216、YUV420P10、YUV420P16,Avisynth 滤镜 TextSub 也直接可用,HDR 链路下字幕不再被压成 8 位。
- BT.2020 色域支持,配合高码位格式覆盖更广的显示范围。
- 字幕图片走"缓存 + 线程"生成,动画特效按帧切分,避免重渲染拖慢播放。
- 外部字幕与视频同目录即可自动加载,无需手动挂载。
怎么选模块,以及两个常见误区
结论:日常播放器选 XySubFilter.dll,剪辑/压字幕选 VSFilter.dll 里的 Avisynth 滤镜,两条路不冲突。
- XySubFilter.dll:面向 MPC-HC 一类 DirectShow 播放器,外部字幕自动加载、渲染路径更干净。
- VSFilter.dll:兼容老 DirectVobSub 接口,也承担 Avisynth 插件角色;TextSub 可烧入 10/16 位视频帧。
- 误区一:把 XySubFilter.dll 直接复制过去就行——必须跑 Install 脚本,否则外部字幕进不了播放图。
- 误区二:位数混用。x64 播放器配 x64 DLL,x86 播放器配 x86 DLL,混装会导致加载失败或被静默忽略。
- 维护状态:README 与 Change log 持续更新,v810 之后仍在跟进 Cyberbeing 主线与 MPC-HC 侧的修复,遇到问题优先看仓库的 Change log 与 issue 区。
需要一份能放进 MPC-HC 或 Avisynth 的成品字幕方案,先按上面步骤装一次 XySubFilter,再按"格式一览"核对你的字幕文件——能跑通这两步,后续基本不用再来回折腾。
【免费下载链接】xy-VSFilterxy-VSFilter项目地址: https://gitcode.com/gh_mirrors/xyvs/xy-VSFilter
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考