AI去除视频水印
Video-subtitle-remover
项目简介
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. 下载安装Miniconda
2. 创建并激活虚机环境
(1)切换到源码所在目录:
1 | cd <源码所在目录> |
例如:如果你的源代码放在D盘的tools文件下,并且源代码的文件夹名为video-subtitle-remover,就输入
cd D:/tools/video-subtitle-remover-main
(2)创建激活conda环境
1 | conda create -n videoEnv python=3.8 |
1 | conda activate videoEnv |
3. 安装依赖文件
请确保你已经安装 python 3.8+,使用conda创建项目虚拟环境并激活环境 (建议创建虚拟环境运行,以免后续出现问题)
-
安装CUDA和cuDNN
Linux用户
(1) 下载CUDA 11.7
wget https://developer.download.nvidia.com/compute/cuda/11.7.0/local_installers/cuda_11.7.0_515.43.04_linux.run
(2) 安装CUDA 11.7
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
(3) 下载cuDNN 8.4.1
国内: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
(4) 安装cuDNN 8.4.1
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用户
(1) 下载CUDA 11.7
cuda_11.7.0_516.01_windows.exe(2) 安装CUDA 11.7
(3) 下载cuDNN 8.2.4
cudnn-windows-x64-v8.2.4.15.zip
(4) 安装cuDNN 8.2.4
将cuDNN解压后的cuda文件夹中的bin, include, lib目录下的文件复制到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.7\对应目录下
-
安装GPU版本Paddlepaddle:
-
windows:
1
python -m pip install paddlepaddle-gpu==2.4.2.post117 -f https://www.paddlepaddle.org.cn/whl/windows/mkl/avx/stable.html
-
Linux:
1
python -m pip install paddlepaddle-gpu==2.4.2.post117 -f https://www.paddlepaddle.org.cn/whl/linux/mkl/avx/stable.html
-
-
安装GPU版本Pytorch:
1
conda install pytorch==2.0.1 torchvision==0.16.0 pytorch-cuda=11.8 -c pytorch -c nvidia
或者使用
1
pip install torch==2.0.1 torchvision==0.16.0 --index-url https://download.pytorch.org/whl/cu118
-
安装其他依赖:
1
pip install -r requirements.txt
4. 运行程序
- 运行图形化界面
1 | python gui.py |
- 运行命令行版本(CLI)
1 | python ./backend/main.py |
常见问题
- 提取速度慢怎么办
修改backend/config.py中的参数,可以大幅度提高去除速度
1 | MODE = InpaintMode.STTN # 设置为STTN算法 |
- 视频去除效果不好怎么办
修改backend/config.py中的参数,尝试不同的去除算法,算法介绍
- InpaintMode.STTN 算法:对于真人视频效果较好,速度快,可以跳过字幕检测
- InpaintMode.LAMA 算法:对于图片效果最好,对动画类视频效果好,速度一般,不可以跳过字幕检测
- InpaintMode.PROPAINTER 算法: 需要消耗大量显存,速度较慢,对运动非常剧烈的视频效果较好
- 使用STTN算法
1 | MODE = InpaintMode.STTN # 设置为STTN算法 |
- 使用LAMA算法
1 | MODE = InpaintMode.LAMA # 设置为STTN算法 |
如果对模型去字幕的效果不满意,可以查看design文件夹里面的训练方法,利用backend/tools/train里面的代码进行训练,然后将训练的模型替换旧模型即可
- CondaHTTPError
将项目中的.condarc放在用户目录下(C:/Users/<你的用户名>),如果用户目录已经存在该文件则覆盖
解决方案:https://zhuanlan.zhihu.com/p/260034241
- 7z文件解压错误
解决方案:升级7-zip解压程序到最新版本
- 4090使用cuda 11.7跑不起来
解决方案:改用cuda 11.8
1 | pip install torch==2.1.0 torchvision==0.16.0 --index-url https://download.pytorch.org/whl/cu118 |