界面已本地化;技能介绍与说明文档按所选语言由 AI 自动翻译,代码、命令、路径和专业术语保留原文,以原作者文档为准。
探索技能
开发与工程 · SKILL.md

video-subtitle-extractor

video-subtitle-extractor

【开发与工程】Use Video-subtitle-extractor (VSE) to extract hard-coded video subtitles into SRT/TXT, configure OCR/backends, batch GUI runs, clean subtitle output, and synchronize subtitle timelines.

独立 GitHub 快照 · 自动分类 · 以原作者文档为准

技能说明

GitHub

name: video-subtitle-extractor description: "Use Video-subtitle-extractor (VSE) to extract hard-coded video subtitles into SRT/TXT, configure OCR/backends, batch GUI runs, clean subtitle output, and synchronize subtitle timelines." metadata: disco-role: operating disable-model-invocation: true license: Apache 2.0

Video-subtitle-extractor (VSE)

Use this repo skill when the task involves VSE / Video-subtitle-extractor, hard-subtitle OCR from videos, VideoSubFinder frame detection, PaddleOCR model selection, GUI batch extraction, subtitle post-processing, or the bundled Sushi subtitle timeline synchronizer.

This is an operating guide, not the VSE application itself. If the user has no VSE installation or source checkout yet, first follow installation and runtime to choose a release, source run, or backend-specific environment.

Route by task

User intentRead
Extract hard-coded text from video into .srt/.txt; plan CLI/source runs; choose fast/auto/accurate; reason about VideoSubFinder and cache/output pathsextraction-workflows
Configure PaddleOCR/PaddlePaddle, language codes, bundled V5 models, CPU/CUDA/DirectML/ONNX acceleration, OCR batches, thresholds, backend probesocr-backends
Edit typo replacement rules, clean OCR text, keep/delete empty timestamps, generate TXT, debug missing OCR lines, tune confidence/area filterspostprocessing-config
Operate the PySide6 GUI, batch videos, draw subtitle areas, bind areas to AB sections, choose output folders, stop/retry tasksgui-batch-operations
Synchronize an existing SRT/ASS subtitle track to another video with the bundled Sushi CLI/API or GUI Sync Timeline pagesubtitle-sync

Minimal runtime shape

VSE is distributed primarily as an application/source tree rather than a pip-installable library with package metadata. Common public entry points are:

  • GUI: python gui.py from a VSE source checkout with GUI dependencies.
  • Interactive extraction CLI: python -m backend.main from a VSE source checkout; it prompts for video path and subtitle area.
  • Sushi timeline synchronization: python -m backend.sushi --src SOURCE --dst DEST --script SUBTITLE -o OUTPUT.

For a non-interactive or automation task, do not guess missing coordinates or backends. Use the bundled planning/probe helpers:

Default decisions

  • Prefer Fast or Auto mode first. Use Accurate only when Fast/Auto misses many subtitle intervals and the user accepts much slower processing.
  • Treat CPU as the portable baseline. CUDA, DirectML, ONNX providers, ROCm, CoreML, and other accelerators are optional speed/accuracy paths and require backend-specific verification.
  • Ask for or derive a concrete subtitle area before running extraction. If the user only knows normalized GUI coordinates, route to gui-batch-operations for coordinate conversion.
  • Avoid paths with spaces or non-ASCII characters when troubleshooting VSE runs; the upstream README warns these can cause unknown failures.

Cross-cutting references

  • Read installation and runtime for Python version, dependency variants, backend install commands, and launch expectations.
  • Read troubleshooting for install/import, model, video, path, backend, GUI, and process-management failures.
  • Read development notes only for maintainer packaging/build context; release build scripts are not normal user workflows.
  • Read repo provenance before relying on this skill for a newer VSE checkout.

Avoid this skill when

  • The user wants audio speech recognition / ASR for videos without visible hard-coded text. Use a speech/ASR workflow instead.
  • The user wants generic subtitle editing unrelated to VSE extraction or Sushi synchronization.
  • The task is only about a different OCR library without VSE, VideoSubFinder, or VSE's bundled model/layout assumptions.
我的收藏