Объединить два файла SRT в один с двумя языками
Есть субтитры к фильму на двух разных языках? Загрузите оба файла и получите единый файл с двумя языками одновременно, сопоставленными реплика за репликой по их таймингу. Без использования ИИ и без машинного перевода. Объединение полностью бесплатно до 3,000 строк; файлы большего объема — $5. По умолчанию первый язык будет отображаться вверху экрана, а второй — внизу.
- Ровно два файла: первый задает основной язык, второй добавляется к нему
- Каждая строка второго файла привязывается к той строке первого, с которой больше всего пересекается по времени
- Строки второго файла без пересечений сохраняют собственный тайминг
- Поддерживает форматы .srt, .vtt, .ass и .ssa; выгрузка в SRT, VTT или ASS
- Бесплатно до 3,000 строк; до 10,000 строк — за $5
Как сопоставляются строки
В двух разных файлах субтитров к одному фильму диалоги редко разбиты одинаково. В одном файле предложение может идти одной строкой, а в другом — разбиваться на две, да и время начала и конца реплик различается на доли секунды. Поэтому файлы не сопоставляются просто по номерам строк. Для каждой строки второго файла инструмент находит строки первого файла, с которыми она пересекается по времени, и объединяет ее с той, где пересечение максимальное. Если две короткие реплики попадают в интервал одной длинной, обе будут показаны вместе с ней.
Строка из второго файла, которая ни с чем не пересекается в первом (например, перевод вывески, присутствующий только в одном файле), не пропадет: она сохранит свои тайминги и появится отдельно, только на втором языке. Строка из первого файла без пары тоже просто отобразится одна. В итоге получается единый файл с хронологическим порядком реплик, названный по первому файлу, например Movie.dual.srt.
Если файлы от разных релизов
Сопоставление по таймингам работает, только если оба файла синхронизированы с одним и тем же видео. Файл от другого релиза может спешить или отставать на секунду-две, постепенно рассинхронизироваться по ходу фильма или иметь другую частоту кадров (например, 25 вместо 23.976). Если объединить их как есть, реплики сопоставятся с соседними фразами. Сначала исправьте тайминги одного из файлов с помощью инструмента синхронизации субтитров (/ru/fix-subtitle-sync), который сдвигает, растягивает или меняет частоту кадров всего файла, а затем объединяйте.
Варианты расположения и форматы
- Раздельное: первый язык вверху экрана, второй внизу ({\an8} в SRT, line:0 в VTT, стиль Top в ASS)
- Друг над другом: оба языка внизу, первый язык на верхней строке
- Файлы .ass и .ssa считываются как текст: курсив и код позиции сохраняются, а сложное оформление — нет
- Готовые файлы скачиваются в UTF-8 с меткой порядка байтов (BOM), поэтому арабский, персидский и китайский языки отображаются корректно
Как работает инструмент, сколько он стоит и как обрабатываются ваши файлы — на странице Двуязычные субтитры; цены на все инструменты — на странице цены.
Обновлено
Вопросы и ответы
Может ли ChatGPT объединить два файла SRT?
С несколькими десятками строк он справится. Но на полнометражном фильме ответ обычно обрывается на полуслове. Кроме того, ChatGPT сопоставляет строки по смыслу, а не по таймкодам, поэтому может перепутать реплики или исказить временные метки.
Это бесплатно?
Да, полностью бесплатно, если в объединенном файле до 3,000 строк (скачивание включено). Для файлов длиннее первая часть бесплатно, а весь файл (до 10,000 строк) стоит $5 (разовый платёж).
Какой файл будет верхним языком?
Первый из двух файлов. При раздельном расположении он помещается вверху экрана, а при расположении друг над другом — на верхней строке.
Что делать, если строки не совпадают?
Скорее всего, файлы взяты от разных релизов. Синхронизируйте один из них с помощью инструмента синхронизации субтитров под одно видео, а затем объедините снова.
Можно ли объединить больше двух файлов?
Нет. В рамках одной задачи объединяются ровно два файла.
Что делать, если у меня субтитры только на одном языке?
Выберите вариант «Перевести мой файл»: субтитры будут переведены на второй язык и объединены в одном файле.