Сдвинуть субтитры
Или вставьте текст субтитров
Параметры
На сколько миллисекунд сдвинуть каждую реплику. Положительное число сдвигает субтитры позже, отрицательное — раньше. Ноль допустим: файл возвращается без изменений, это быстрый способ убедиться, что он уже стоит где нужно.
В какой частоте кадров считается тайминг. На страницах форматов это то, что нужно MicroDVD: он хранит время в номерах кадров. На страницах частоты кадров это частота, по которой файл был рассчитан, — версия, для которой делались субтитры, — а второе поле страницы принимает частоту видео, с которым вы будете их использовать. Обычные значения: 23,976, 24, 25, 29,97, 30, 50, 59,94 и 60. Ошибка сдвигает весь таймлайн, а на страницах частоты кадров — на коэффициент, а не на фиксированную величину.
Эта страница сдвигает все реплики файла субтитров на одну и ту же величину — раньше или позже, не меняя ни одного слова: положительное смещение в миллисекундах отодвигает субтитры позже, отрицательное тянет их раньше, и оба края каждой реплики двигаются ровно на эту величину.
У начала шкалы есть два исключения, и оба считаются, а не скрываются: начало, уехавшее раньше нуля, прижимается к 00:00:00, и такая реплика выходит короче, а реплика, конец которой оказался бы в нуле или раньше, удаляется целиком — показать её уже негде, и номера остальных при этом не меняются. Формат определяется по содержимому, а не по расширению: SRT, WebVTT, ASS, SSA, SBV, SMI, MicroDVD, TTML, JSON и CSV читаются своим синтаксисом, а обычный текст и LRC не принимаются, потому что в них нет времени окончания и сдвиг вернул бы файл без изменений. Смещение применяется в браузере, файлы никуда не отправляются, а очередь берёт целый сезон за один проход. Нулевое смещение — законное значение: файл возвращается байт в байт.
Примеры
Сдвинуть весь файл на 500 мс позже
Вход
1
00:00:01,000 --> 00:00:03,000
Hello there.
2
00:00:05,500 --> 00:00:08,000
Second line.
Выход
1
00:00:01,500 --> 00:00:03,500
Hello there.
2
00:00:06,000 --> 00:00:08,500
Second line.
Оба края каждой реплики едут на одну и ту же величину, поэтому длина не меняется: первая реплика была 2000 мс и осталась 2000 мс. Больше в файле ничего не меняется.
Сдвинуть файл раньше начала
Вход
1
00:00:01,000 --> 00:00:02,000
The first one starts too early.
2
00:00:03,000 --> 00:00:04,000
This one is fine.
Выход
1
00:00:00,000 --> 00:00:00,800
The first one starts too early.
2
00:00:01,800 --> 00:00:02,800
This one is fine.
Первая реплика началась бы на -200 мс. Начало прижимается к нулю, и двигается только оно, поэтому реплика выходит длиной 800 мс вместо 1000.
Реплика, ушедшая за начало файла
Вход
1
00:00:01,000 --> 00:00:02,000
Gone entirely.
2
00:00:03,000 --> 00:00:04,000
Still here.
Выход
2
00:00:00,500 --> 00:00:01,500
Still here.
Первая реплика кончается на -500 мс, поэтому она удаляется, а не прижимается к нулю. Уцелевшая сохраняет номер 2 — сдвиг никогда не перенумеровывает.
Частые вопросы
Что именно меняется при сдвиге субтитров на миллисекунды?
Только время начала и конца: текст, переносы строк, встроенные теги и номера реплик переносятся без изменений. Смещение ограничено диапазоном ±3 600 000 мс, то есть часом в любую сторону, а всё, что не поместилось в шкалу, попадает в отчёт о потерях, а не исчезает молча.
Что происходит с репликой, которая после сдвига началась бы раньше нуля?
Действуют два разных правила. Если раньше нуля уехало только начало, оно прижимается к 00:00:00, а конец остаётся там, куда его поставила арифметика, — такая реплика становится короче, и это считается. Если же в ноль или раньше уехал конец, реплика удаляется целиком, потому что показывать её негде.
Зачем на странице миллисекундного сдвига поле частоты кадров?
Потому что MicroDVD .sub хранит тайминг номерами кадров, а не часами. Для него действует порядок «поле на странице > объявление в первой строке файла > 25 fps», и использование значения 25 записывается в отчёт как потеря. На остальные девять форматов это поле не влияет.
Можно ли сдвинуть файл LRC или обычный текст?
Нет, эта страница их не принимает: ни LRC, ни .txt не записывают в файл время окончания, поэтому смещению нечего двигать и результат совпал бы с исходником байт в байт. Такие файлы обрабатывают текстовые инструменты.
Что делает смещение 0 мс?
Ничего, и страница говорит об этом прямо: файл возвращается байт в байт. Ноль — допустимое значение, а не признак незаполненного поля; это быстрый способ убедиться, что файл уже стоит там, где нужно.
Совпадает ли предпросмотр с тем файлом, который я скачиваю?
Да, намеренно: результат читается обратно перед показом, поэтому шкала и число реплик описывают именно записанный файл. На форматах с сотыми долями секунды или целыми кадрами вы видите те значения, которые действительно лежат в файле, а не числа в памяти.