简体中文 | English
Video-subtitle-remover (VSR) 是一款基于AI技术,将视频中的硬字幕去除的软件。 主要实现了以下功能:
- 无损分辨率将视频中的硬字幕去除,生成去除字幕后的文件
- 通过超强AI算法模型,对去除字幕文本的区域进行填充(非相邻像素填充与马赛克去除)
- 支持自定义字幕位置,仅去除定义位置中的字幕(传入位置)
- 支持全视频自动去除所有文本(不传入位置)
- 支持多选图片批量去除水印文本
使用说明:
- 有使用问题请加群讨论,QQ群:806152575
- 直接下载压缩包解压运行,如果不能运行再按照下面的教程,尝试源码安装conda环境运行
下载地址:
Windows GPU版本v1.1.0(GPU):
-
百度网盘: vsr_windows_gpu_v1.1.0.zip 提取码:vsr1
-
Google Drive: vsr_windows_gpu_v1.1.0.zip
仅供具有Nvidia显卡的用户使用(AMD的显卡不行)
- GUI版:
无Nvidia显卡请勿使用本项目,最低配置:
GPU:GTX 1060或以上显卡
CPU: 支持AVX指令集
(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
请确保你已经安装 python 3.8+,使用conda创建项目虚拟环境并激活环境 (建议创建虚拟环境运行,以免后续出现问题)
-
安装CUDA和cuDNN
Linux用户
wget https://developer.download.nvidia.com/compute/cuda/11.7.0/local_installers/cuda_11.7.0_515.43.04_linux.run
sudo sh cuda_11.7.0_515.43.04_linux.run
1. 输入accept
2. 选中CUDA Toolkit 11.7(如果你没有安装nvidia驱动则选中Driver,如果你已经安装了nvidia驱动请不要选中driver),之后选中install,回车
3. 添加环境变量
在 ~/.bashrc 加入以下内容
# CUDA export PATH=/usr/local/cuda-11.7/bin${PATH:+:${PATH}} export LD_LIBRARY_PATH=/usr/local/cuda-11.7/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
使其生效
source ~/.bashrc
国内:cudnn-linux-x86_64-8.4.1.50_cuda11.6-archive.tar.xz 提取码:57mg
国外:cudnn-linux-x86_64-8.4.1.50_cuda11.6-archive.tar.xz
tar -xf cudnn-linux-x86_64-8.4.1.50_cuda11.6-archive.tar.xz mv cudnn-linux-x86_64-8.4.1.50_cuda11.6-archive cuda sudo cp ./cuda/include/* /usr/local/cuda-11.7/include/ sudo cp ./cuda/lib/* /usr/local/cuda-11.7/lib64/ sudo chmod a+r /usr/local/cuda-11.7/lib64/* sudo chmod a+r /usr/local/cuda-11.7/include/*
Windows用户
cuda_11.7.0_516.01_windows.execudnn-windows-x64-v8.2.4.15.zip
将cuDNN解压后的cuda文件夹中的bin, include, lib目录下的文件复制到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.7\对应目录下
-
安装GPU版本Paddlepaddle:
-
windows:
python -m pip install paddlepaddle-gpu==2.4.2.post117 -f https://www.paddlepaddle.org.cn/whl/windows/mkl/avx/stable.html
-
Linux:
python -m pip install paddlepaddle-gpu==2.4.2.post117 -f https://www.paddlepaddle.org.cn/whl/linux/mkl/avx/stable.html
-
-
安装GPU版本Pytorch:
conda install pytorch==2.0.1 torchvision==0.16.0 pytorch-cuda=11.8 -c pytorch -c nvidia
或者使用
pip install torch==2.0.1 torchvision==0.16.0 --index-url https://download.pytorch.org/whl/cu118
-
安装其他依赖:
pip install -r requirements.txt
- 运行图形化界面
python gui.py
- 运行命令行版本(CLI)
python ./backend/main.py
- 提取速度慢怎么办
修改backend/config.py中的参数,可以大幅度提高去除速度
MODE = InpaintMode.STTN # 设置为STTN算法
STTN_SKIP_DETECTION = True # 跳过字幕检测,跳过后可能会导致要去除的字幕遗漏或者误伤不需要去除字幕的视频帧
- 视频去除效果不好怎么办
修改backend/config.py中的参数,尝试不同的去除算法,算法介绍
- InpaintMode.STTN 算法:对于真人视频效果较好,速度快,可以跳过字幕检测
- InpaintMode.LAMA 算法:对于图片效果最好,对动画类视频效果好,速度一般,不可以跳过字幕检测
- InpaintMode.PROPAINTER 算法: 需要消耗大量显存,速度较慢,对运动非常剧烈的视频效果较好
- 使用STTN算法
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
- 使用LAMA算法
MODE = InpaintMode.LAMA # 设置为STTN算法
LAMA_SUPER_FAST = False # 保证效果
如果对模型去字幕的效果不满意,可以查看design文件夹里面的训练方法,利用backend/tools/train里面的代码进行训练,然后将训练的模型替换旧模型即可
- CondaHTTPError
将项目中的.condarc放在用户目录下(C:/Users/<你的用户名>),如果用户目录已经存在该文件则覆盖
解决方案:https://zhuanlan.zhihu.com/p/260034241
- 7z文件解压错误
解决方案:升级7-zip解压程序到最新版本
- 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 | 金牌赞助席位 |
陈凯 | 50.00 RMB | 银牌赞助席位 |
Tshuang | 20.00 RMB | 银牌赞助席位 |
很奇异 | 15.00 RMB | 银牌赞助席位 |
何斐 | 10.00 RMB | 铜牌赞助席位 |
老猫 | 8.80 RMB | 铜牌赞助席位 |
长缨在手 | 6.00 RMB | 铜牌赞助席位 |
Stephen | 2.00 RMB | 铜牌赞助席位 |
Leo | 1.00 RMB | 铜牌赞助席位 |