
Video Subtitle Remover
- 41 installs
- 263 repo stars
- Updated July 22, 2026
- zrt-ai-lab/opencode-skills
Helps with ai & agent building tasks during AI-assisted development.
About
video-subtitle-remover is a Claude Code skill for ai & agent building. It helps solo builders move faster with AI-assisted coding.
- video-subtitle-remover
- AI & Agent Building
- AI-coding skill
Video Subtitle Remover by the numbers
- 41 all-time installs (skills.sh)
- Ranked #8,067 of 16,556 AI & Agent Building skills by installs in the Skillselion catalog
- Data as of Aug 3, 2026 (Skillselion catalog sync)
npx skills add https://github.com/zrt-ai-lab/opencode-skills --skill video-subtitle-removerAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 41 |
|---|---|
| repo stars | ★ 263 |
| Last updated | July 22, 2026 |
| Repository | zrt-ai-lab/opencode-skills ↗ |
What it does
Helps with ai & agent building tasks during AI-assisted development.
Files
视频字幕去除技能 (Video Subtitle Remover)
触发场景
当用户提到以下关键词时触发本技能:
- "去字幕"、"去除视频字幕"
- "去掉视频里的文字/水印"
- "把这视频的字幕干掉"
工作流程
这是一个需要本地 GPU/Apple Silicon 加速的重型任务,你需要作为一个完整的执行器,从环境准备到执行全包揽。
第一阶段:环境检查与准备 (非常重要)
在首次运行前,必须检查环境并在用户机器上安装所需组件。工作目录约定为:~/.opencode/tools/video-subtitle-remover。
1. 检查目录与代码 使用 bash 检查 ~/.opencode/tools/video-subtitle-remover/run_remove.py 是否存在。如果不存在,执行以下初始化操作:
# 1. 创建工作目录
mkdir -p ~/.opencode/tools/video-subtitle-remover/backend/models/{V4/ch_det,sttn}
cd ~/.opencode/tools/video-subtitle-remover
# 2. 拉取核心代码 (跳过模型文件)
curl -sL "https://api.github.com/repos/YaoFANGUK/video-subtitle-remover/git/trees/main?recursive=1" | python3 -c "
import sys, json, os, urllib.request
data = json.load(sys.stdin)
for item in data.get('tree', []):
if item['type'] != 'blob': continue
path = item['path']
ext = os.path.splitext(path)[1].lower()
if ext in {'.pth', '.onnx', '.pdiparams', '.pdmodel'} or '__pycache__' in path or item.get('size', 0) > 500000: continue
os.makedirs(os.path.dirname(path) if os.path.dirname(path) else '.', exist_ok=True)
url = f'https://raw.githubusercontent.com/YaoFANGUK/video-subtitle-remover/main/{path}'
try:
content = urllib.request.urlopen(url).read()
with open(path, 'wb') as f: f.write(content)
except: pass
"2. 安装 Python 依赖
pip3 install torch torchvision
pip3 install filesplit==3.0.2 scikit-image pyclipper lmdb PyYAML omegaconf tqdm easydict scikit-learn pandas webdataset einops av shapely paddleocr paddle2onnx albumentations imgaug3. 下载并合并模型 (STTN 模式必需) 如果 backend/models/sttn/infer_model.pth 或 backend/models/V4/ch_det/inference.pdiparams 不存在,使用 curl 下载:
cd ~/.opencode/tools/video-subtitle-remover/backend/models
# 下载 STTN 模型
curl -L -o sttn/infer_model.pth "https://raw.githubusercontent.com/YaoFANGUK/video-subtitle-remover/main/backend/models/sttn/infer_model.pth"
# 下载并合并 PaddleOCR 文本检测模型 (3个分割包)
curl -L -o V4/ch_det/inference_1.pdiparams "https://raw.githubusercontent.com/YaoFANGUK/video-subtitle-remover/main/backend/models/V4/ch_det/inference_1.pdiparams"
curl -L -o V4/ch_det/inference_2.pdiparams "https://raw.githubusercontent.com/YaoFANGUK/video-subtitle-remover/main/backend/models/V4/ch_det/inference_2.pdiparams"
curl -L -o V4/ch_det/inference_3.pdiparams "https://raw.githubusercontent.com/YaoFANGUK/video-subtitle-remover/main/backend/models/V4/ch_det/inference_3.pdiparams"
curl -L -o V4/ch_det/fs_manifest.csv "https://raw.githubusercontent.com/YaoFANGUK/video-subtitle-remover/main/backend/models/V4/ch_det/fs_manifest.csv"
curl -L -o V4/ch_det/inference.pdiparams.info "https://raw.githubusercontent.com/YaoFANGUK/video-subtitle-remover/main/backend/models/V4/ch_det/inference.pdiparams.info"
curl -L -o V4/ch_det/inference.pdmodel "https://raw.githubusercontent.com/YaoFANGUK/video-subtitle-remover/main/backend/models/V4/ch_det/inference.pdmodel"
# 使用 Python 合并
python3 -c "from fsplit.filesplit import Filesplit; fs=Filesplit(); fs.merge(input_dir='V4/ch_det')"4. 注入修复代码与启动脚本 使用 edit 工具修改 backend/config.py:
- 修复 Mac 的 MPS 设备支持 (
device = torch.device('mps')) - 修复 FFMPEG_PATH 指向系统 ffmpeg (
shutil.which('ffmpeg')) - 删除不必要的 LAMA 和 ProPainter 模型校验。
并使用 write 工具生成 run_remove.py 启动脚本。
第二阶段:执行任务
1. 提取信息与评估 获取用户提供的视频绝对路径,运行 ffprobe 或 ls -lh 获取帧数,给用户预报处理时间。
2. 执行处理 运行处理脚本:
export KMP_DUPLICATE_LIB_OK=True
python3 ~/.opencode/tools/video-subtitle-remover/run_remove.py "<视频绝对路径>"注意:如果视频较长,务必使用 tmux 放后台跑。
3. 结果交付 使用 open 命令为用户自动打开输出的 _no_sub.mp4 视频。
video-subtitle-remover
视频硬字幕/水印去除技能,基于 YaoFANGUK/video-subtitle-remover,自动完成环境配置和执行。
核心流程
环境检查 → 拉取代码+模型 → 注入 Mac 修复 → ffprobe 评估 → STTN 去字幕 → 输出两阶段工作流
阶段一:环境准备(首次自动执行)
| 步骤 | 内容 |
|---|---|
| 拉取代码 | 从 GitHub 拉取源码到 ~/.opencode/tools/video-subtitle-remover/,跳过大文件 |
| 安装依赖 | torch、torchvision、paddleocr 等 Python 包 |
| 下载模型 | STTN 推理模型 + PaddleOCR 文本检测模型(3 分片合并) |
| 注入修复 | MPS 设备支持、ffmpeg 路径修复、移除多余模型校验 |
阶段二:执行任务
| 步骤 | 内容 |
|---|---|
| 评估 | ffprobe 获取视频信息,预报处理时间 |
| 处理 | 运行 run_remove.py,长视频用 tmux 后台执行 |
| 交付 | 自动打开输出的 _no_sub.mp4 |
使用方式
export KMP_DUPLICATE_LIB_OK=True
python3 ~/.opencode/tools/video-subtitle-remover/run_remove.py "/path/to/video.mp4"触发场景
- "去字幕"、"去除视频字幕"
- "去掉视频里的文字/水印"
- "把这视频的字幕干掉"
依赖
- Python 3.10+
- ffmpeg(
brew install ffmpeg) - Apple Silicon MPS 或 CUDA GPU(推荐)
License
MIT