python 视频硬字幕去除 内嵌字幕去除工具 vsr
项目简介
开源地址:https://github.com/YaoFANGUK/video-subtitle-remover
Video-subtitle-remover (VSR) 是一款基于AI技术,将视频中的硬字幕去除的软件。
主要实现了以下功能:
- 无损分辨率将视频中的硬字幕去除,生成去除字幕后的文件
- 通过超强AI算法模型,对去除字幕文本的区域进行填充(非相邻像素填充与马赛克去除)
- 支持自定义字幕位置,仅去除定义位置中的字幕(传入位置)
- 支持全视频自动去除所有文本(不传入位置)

直接下载压缩包解压运行,如果不能运行再按照下面的教程,尝试源码安装conda环境运行
下载地址:
Windows GPU版本v1.0.0(GPU):
-
百度网盘: vsr_windows_gpu_v1.0.0.7z 提取码:vsr1
-
Google Drive: vsr_windows_gpu_v1.0.0.7z
仅供具有Nvidia显卡的用户使用(AMD的显卡不行)
演示
- GUI版:点击查看演示视频
源码使用说明
无Nvidia显卡请勿使用本项目,最低配置:
GPU:GTX 1060或以上显卡
CPU: 支持AVX指令集
1. 下载安装Miniconda
-
Windows: Miniconda3-py38_4.11.0-Windows-x86_64.exe
-
Linux: Miniconda3-py38_4.11.0-Linux-x86_64.sh
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创建项目虚拟环境并激活环境 (建议创建虚拟环境运行,以免后续出现问题)
-
安装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.run1. 输入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
Windows用户tar -xf cudnn-linux-x86_64-8.4.1.50_cuda11.6-archive.tar.xzmv cudnn-linux-x86_64-8.4.1.50_cuda11.6-archive cudasudo 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/*(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:
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.15.2 pytorch-cuda=11.7 -c pytorch -c nvidia或者使用
pip install torch==2.0.1 torchvision==0.15.2 --index-url https://download.pytorch.org/whl/cu117 -
安装其他依赖:
pip install -r requirements.txt
4. 运行程序
- 运行图形化界面
python gui.py
- 运行命令行版本(CLI)
python ./backend/main.py
常见问题
- CondaHTTPError
将项目中的.condarc放在用户目录下(C:/Users/<你的用户名>),如果用户目录已经存在该文件则覆盖
解决方案:https://zhuanlan.zhihu.com/p/260034241
- 7z文件解压错误
解决方案:升级7-zip解压程序到最新版本
相关文章:
python 视频硬字幕去除 内嵌字幕去除工具 vsr
项目简介 开源地址:https://github.com/YaoFANGUK/video-subtitle-remover Video-subtitle-remover (VSR) 是一款基于AI技术,将视频中的硬字幕去除的软件。 主要实现了以下功能: 无损分辨率将视频中的硬字幕去除,生成去除字幕后…...
蓝桥等考C++组别六级004
第一部分:选择题 1、C L6 (15分) 关于switch语句,以下说法正确的是( )。 A. break语句只能用于switch语句。 B. switch语句中可以使用多个default语句。 C. switch语句中只能使用一个break语句。 D. …...
SpringBoot之Swagger
文章目录 前言一、Swagger简介二、SpringBoot集成Swagger三、配置Swagger四、配置扫描接口五、配置Swagger开关六、配置API分组七、实体配置八、常用注解 前言 作为后端开放人员,最烦的事就是自己写接口文档和别人没有写接口文档,不管是前端还是后端开发…...
抖音小店新的流量变现新时代!
随着短视频平台的日益崛起,抖音小店已成为电商领域的一股不可忽视的力量。抖音小店不仅具有极高的流量优势,还为众多商家提供了一个全新的销售渠道。那么,如何才能充分利用抖音小店的优势,打造出爆款商品,实现流量变现…...
软件架构师
软件架构师在软件开发过程中扮演着至关重要的角色,其主要职责包括: 需求分析:与用户和开发团队沟通,确定软件的需求和功能。设计架构:根据需求分析,设计软件的架构,包括系统架构、数据库架构、…...
postman接口测试
postman使用 开发中经常用postman来测试接口,一个简单的注册接口用postman测试: 接口正常工作只是最基本的要求,经常要评估接口性能,进行压力测试。 postman进行简单压力测试 下面是压测数据源,支持json和csv两个格式…...
技术分享 | web自动化测试-PageObject 设计模式
为 UI 页面写测试用例时(比如 web 页面,移动端页面),测试用例会存在大量元素和操作细节。当 UI 变化时,测试用例也要跟着变化, PageObject 很好的解决了这个问题。 使用 UI 自动化测试工具时(包…...
Mall4cloud 微服务商城系统 2.0 发布
导读现在 jdk17 和 spring boot 以及 spring cloud alibaba 2022 的第三方依赖已经趋于成熟,所以 mall4cloud 也一把梭哈做了升级嗷。 本次更新重点: 系统由 jdk8 最低要求升级到 jdk17spring boot 由 2.7.x 升级到 3.1.xjavax 升级到 jakartaspring-cl…...
SpringBoot进制转换规则问题
1.填写yml文件 dataSource:driver-class-name: com.mysql.jdbc.Driver789password: 01272.测试类 package com.forever;import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.test.context.Spri…...
12.输入一个小于1000的整数,输出平方根(不是整数,输出整数部分)
#include<stdio.h> #include<math.h>int fun(int n){int b;b pow(n,0.5);printf("%d",b);}int main(){int n;scanf("%d",&n); fun(n);return 0;}...
Django框架的推导
文章目录 Web应用简介什么是Web框架?什么是Web?应用程序的两种模式Web应用程序的优缺点 手写Web框架HTTP协议的相关知识1.四大特性2.请求数据格式3.响应数据格式 手写框架 使用wsgiref模块基于wsgiref模块搭建Web框架(最初版)基于wsgiref模块搭建Web框架…...
广东开放大学:电大搜题助力学子迎考利器
近年来,广东开放大学一直致力于为广大学子提供优质的教育资源和学习服务。作为一所专注于远程教育的学府,广东开放大学不仅拥有雄厚的师资力量和丰富的教育经验,还致力于创新教学手段,为学生提供更便捷、高效的学习体验。在这个信…...
linux 7za 编译安装
本文主要介绍了在linux下安装7z命令的方法,同时介绍了7z命令的使用。7z压缩格式拥有众多优点,具有极高的压缩比率 wget https://zenlayer.dl.sourceforge.net/project/p7zip/p7zip/16.02/p7zip_16.02_src_all.tar.bz2 tar -xjvf p7zip_16.02_src_all.ta…...
【Edge】微软Edge每次启动自动导入Chrome收藏夹,无法取消“每次启动浏览器时导入浏览数据”功能的解决方法(202311)
写在前面 Edge现在也不管用户体验了吗? 这个BUG都快一个月了,还没见修复,从118.0.2088开始,我是在2023年10月份一次更新后发现的这个BUG,结果社区论坛什么信息都没有,英文也没收到。 Edge的BUG现象 不知道哪次Edge…...
报错RuntimeError: no valid convolution algorithms available in CuDNN
报错信息如下RuntimeError: no valid convolution algorithms available in CuDNN 出现这个问题既不是cuda与cudnn版本不匹配,也不是英伟达显卡驱动需要更新!而是因为你的显存过低不能训练,解决办法是使用混精度训练!!…...
JSP通用材料收集归档系统eclipse定制开发mysql数据库BS模式java编程jdbc
一、源码特点 JSP 通用材料收集归档系统是一套完善的web设计系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为TOMCAT7.0,eclipse开发,数据库为Mysql5.0,…...
网络安全-零基础小白自学要点
1.网络安全是什么 网络安全可以基于攻击和防御视角来分类,我们经常听到的 “红队”、“渗透测试” 等就是研究攻击技术,而“蓝队”、“安全运营”、“安全运维”则研究防御技术。 2.网络安全市场 一、是市场需求量高; 二、则是发展相对成熟…...
SpringCloud——服务注册——Eureka
1.Eureka概述 2.Eureka架构: Eureka中80服务要实现对8001和8002服务访问的负载均衡,需要在80服务的RestTemplate上面加LoadBalanced注解,默认采用的是轮询的策略。 3.Eureka自我保护 当一个EurekaClient注册进EurekaServer,Eurek…...
大模型时代的编码习惯
遇到问题,第一个问的再也不是百度,而是Chat-GPT,百度现在适合找佐证的资料,而非找答案,百度不到反而是在浪费时间,代码有问题找Chat-GPT和各类大模型...
程序员怎样才能学好算法?这本书送几本给大家!
目录 笔者对算法的理解 写书的初衷及过程 本书的内容 购买方式 数据结构和算法是计算机科学的基石,是计算机的灵魂,要想成为计算机专业人员,学习和掌握算法是十分必要的。不懂数据结构和算法的人不可能写出效率更高的代码。计算机科学的很…...
RestClient
什么是RestClient RestClient 是 Elasticsearch 官方提供的 Java 低级 REST 客户端,它允许HTTP与Elasticsearch 集群通信,而无需处理 JSON 序列化/反序列化等底层细节。它是 Elasticsearch Java API 客户端的基础。 RestClient 主要特点 轻量级ÿ…...
深入浅出Asp.Net Core MVC应用开发系列-AspNetCore中的日志记录
ASP.NET Core 是一个跨平台的开源框架,用于在 Windows、macOS 或 Linux 上生成基于云的新式 Web 应用。 ASP.NET Core 中的日志记录 .NET 通过 ILogger API 支持高性能结构化日志记录,以帮助监视应用程序行为和诊断问题。 可以通过配置不同的记录提供程…...
STM32F4基本定时器使用和原理详解
STM32F4基本定时器使用和原理详解 前言如何确定定时器挂载在哪条时钟线上配置及使用方法参数配置PrescalerCounter ModeCounter Periodauto-reload preloadTrigger Event Selection 中断配置生成的代码及使用方法初始化代码基本定时器触发DCA或者ADC的代码讲解中断代码定时启动…...
ESP32 I2S音频总线学习笔记(四): INMP441采集音频并实时播放
简介 前面两期文章我们介绍了I2S的读取和写入,一个是通过INMP441麦克风模块采集音频,一个是通过PCM5102A模块播放音频,那如果我们将两者结合起来,将麦克风采集到的音频通过PCM5102A播放,是不是就可以做一个扩音器了呢…...
C++ 求圆面积的程序(Program to find area of a circle)
给定半径r,求圆的面积。圆的面积应精确到小数点后5位。 例子: 输入:r 5 输出:78.53982 解释:由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982,因为我们只保留小数点后 5 位数字。 输…...
高防服务器能够抵御哪些网络攻击呢?
高防服务器作为一种有着高度防御能力的服务器,可以帮助网站应对分布式拒绝服务攻击,有效识别和清理一些恶意的网络流量,为用户提供安全且稳定的网络环境,那么,高防服务器一般都可以抵御哪些网络攻击呢?下面…...
css3笔记 (1) 自用
outline: none 用于移除元素获得焦点时默认的轮廓线 broder:0 用于移除边框 font-size:0 用于设置字体不显示 list-style: none 消除<li> 标签默认样式 margin: xx auto 版心居中 width:100% 通栏 vertical-align 作用于行内元素 / 表格单元格ÿ…...
【Oracle】分区表
个人主页:Guiat 归属专栏:Oracle 文章目录 1. 分区表基础概述1.1 分区表的概念与优势1.2 分区类型概览1.3 分区表的工作原理 2. 范围分区 (RANGE Partitioning)2.1 基础范围分区2.1.1 按日期范围分区2.1.2 按数值范围分区 2.2 间隔分区 (INTERVAL Partit…...
ip子接口配置及删除
配置永久生效的子接口,2个IP 都可以登录你这一台服务器。重启不失效。 永久的 [应用] vi /etc/sysconfig/network-scripts/ifcfg-eth0修改文件内内容 TYPE"Ethernet" BOOTPROTO"none" NAME"eth0" DEVICE"eth0" ONBOOT&q…...
上位机开发过程中的设计模式体会(1):工厂方法模式、单例模式和生成器模式
简介 在我的 QT/C 开发工作中,合理运用设计模式极大地提高了代码的可维护性和可扩展性。本文将分享我在实际项目中应用的三种创造型模式:工厂方法模式、单例模式和生成器模式。 1. 工厂模式 (Factory Pattern) 应用场景 在我的 QT 项目中曾经有一个需…...
