Реализация автоматического перевода субтитров на другие языки
Перевод субтитров — задача с жёсткими ограничениями, которые отличают её от обычного машинного перевода: длина строки, тайминг, синхронизация с речью, сохранение стиля.
Технические ограничения субтитров
Формат SRT/VTT накладывает требования на перевод:
- Максимальная длина строки: 42 символа (стандарт Netflix) или 84 символа (2 строки)
- Длительность показа: 1–7 секунд на блок субтитра
- Скорость чтения: ≤ 17 символов/секунду для кино, ≤ 20 для документального
LLM должен не просто переводить, но и укладываться в эти ограничения.
Pipeline перевода
[SRT/VTT файл]
→ [Парсинг: субтитры с таймингом]
→ [Батчинг: группы по 20–30 субтитров для контекста]
→ [LLM перевод с ограничениями длины]
→ [Пост-проверка: длина строки, скорость чтения]
→ [Авто-сокращение при превышении лимита]
→ [Сборка обратно в SRT/VTT]
Батчинг по группам важен: модель видит контекст соседних субтитров и переводит связно, без разрыва смысла между блоками.
Промпт для перевода с ограничениями
Переведи субтитры с английского на русский.
Ограничения:
- Максимум 84 символа на блок (2 строки по 42)
- Сохраняй смысл, допускается адаптация
- Не используй кавычки, если они не в оригинале
- Сохраняй имена собственные
Поддерживаемые языки и модели
Для русского, украинского, европейских языков — GPT-4o-mini (оптимальное соотношение качества и скорости). Для редких языков (суахили, вьетнамский, хинди) — NLLB-200 (Meta) как fallback, или GPT-4o для критически важного контента.
Обработка 90-минутного фильма (≈1200 субтитров): 30–60 секунд, стоимость < $0.05 на язык с gpt-4o-mini.







