video-subtitle-remover
本地 AI 一键去除视频硬字幕和水印,支持 CUDA/GPU 加速,画质无损
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
本地 AI 一键去除视频硬字幕和水印,支持 CUDA/GPU 加速,画质无损
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象这样一个场景:你在网上找到了一段绝版的教学视频,画面清晰、内容珍贵,但屏幕底部有一行永远去不掉的硬字幕——这是上传者加的版权信息,挡在画面上让人分心。以往的解决方案是重新录制屏幕,或者忍受画质损失重新压缩。而现在,一款名为 VSR(Video Subtitle Remover) 的开源工具可以让这一切在本地完成,无需联网、无需付费 API,画质无损。
这款工具在 GitHub 上已获得超过 11,000 颗星,被翻译为 7 种语言(简体中文、繁体中文、英语、韩语、日语、越南语、西班牙语),社区活跃度极高。
VSR 的核心不是单一模型,而是一套模块化的 AI 修复管线。它将视频去字幕任务拆解为三个关键步骤:字幕区域检测 → 修复模型填充 → 视频重新编码。
字幕检测由 PaddleOCR 负责——它能精确定位硬字幕和水印的像素范围。用户可以在 GUI 中手动框选字幕区域(支持多区域),也可以让 AI 自动扫描并标注。
修复填充是技术含量最高的部分。VSR 内置了 4 种修复模型:
| 模型 | 适用场景 | 速度 | 显存需求 |
|---|---|---|---|
| STTN-Auto | 自动化处理,通用场景 | 快 | 中 |
| STTN-Det | 精确标注区域 | 中 | 中 |
| LaMa | 高质量静态图像填充 | 慢 | 高 |
| ProPainter | 视频时序一致性修复 | 慢 | 高 |
每种模型针对不同的去字幕场景做了优化。STTN 系列适合处理连续字幕(电视剧、综艺节目底部滚动字幕),LaMa 在静态图片水印去除上效果最佳,而 ProPainter 则利用光流算法保持修复区域在时间维度上的连贯性,避免闪烁。
图1:VSR 项目图标
VSR 的技术选型非常务实:Python + PySide6 构建跨平台 GUI,前端界面采用了 Fluent Design 风格的 qfluentwidgets 组件库,让界面在 Windows 和 macOS 上都有原生感。核心推理部分:
代码结构清晰:backend/ 目录承载核心逻辑(main.py 是主流程,inpaint/ 下是各个修复模型的实现),ui/ 目录管理 PySide6 界面组件,tools/ 下是硬件加速、字幕检测等辅助模块。
VSR 强烈建议使用 NVIDIA GPU,在 RTX 3060 及以上的显卡上运行流畅。显存需求取决于修复模型——LaMa 和 ProPainter 需要 4GB+ 显存;使用 CPU 模式也可以运行,但速度会显著变慢。
项目提供了完整的 Dockerfile,支持 4 种硬件后端一键切换:
部署时只需一行命令即可拉起带 GUI 的容器:
docker run --gpus all -v /你的视频目录:/workspace -p 8050:8050 ghcr.io/yaofanguk/video-subtitle-remover
图2:VSR 处理前后对比效果
VSR 并非万能。首先,它只能处理硬字幕(直接烧录在视频帧中的字幕),无法去除软字幕(封装在字幕轨道的 .srt/.ass 文件)。其次,当字幕区域与主体画面内容重叠度较高时(如字幕与人物面部重叠),AI 修复会出现瑕疵,需要手动调整修复区域。
此外,由于涉及大模型推理,首次运行会下载模型权重(总大小约数百 MB),需要稳定的网络连接。FFmpeg 的安装也是必要的前置依赖。
VSR 代表的趋势是本地化 AI 工具的普及化。过去需要云端 API(阿里云、腾讯云视频处理)才能完成的去字幕任务,现在任何有 GPU 的普通用户都能在本地实现。这种民主化降低了内容创作者的工作成本,也为视频修复领域的研究者提供了可复现的基准工具。
当前版本 v1.4.0 的开发重点是提升修复质量和处理速度,未来可能引入更多视频修复能力(如划痕修复、老电影修复等)。作为一个持续活跃维护的开源项目,VSR 的 issue 区和 PR 区都有社区贡献者参与改进。