协作头脑风暴
brainstorming
在实现前澄清需求、探索设计选择,并形成清晰的开发方向。
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 快照 · 自动分类 · 以原作者文档为准
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.
| User intent | Read |
|---|---|
Extract hard-coded text from video into .srt/.txt; plan CLI/source runs; choose fast/auto/accurate; reason about VideoSubFinder and cache/output paths | extraction-workflows |
| Configure PaddleOCR/PaddlePaddle, language codes, bundled V5 models, CPU/CUDA/DirectML/ONNX acceleration, OCR batches, thresholds, backend probes | ocr-backends |
| Edit typo replacement rules, clean OCR text, keep/delete empty timestamps, generate TXT, debug missing OCR lines, tune confidence/area filters | postprocessing-config |
| Operate the PySide6 GUI, batch videos, draw subtitle areas, bind areas to AB sections, choose output folders, stop/retry tasks | gui-batch-operations |
| Synchronize an existing SRT/ASS subtitle track to another video with the bundled Sushi CLI/API or GUI Sync Timeline page | subtitle-sync |
VSE is distributed primarily as an application/source tree rather than a pip-installable library with package metadata. Common public entry points are:
python gui.py from a VSE source checkout with GUI dependencies.python -m backend.main from a VSE source
checkout; it prompts for video path and subtitle area.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: