68 lines
2.0 KiB
Markdown
68 lines
2.0 KiB
Markdown
---
|
||
name: video-subtitles
|
||
description: "从视频/音频生成SRT字幕,支持翻译。"
|
||
---
|
||
|
||
# Video Subtitles
|
||
|
||
Generate movie-style subtitles from video or audio files. Supports transcription, translation, and burning subtitles directly into video.
|
||
|
||
## Features
|
||
|
||
- **Hebrew**: ivrit.ai fine-tuned model (best Hebrew transcription)
|
||
- **English**: OpenAI Whisper large-v3
|
||
- **Auto-detect**: Automatically detects language and selects best model
|
||
- **Translation**: Translate Hebrew → English
|
||
- **Burn-in**: Hardcode subtitles into video (visible everywhere, including WhatsApp)
|
||
- **Movie-style**: Natural subtitle breaks (42 chars/line, 1-7s duration)
|
||
|
||
## Quick Start
|
||
|
||
```bash
|
||
# Plain transcript
|
||
./scripts/generate_srt.py video.mp4
|
||
|
||
# Generate SRT file
|
||
./scripts/generate_srt.py video.mp4 --srt
|
||
|
||
# Burn subtitles into video (always visible)
|
||
./scripts/generate_srt.py video.mp4 --srt --burn
|
||
|
||
# Translate to English + burn in
|
||
./scripts/generate_srt.py video.mp4 --srt --burn --translate en
|
||
|
||
# Force language
|
||
./scripts/generate_srt.py video.mp4 --lang he # Hebrew
|
||
./scripts/generate_srt.py video.mp4 --lang en # English
|
||
```
|
||
|
||
## Options
|
||
|
||
| Flag | Description |
|
||
|------|-------------|
|
||
| `--srt` | Generate SRT subtitle file |
|
||
| `--burn` | Burn subtitles into video (hardcoded, always visible) |
|
||
| `--embed` | Embed soft subtitles (toggle in player) |
|
||
| `--translate en` | Translate to English |
|
||
| `--lang he/en` | Force input language |
|
||
| `-o FILE` | Custom output path |
|
||
|
||
## Output
|
||
|
||
- **Default**: Plain text transcript to stdout
|
||
- **With `--srt`**: Creates `video.srt` alongside input
|
||
- **With `--burn`**: Creates `video_subtitled.mp4` with hardcoded subs
|
||
|
||
## Requirements
|
||
|
||
- **uv**: Python package manager (auto-installs dependencies)
|
||
- **ffmpeg-full**: For burning subtitles (`brew install ffmpeg-full`)
|
||
- **Models**: ~3GB each, auto-downloaded on first use
|
||
|
||
## Subtitle Style
|
||
|
||
- Font size 12, white text with black outline
|
||
- Bottom-aligned, movie-style positioning
|
||
- Max 42 chars/line, 2 lines max
|
||
- Natural breaks at punctuation and pauses
|