Принципы работы сдвига времени в SRT и VTT
Инструмент сдвига времени субтитров предназначен для изменения временных меток во всем файле субтитров формата SRT или VTT. Сдвиг применяется ко всем репликам одновременно, позволяя синхронизировать текст с видеорядом, если исходный тайминг спешит или опаздывает.
Принцип работы инструмента основан на добавлении или вычитании фиксированного интервала времени из меток начала и конца каждой реплики. Пользователь может задать сдвиг двумя способами: в секундах (в виде десятичного числа) или в формате таймкода H:MM:SS.mmm. Положительные значения сдвига задерживают появление текста на экране, а отрицательные — заставляют реплики появляться раньше.
В процессе обработки инструмент полностью сохраняет структуру исходного документа. Все сопутствующие элементы, включая идентификаторы реплик, настройки позиционирования, примечания, стили, регионы, символы окончания строк и сам текст субтитров, остаются без изменений. После завершения расчетов система проверяет хронологический порядок реплик и предоставляет готовый файл для скачивания или копирования.
Поддерживаемые форматы и требования к файлам
Инструмент работает с двумя наиболее распространенными текстовыми форматами субтитров:
- SRT (SubRip): Файлы должны быть сохранены в кодировке UTF-8 и содержать стандартные пронумерованные блоки реплик.
- WebVTT (Web Video Text Tracks): Файлы должны начинаться со строгого заголовка
WEBVTT.
Для успешной обработки файлы и вставляемый текст должны соответствовать следующим техническим ограничениям:
- Максимальный размер файла: Допускаются файлы размером не более 2 MB. При превышении этого лимита отображается ошибка: «Выберите файл субтитров размером не более
‹max›.». - Кодировка текста: Файл должен быть сохранен исключительно в формате UTF-8. Если кодировка нарушена, инструмент выдаст предупреждение: «В этом файле нет допустимого текста UTF-8. Сохраните его в UTF-8 и повторите попытку.».
- Ограничение на объем вставляемого текста: При ручном вводе текста через буфер обмена действует лимит на количество символов. В случае его превышения пользователь увидит сообщение: «Текст субтитров слишком велик для обработки здесь. Ограничьте его размер до
‹max›символов.».
Правила валидации и обработка ошибок тайминга
Инструмент выполняет строгую проверку структуры и временной последовательности меток. Это гарантирует, что полученный на выходе файл будет корректно распознан медиаплеерами и браузерами. В процессе валидации применяются следующие правила:
- Хронологический порядок реплик: Каждая последующая реплика должна начинаться не раньше, чем предыдущая. Если это правило нарушено, обработка прерывается с ошибкой: «Реплика
‹number›начинается раньше предыдущей реплики.». При этом инструмент допускает наложение реплик друг на друга (overlapping cues), а также совпадение времени их начала. - Соотношение начала и конца реплики: Время окончания показа текста обязательно должно быть строго позже времени его начала. В противном случае выводится сообщение: «Реплика
‹number›должна заканчиваться позже, чем начинается.». - Корректность таймкодов: Любые синтаксические ошибки в разметке времени вызывают остановку процесса. При обнаружении некорректного формата выводится ошибка: «У реплики
‹number›недопустимая временная метка в строке‹line›.». - Встроенные метки WebVTT: Если файл содержит встроенные метки времени VTT (inline timestamps), они должны располагаться строго в порядке возрастания и находиться внутри соответствующих реплик. Нарушение этого правила вызывает ошибку: «Встроенная метка времени VTT в реплике
‹number›находится за её пределами или нарушает порядок.».
Ограничение отрицательного сдвига (граница нулевой отметки)
Особое внимание уделяется обработке отрицательных сдвигов, которые сдвигают появление субтитров на более раннее время. Физическое время воспроизведения видео не может быть отрицательным, поэтому ни одна реплика не должна начинаться до нулевой отметки (00:00:00.000).
Если заданная величина отрицательного сдвига приводит к тому, что хотя бы одна реплика должна появиться до начала видео, инструмент полностью блокирует операцию для этой реплики. Это предотвращает обрезку или непроизвольное удаление начальных блоков субтитров, сохраняя исходную длительность каждой фразы.
В такой ситуации расчет останавливается, и на экран выводится предупреждение: «При таком сдвиге реплика ‹number› окажется до нулевой отметки. Используйте ‹minimum› или более поздщий сдвиг.». Пользователю необходимо скорректировать значение сдвига в соответствии с указанным минимальным порогом.
Локальная обработка данных и конфиденциальность
При работе с конфиденциальными материалами, авторскими переводами или неопубликованными сценариями критически важна безопасность данных.
Все операции по анализу структуры, расчету новых временных меток и формированию итогового файла происходят непосредственно в веб-браузере на устройстве пользователя. Текст субтитров и загружаемые файлы не отправляются на внешние серверы, не передаются третьим лицам и не сохраняются на ресурсах BroBroGo.
Часто задаваемые вопросы
Какие файлы SRT и VTT поддерживаются?
Используйте файлы SRT в UTF-8 с пронумерованными блоками или файлы WebVTT, начинающиеся с WEBVTT. Идентификаторы, настройки, примечания, стили, регионы, окончания строк и текст субтитров сохраняются без изменений.
Что произойдёт, если отрицательный сдвиг перенесёт время до нулевой отметки?
Сдвиг будет остановлен, а реплики не будут обрезаны или удалены. Так длительность каждой реплики и заданный сдвиг останутся точными. Укажите меньшее опережение и повторите попытку.
Можно ли постоянным сдвигом исправить субтитры, которые всё сильнее расходятся со звуком?
Нет. Постоянный сдвиг исправляет одинаковую задержку или опережение во всём файле. Если расхождение растёт при воспроизведении, нужно иначе изменить скорость тайминга или отдельные реплики.
Что делать, если при загрузке файла возникает ошибка кодировки?
Если инструмент сообщает, что файл не содержит допустимого текста UTF-8, откройте исходный документ в любом текстовом редакторе, выберите функцию «Сохранить как», укажите кодировку UTF-8 и повторите загрузку.