YaoFANGUK / video-subtitle-remover

基于AI的图片/视频硬字幕去除、文本水印去除,无损分辨率生成去字幕、去水印后的图片/视频文件。无需申请第三方API,本地实现。AI-based tool for removing hard-coded subtitles and text-like watermarks from videos or Pictures.
Apache License 2.0
3.25k stars 431 forks source link

简体中文 | English

项目简介

License python version support os

Video-subtitle-remover (VSR) 是一款基于AI技术,将视频中的硬字幕去除的软件。 主要实现了以下功能:

demo.png

使用说明:

下载地址:

Windows GPU版本v1.1.0(GPU):

仅供具有Nvidia显卡的用户使用(AMD的显卡不行)

演示

demo2.gif

demo.gif

源码使用说明

无Nvidia显卡请勿使用本项目,最低配置:

GPU:GTX 1060或以上显卡

CPU: 支持AVX指令集

1. 下载安装Miniconda

2. 创建并激活虚机环境

(1)切换到源码所在目录:

cd <源码所在目录>

例如:如果你的源代码放在D盘的tools文件下,并且源代码的文件夹名为video-subtitle-remover,就输入 cd D:/tools/video-subtitle-remover-main

(2)创建激活conda环境

conda create -n videoEnv python=3.8
conda activate videoEnv

3. 安装依赖文件

请确保你已经安装 python 3.8+,使用conda创建项目虚拟环境并激活环境 (建议创建虚拟环境运行,以免后续出现问题)

4. 运行程序

python gui.py
python ./backend/main.py

常见问题

  1. 提取速度慢怎么办

修改backend/config.py中的参数,可以大幅度提高去除速度

MODE = InpaintMode.STTN  # 设置为STTN算法
STTN_SKIP_DETECTION = True # 跳过字幕检测,跳过后可能会导致要去除的字幕遗漏或者误伤不需要去除字幕的视频帧
  1. 视频去除效果不好怎么办

修改backend/config.py中的参数,尝试不同的去除算法,算法介绍

  • InpaintMode.STTN 算法:对于真人视频效果较好,速度快,可以跳过字幕检测
  • InpaintMode.LAMA 算法:对于图片效果最好,对动画类视频效果好,速度一般,不可以跳过字幕检测
  • InpaintMode.PROPAINTER 算法: 需要消耗大量显存,速度较慢,对运动非常剧烈的视频效果较好
MODE = InpaintMode.STTN  # 设置为STTN算法
# 相邻帧数, 调大会增加显存占用,效果变好
STTN_NEIGHBOR_STRIDE = 10
# 参考帧长度, 调大会增加显存占用,效果变好
STTN_REFERENCE_LENGTH = 10
# 设置STTN算法最大同时处理的帧数量,设置越大速度越慢,但效果越好
# 要保证STTN_MAX_LOAD_NUM大于STTN_NEIGHBOR_STRIDE和STTN_REFERENCE_LENGTH
STTN_MAX_LOAD_NUM = 30

如果对模型去字幕的效果不满意,可以查看design文件夹里面的训练方法,利用backend/tools/train里面的代码进行训练,然后将训练的模型替换旧模型即可

  1. CondaHTTPError

将项目中的.condarc放在用户目录下(C:/Users/<你的用户名>),如果用户目录已经存在该文件则覆盖

解决方案:https://zhuanlan.zhihu.com/p/260034241

  1. 7z文件解压错误

解决方案:升级7-zip解压程序到最新版本

  1. 4090使用cuda 11.7跑不起来

解决方案:改用cuda 11.8

pip install torch==2.1.0 torchvision==0.16.0 --index-url https://download.pytorch.org/whl/cu118

赞助

捐赠者 累计捐赠金额 赞助席位
坤V 400.00 RMB 金牌赞助席位
Jenkit 200.00 RMB 金牌赞助席位
麦格 100.00 RMB 金牌赞助席位
无痕 100.00 RMB 金牌赞助席位
wr 100.00 RMB 金牌赞助席位
100.00 RMB 金牌赞助席位
TalkLuv 50.00 RMB 银牌赞助席位
陈凯 50.00 RMB 银牌赞助席位
Tshuang 20.00 RMB 银牌赞助席位
很奇异 15.00 RMB 银牌赞助席位
何斐 10.00 RMB 铜牌赞助席位
老猫 8.80 RMB 铜牌赞助席位
伍六七 7.77 RMB 铜牌赞助席位
长缨在手 6.00 RMB 铜牌赞助席位
无忌 6.00 RMB 铜牌赞助席位
Stephen 2.00 RMB 铜牌赞助席位
Leo 1.00 RMB 铜牌赞助席位