Автоматичний переклад відеосубтитрів: швидко, якісно та з контекстом
Уявіть: у вас 90-хвилинний фільм у форматі SRT — близько 1200 субтитрів. Ручний переклад кожного займає 2–3 хвилини, разом 40 годин. LLM-рішення робить це за 30–60 секунд, але без правильного пайплайну результат буде з розірваними таймінгами, втраченим сенсом і перевищенням допустимої довжини рядка. Навіть найкраща модель допускає помилки, характерні для машинного перекладу: втрачені ієрогліфи, неузгоджені часи, невірна інтерпретація сленгу. Наш пайплайн включає автоматичну пост-перевірку, яка виявляє та виправляє такі артефакти. У результаті ви отримуєте готові до публікації субтитри, повністю синхронізовані з оригіналом. Розглянемо детальніше, як працює кожен етап. Типова вартість перекладу 90-хвилинного фільму — від $30 до $100, що у 50 разів дешевше ручної праці.
Як LLM справляється з обмеженнями довжини субтитрів?
Формат SubRip накладає суворі вимоги на довжину рядка, тривалість показу та швидкість читання.
| Параметр | Значення |
|---|---|
| Макс. довжина рядка | 42 символи (Netflix) або 84 (два рядки) |
| Тривалість показу | 1–7 секунд на блок |
| Швидкість читання | ≤17 сим/с (кіно), ≤20 (документальне) |
| Кодування | UTF-8 з BOM |
GPT-4o-mini (основний інструмент) у 3 рази швидший за NLLB-200 при порівнянній якості для європейських мов. Для рідкісних мов використовуємо NLLB-200 або GPT-4o.
Чому контекст сусідніх субтитрів критичний?
Без контексту модель перекладає кожну фразу ізольовано — втрачається логіка діалогу. Наприклад, в одному субтитрі «He’s not coming», у наступному — «Why?». Окремий переклад дає «Він не прийде» та «Чому?» — зв'язок зберігається, але якщо субтитри розділені паузою, модель може інтерпретувати «Why?» як початок нової теми. Групування по 20–30 субтитрів дає моделі достатньо контексту для зв'язного перекладу. Ми використовуємо динамічний батчинг: якщо в групі багато коротких блоків, розмір батча збільшується до 40, що знижує кількість запитів до API та прискорює обробку. Якщо ви сумніваєтеся у виборі моделі, зв'яжіться з нами — ми проведемо тестовий прогін на 50 субтитрах і надамо зразок.
Що таке пост-перевірка і як вона підвищує якість?
Після перекладу запускається автоматичний скрипт, який перевіряє кожен субтитр на відповідність обмеженням: довжина рядка, швидкість читання, наявність розділових знаків. Якщо параметр перевищено, модель отримує завдання скоротити фразу без втрати сенсу. Додатково перевіряється узгодження часів та власних назв. Для критично важливого контенту додаємо ручну верифікацію.
В одному з проектів з 5000 субтитрів для освітнього курсу з фізики ми зіткнулися з систематичним перевищенням довжини рядка для німецької мови — середня довжина слова в німецькій на 30% більша, ніж в англійській. Ми адаптували промпт, вказавши моделі використовувати коротші синоніми, і додали автоматичний тримінг у пост-перевірку. У результаті всі субтитри вклалися в ліміт 84 символи без втрати сенсу.
Як налаштувати пайплайн перекладу за 10 хвилин
- Парсинг: витягуємо таймінги та текст із SRT/VTT. Перевіряємо кодування (UTF-8 з BOM).
- Батчинг: об'єднуємо субтитри в групи по 20–30 блоків — це ключ до контексту.
- Переклад: відправляємо групу в LLM з промптом, що містить обмеження довжини та швидкості.
- Пост-перевірка: автоматично вимірюємо довжину рядка та швидкість читання. Якщо перевищення — запускаємо авто-скорочення.
- Збірка: відновлюємо вихідні таймінги, формуємо підсумковий файл.
Приклад промпту для перекладу групою:
Переведи наступні субтитри з англійської на українську. Обмеження: - Максимум 84 символи на блок (2 рядки по 42) - Зберігай сенс, допускається адаптація - Не використовуй лапки, якщо їх немає в оригіналі - Зберігай власні назви - Швидкість читання ≤20 сим/с Субтитри: [1] 00:01:00,000 --> 00:01:04,000 Hello, how are you? [2] 00:01:05,000 --> 00:01:08,000 I am fine, thank you. Підтримувані мови та моделі
| Набір мов | Рекомендована модель | Обґрунтування |
|---|---|---|
| Російська, англійська, європейські (FR, DE, ES, IT) | GPT-4o-mini | Швидше, дешевше, якість >95% BLEU |
| Рідкісні (суахілі, в'єтнамська, хінді) | NLLB-200 | Спеціалізована модель для рідкісних мов |
| Критично важливий контент | GPT-4o | Максимальна якість, але в 10× дорожче |
Обробка 90-хвилинного фільму (≈1200 субтитрів) займає 30–60 секунд при мінімальних витратах на обчислювальні ресурси. Технічний процес включає токенізацію вхідного тексту, батчінг з урахуванням максимальної довжини контекстного вікна моделі (128K токенів для GPT-4o-mini), та пост-обробку з використанням алгоритму перевірки на основі регулярних виразів для виявлення некоректних символів.
Що входить у нашу роботу
- Аналіз вихідних субтитрів (SRT/VTT) на предмет вкладених форматів, кодування, таймінгу.
- Налаштування промпту під мову та стиль (адаптація жартів, сленгу).
- Тестовий прогін на 50 субтитрах — ви отримуєте зразок.
- Переклад усіх субтитрів з пост-валідацією.
- Генерація готових SRT/VTT файлів зі збереженням вихідного таймінгу.
- Документація: звіт про виконану роботу, список замінених термінів.
Наш досвід
Ми реалізували понад 50 проектів з обробки субтитрів. Сертифіковані спеціалісти гарантують актуальність використовуваних моделей.
Зв'яжіться з нами для тестового перекладу 100 субтитрів безкоштовно. Ми оцінимо ваш файл і запропонуємо найкраще рішення. Замовте автоматичний переклад субтитрів — отримайте готові SRT/VTT файли для 20 мов за 1 робочий день. Отримайте консультацію щодо вашого проекту — ми підберемо оптимальну модель під ваші завдання.







