Subtitle generation tools for live and archived streams. LiveVTT focuses on producing WebVTT/TTML assets and SMIL manifests for downstream players and packaging workflows.
- Python 3.10+
uvCLI: used to sync and install dependencies.- Install via
pip install uvfor Python environments. - Or use
brew install uvon macOS / Linux if available. - See the official
uvproject page for more installation options: https://uv.run
- Install via
- FFmpeg + FFprobe: FFprobe is included with FFmpeg. Download from the official FFmpeg site. Install via
apt install ffmpeg(Linux),brew install ffmpeg(macOS), orchoco install ffmpeg(Windows).
uv syncpython src/python/tools/archive_transcriber.py /path/to/media --max-files 1 --progress # Example: transcribe media in directory, process up to 1 file with progress displaypython src/python/services/subtitle_autogen.py /path/to/watch --batch-size 5 --interval 300 # Example: watch directory for new files, batch size 5, poll every 300 secondsBatch transcription of archived broadcast chunks with bilingual WebVTT output and SMIL manifest generation.
Polling service for automated transcription + SMIL regeneration.
System health check for the local toolchain.
livevtt/
├── docs/ # Documentation
│ └── DEMO.md # Demo instructions
├── src/ # Source code
│ └── python/ # Python utilities
│ ├── services/
│ ├── tools/
│ └── utils/
├── config/ # Configuration files
│ ├── vocabulary.json
│ └── filter.json
├── deploy/ # Deployment files
├── test_integration
└── main.py # Live transcription pipeline