音视频#视频剪辑#图片编辑

VSR:用 AI 把视频里的硬字幕擦掉,再把背景补回来

VSR 用 PaddleOCR 定位硬字幕,再用 LAMA、STTN 或 ProPainter 补画背景,本地运行、无损分辨率,Apache-2.0。

项目资料

GitHub Ecosystem
仓库地址github.com/YaoFANGUK/video-subtitle-remover
许可证
Apache-2.0
主语言
Python
星标
13,360
核查时间
2026-10-20

以上快照资料以核查当日为准,可能随版本或运营策略变化。

VSR 桌面界面:左侧是带绿色字幕识别框的视频预览,右侧是处理模型、字幕检测与硬件加速选项

视频里烧死的硬字幕,靠裁剪或模糊处理总归会留下痕迹。Video-subtitle-remover(VSR)换了个思路:先用 PaddleOCR 找到字幕位置,再用图像修复模型把字幕盖住的背景补出来,输出的分辨率与原视频一致,不是把那一块糊掉或打马赛克。它完全本地运行,不需要申请第三方 API,支持 Windows、macOS、Linux 与 Docker。项目 Apache-2.0 开源,主要语言 Python,截至 2026-10-20 有 13,360 颗星。

VSR 桌面界面:左侧是带绿色字幕识别框的视频预览,右侧是处理模型、字幕检测与硬件加速选项

核心功能

  • 先定位,再补画:PaddleOCR 负责识别硬字幕区域,修复阶段可选 STTN、LAMA、ProPainter 或 OpenCV,默认是 sttn-auto。思路是从「删字」变成「补画」,所以纯色或静态背景几乎看不出痕迹。
  • 无损分辨率:输出文件与原视频同分辨率,不是降采样或涂抹。
  • 两种范围:可以指定字幕位置,只处理那一条区域;也可以不传位置,自动去除全视频所有文本。
  • 图片也能用:支持多选图片批量去除水印文本。
  • 预构建包按显卡分档:Windows 提供 CPU、DirectML(非 NVIDIA 显卡)以及 CUDA 11.8 / 12.6 / 12.8 五个版本,按显卡的计算能力选;Docker 镜像也按 10/20/30 系、40 系、50 系与 AMD/Intel 分开。
  • 可配合 VSE:需要先提取字幕再处理的话,可以和同作者的 video-subtitle-extractor 搭配使用。

典型使用场景

  • 搬运或二创视频要去掉原字幕:换成自己的字幕或配音,不必再裁掉画面底部。
  • 处理下载素材里的硬字幕:本地跑,素材不上传。
  • 批量去图片水印:同一套修复模型也能处理静态图。
  • 做数据集清洗:去掉视频里的文字信息,避免模型学到字幕。

快速上手

最省事的是直接下预构建包解压运行。Windows 按显卡选对应版本:没有 NVIDIA 显卡用 vsr-windows-directml.7z,30 系及更早用 vsr-windows-nvidia-cuda-11.8.7z,40 系用 vsr-windows-nvidia-cuda-12.6.7z,50 系用 vsr-windows-nvidia-cuda-12.8.7z。也可以用 Docker:

# NVIDIA 40 系显卡
docker run -it --name vsr --gpus all eritpchy/video-subtitle-remover:1.4.0-cuda12.6 \
  python backend/main.py -i test/test.mp4 -o test/test_no_sub.mp4

命令行还可以指定修复模式:--inpaint-mode {sttn-auto,sttn-det,lama,propainter,opencv},默认 sttn-auto。要自己搭环境则需要 Python 3.11+ 与 PaddlePaddle 3.0.0。

小结

适合需要去掉硬字幕或图片水印、又不想把素材上传到在线服务的人。不适合期待「一键完美」的人:效果很看素材——纯色或静态背景几乎无痕,复杂纹理、大幅度运动或大面积遮挡仍可能留下修复痕迹。

需要注意的几点:项目最近一次推送是 2026-06-30,之后没有新提交,属于阶段性完成而非持续活跃;运行依赖 GPU 才有可接受的速度,CPU 模式会慢很多;Windows 预构建包按 CUDA 版本分档,选错版本会跑不起来。Python,Apache-2.0,13,360 星。做视频的另一头可以看本站的 Huashu Motion,那个是把动效做出来,这里是把已有的字幕去掉。