Перевод субтитров нейросеть: как сохранить таймкоды
Перевод субтитров нейросеть ускоряет, если исходные реплики уже записаны текстом. Разберу работу с SRT: как сохранить время, уместить смысл и проверить строки.
М
Марина
Контент-маркетолог LibraChat
7 мин чтения
«Текст ролика уже есть. Можем завтра выпустить версию с переводом?» — такой вопрос звучит как просьба перевести несколько абзацев. На деле перевод субтитров нейросеть требует ещё сохранить порядок реплик, временные метки и длину строк. Иначе зритель прочитает удачную фразу после того, как говорящий уже сменил тему. Я начинаю с копии исходного файла, перевожу короткими блоками и заканчиваю просмотром ролика с готовыми субтитрами.
Что было в исходнике: 42 реплики и один вечер
Возьмём рабочий сценарий: короткое видео о новой функции, 42 реплики на английском. У команды есть файл SRT. В нём у каждой реплики номер, время начала и конца, затем текст. Формат SubRip описан в справке YouTube: это обычный текст с временными метками; базовый файл сохраняют в UTF-8. Поэтому его можно открыть в текстовом редакторе и увидеть, какую часть переводить.
Я собрала на листе три требования до перевода. Термин продукта должен оставаться одним и тем же во всех строках. Время и нумерация должны совпасть с исходником. Речь должна укладываться в экран без длинной канцелярской конструкции. Если переводишь чужой ролик, добавь право на использование материала и согласование терминов с владельцем. В нашем сценарии речь о собственном видео команды.
Перед первым запросом я отдельно записываю словарь и людей, которых надо проверить. Для ролика о функции это короткий список:
Название функции оставляем так, как оно написано в интерфейсе.
Команду на кнопке переводим по действующему экрану, а не по словарю.
Всего три строки, но они снимают много споров в конце. Если в интерфейсе кнопка называется «Сохранить», слово «записать» в субтитре может сбить зрителя, даже когда перевод формально верен. Я проверила бы это на действующем экране до отправки текста переводчику.
Фрагмент исходника выглядел бы так:
```text
1
00:00:01,000 --> 00:00:03,500
Save your draft before you share it.
2
00:00:03,500 --> 00:00:06,000
Your teammate can leave a comment.
```
Здесь важны не конкретные английские слова, а связь строки с промежутком времени. Если модель переставит номера или удалит пустую строку между блоками, файл может потребовать ручной починки. Если переведённая фраза длиннее исходной, она может не успеть прочитаться за 2,5 секунды. Это уже вопрос монтажа и редакторского выбора, а не словаря.
Как задать перевод субтитров нейросеть без потери структуры
LibraChat переводит текст в чате. Для этой задачи я вставляю небольшой фрагмент SRT как текст и прошу сохранить строки с номерами и временем. Присланное видео LibraChat не разбирает. Если исходных субтитров ещё нет, сначала получи их в инструменте для расшифровки или у автора ролика.
Шаблон запроса для первого блока:
Переведи только текст реплик в SRT ниже с английского на русский. Номера, временные метки, стрелку `-->` и пустые строки не меняй. Термин «draft» переводи как «черновик», «comment» как «комментарий». Не добавляй пояснений перед блоком и после него. Если фраза не помещается по смыслу в короткую строку, предложи второй, более компактный вариант в отдельном списке с номером реплики. Вот исходник: [вставь 5–10 блоков].
Я пробовала отдавать сразу весь файл, но для редакторского контроля удобнее пачки по 5–10 реплик. Так видно, в каком месте термин впервые уехал. После каждой пачки я сверяю количество номеров и переход к следующему диапазону. Это не волшебное число: для короткого ролика можно взять больше, для сложного интервью — меньше. Смысл в том, чтобы проверка оставалась посильной.
Соседние блоки тоже читаю вместе. Отдельная фраза «Here it is» почти ничего не значит без предыдущей реплики: говорящий мог показать файл, кнопку или готовый кадр. Я поймала такой сдвиг в рабочем разборе: перевод называл «документ», а на экране человек указывал на ссылку. Выручила соседняя строка с глаголом «поделиться». Поэтому перед переводом очередной пачки я оставляю одну реплику контекста сверху и после проверки удаляю её повтор из итогового файла. Контекст нужен. Дублирование — нет.
Небольшая таблица помогает договориться с редактором о правках:
Реплика · Буквальный вариант · Для экрана · Причина выбора
Save your draft before you share it — Сохраните свой черновик до того, как поделитесь им — Сохрани черновик перед отправкой — Короче при том же действии
Your teammate can leave a comment — Ваш коллега по команде может оставить комментарий — Коллега может оставить комментарий — Убираем лишние слова
The link expires in one day — Ссылка истекает через один день — Ссылка действует сутки — Сохраняем условие срока
У третьей строки я обязательно проверю контекст: «действует сутки» подходит, если отсчёт начинается в момент создания ссылки. Если в интерфейсе срок считается иначе, компактная формулировка вводит в заблуждение. Короткое предложение ещё не означает точное.
Где перевод субтитров нейросеть чаще спотыкается
После первых 10 реплик я смотрю на три вида ошибок. Самая видимая — поломанная структура: исчез номер, сместился таймкод, два блока склеились. Вторая — терминологическая: одно и то же слово переведено по-разному. Третья — интонация. В ролике человек говорит «можно», а перевод даёт приказ «сделайте». Для пользовательского обучения такой сдвиг заметен.
Мой чек-лист по каждому блоку:
Сравнить количество номеров и точное написание временных меток.
Прочитать русскую реплику за время, которое ей отведено.
Проверить термины по краткому словарю проекта.
Сверить отрицания, сроки и условия с исходной строкой.
Увидеть реплику поверх кадра, а не только в текстовом файле.
Я проверила особенно тщательно слова «before», «after» и «unless»: в коротком ролике они занимают мало места, но меняют порядок действия. В русском переводе их иногда хочется убрать ради плавности. Не стоит. Если объяснение функции зависит от последовательности шагов, такая экономия портит инструкцию. Лучше сократить обращение или повтор названия продукта.
Когда русская строка слишком длинная, я сперва пытаюсь убрать повтор. Потом ищу короткое слово того же смысла. Если всё ещё тесно, согласую с монтажёром разделение реплики или более длинный интервал. Нельзя просто сдвинуть таймкод, не посмотрев ролик: в следующем кадре может начаться другая мысль. Нейросеть помогает предложить варианты формулировки, окончательное решение проверяется на видео.
Как собрать файл и не потерять сделанное
Я храню исходный SRT отдельно. Перевод собираю в новый файл, не перезаписывая первый. После склейки блоков проверяю, что последовательность номеров непрерывна и время идёт вперёд. Текстовый редактор должен сохранить UTF-8, иначе русские буквы могут стать набором символов при загрузке. Это особенно досадная ошибка: перевод хорош, а публикационная система его не читает.
Для финального просмотра открываю ролик с подключённой дорожкой субтитров. Там видно то, чего не покажет таблица: строка закрывает важную часть кадра, сменяется слишком быстро или появляется с опозданием. Я записываю номер реплики и конкретную проблему. Затем исправляю только эти места, чтобы не испортить уже согласованные формулировки. Если платформа позволяет редактировать время прямо в своём редакторе, всё равно сохраняю обновлённую копию файла.
На согласование отправляю не только SRT, но и три вопроса к человеку, который знает ролик: верно ли названы элементы интерфейса, совпадает ли тон с речью спикера, нет ли смыслового разрыва между соседними кадрами? Ответы записываю по номерам реплик. Так правка «здесь странно» превращается в точное действие. Когда команда спорит о длине одной строки, я включаю нужные 3 секунды видео. Экран быстро показывает, есть ли у зрителя время дочитать фразу.
Важная граница: перевод текста не заменяет проверку содержимого ролика. Если исходные субтитры ошиблись в имени или пропустили слово, перевод повторит ошибку. Лучше перед началом сверить спорные места с записью, а после — прочитать финальную русскую дорожку вместе со звуком. Для проекта с юридическими, медицинскими или финансовыми утверждениями привлеки профильного редактора: здесь цена неверного термина выше, чем скорость выпуска.
Если сейчас у тебя только обычный абзац без таймкодов, начни с подхода к переводу текста. Когда появится SRT, возьми первые пять реплик, открой чат, вставь их с шаблоном выше и проверь номера. Для объёмной работы с текстом и файлами заранее посмотри актуальные условия. А затем спроси себя: на каком кадре зритель впервые поймёт, что субтитр не успел за человеком? Именно этот кадр стоит проверить до публикации, а не после замечания в комментариях.