How timminator/videocr works
VideOCR is a desktop and command-line application for extracting burned-in subtitles. The main workflow selects a video and subtitle region, samples and filters frames, runs local or hybrid OCR, consolidates recognized text into timed subtitle entries, and writes an SRT file. The GUI also supports batch processing and configurable extraction; the CLI exposes the same processing API. The GUI excerpt is partial and the README documents capabilities whose internal wiring is not fully shown, so uncertain subsystem links are omitted.
Main entry points: video.py Frame Pipeline · api.py Extraction API · videocr_cli.py CLI Arguments · VideOCR.py Desktop GUI
Components 14
User Interfaces
- Desktop GUI
VideOCR.py - CLI Arguments
CLI/videocr_cli.py - Extraction API
CLI/videocr/api.py
Video Processing
- Frame Pipeline
CLI/videocr/video.py - Video Decoder
CLI/videocr/pyav_adapter.py - Frame Utilities
CLI/videocr/utils.py
OCR Recognition
- PaddleOCR
- Google Lens
- OCR Languages
CLI/videocr/lang_dictionaries.py - Text Predictions
CLI/videocr/models.py
Subtitle Output
- Subtitle Consolidation
CLI/videocr/models.py - SRT File
Other components
- Desktop User
- CLI User
Connections 14
- Desktop User → Desktop GUI: selects and runs
- CLI User → CLI Arguments: provides options
- CLI Arguments → Extraction API: calls extraction
- Desktop GUI → CLI Arguments: launches process
- Extraction API → Frame Utilities: checks hardware and models
- Extraction API → Frame Pipeline: configures and runs
- Frame Pipeline → Video Decoder: decodes frames
- Frame Pipeline → Frame Utilities: filters and processes frames
- Frame Pipeline → PaddleOCR: detects and recognizes
- Frame Pipeline → Google Lens: recognizes text
- Frame Pipeline → Text Predictions: creates predictions
- Text Predictions → Subtitle Consolidation: consolidates text
- Extraction API → Subtitle Consolidation: requests subtitles
- Extraction API → SRT File: writes SRT