Сдвинуть субтитры на кадры
Или вставьте текст субтитров
Параметры
Целое число кадров, пересчитанное через частоту кадров ниже. Используйте, когда источник — MicroDVD .sub или когда в заметке, с которой вы работаете, считают кадры, а не секунды.
В какой частоте кадров считается тайминг. На страницах форматов это то, что нужно MicroDVD: он хранит время в номерах кадров. На страницах частоты кадров это частота, по которой файл был рассчитан, — версия, для которой делались субтитры, — а второе поле страницы принимает частоту видео, с которым вы будете их использовать. Обычные значения: 23,976, 24, 25, 29,97, 30, 50, 59,94 и 60. Ошибка сдвигает весь таймлайн, а на страницах частоты кадров — на коэффициент, а не на фиксированную величину.
Эта страница сдвигает файл субтитров на заданное число кадров: двенадцать кадров и частота кадров дают точное смещение, и оба края каждой реплики едут вместе, поэтому длина не меняется. Частота кадров здесь — половина операции, а не свойство файла: кадры становятся миллисекундами делением на частоту и умножением на тысячу, поэтому двенадцать кадров — это 480 мс при 25 fps, 500 мс при 24 и 500,5 мс при 23,976.
Смещение в кадрах, не попадающее в целую миллисекунду, округляется один раз до начала работы, потому что ни один формат субтитров не хранит доли миллисекунды; дальше всё считается в целых миллисекундах, и предпросмотр с файлом описывают одну и ту же шкалу.
У начала файла действуют те же правила: начало, уехавшее раньше нуля, прижимается к 00:00:00 и реплика становится короче, а реплика, чей конец оказался в нуле или раньше, удаляется. Принимаются SRT, WebVTT, ASS, SSA, SBV, SMI, MicroDVD, TTML, JSON и CSV, смещение считается в браузере, файлы никуда не отправляются, и очередь берёт сезон за один проход.
Примеры
Двенадцать кадров при 25 fps
Вход
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,480 --> 00:00:03,480
Hello there.
2
00:00:05,980 --> 00:00:08,480
Second line.
Двенадцать кадров при 25 fps — это 480 мс. Целая частота даёт целый результат, поэтому этот случай проще всего сверить с таймлайном, с которого сняты кадры.
Те же двенадцать кадров при 23,976 fps
Вход
1
00:00:01,000 --> 00:00:03,000
Twenty-three point nine seven six.
Выход
1
00:00:01,501 --> 00:00:03,501
Twenty-three point nine seven six.
500,5 мс один раз округляется до 501 ещё до применения смещения, поэтому ни одна реплика не остаётся с половиной миллисекунды.
Отрицательное число кадров
Вход
1
00:00:00,200 --> 00:00:02,000
Starts almost immediately.
2
00:00:05,000 --> 00:00:06,000
Later.
Выход
1
00:00:00,000 --> 00:00:01,600
Starts almost immediately.
2
00:00:04,600 --> 00:00:05,600
Later.
Минус десять кадров при 25 fps — это 400 мс раньше. Первая реплика началась бы на 200 мс раньше нуля, поэтому её начало прижимается к нулю, а конец едет на все 400 мс.
Частые вопросы
Почему этой странице нужна частота кадров, а странице миллисекунд — нет?
Потому что здесь частота кадров входит в арифметику: кадры становятся длительностью только тогда, когда известно, сколько их проходит в секунду, и значение из поля применяется ко всем форматам. На миллисекундной странице частота нужна лишь для чтения и записи MicroDVD, поэтому там её можно не трогать.
Какую частоту кадров выбрать для фильма 23,976 fps?
23,976, а не 24. На коротком смещении разница прячется, но двенадцать кадров дают 500 мс при одной частоте и 500,5 мс при другой, и на глаз это неотличимо. Для файла MicroDVD, где частота пересчитывает всю шкалу из кадров, ошибка в частоте растёт вместе с длиной фильма.
Может ли сдвиг в кадрах попасть между двумя миллисекундами?
Пересчёт может, и результат один раз округляется до ближайшей миллисекунды до того, как смещение применится к репликам. Ни один формат не хранит доли миллисекунды, поэтому округление в начале держит шкалу в целых числах, а не оставляет дробь, которая на каждом таймкоде округлилась бы по-своему.
Обязательно ли целое число кадров?
Да, поле принимает только целые. Полкадра — не позиция, на которую плеер умеет встать, а приём дробного значения означал бы тихое округление за вас; лучше, чтобы введённое и использованное совпадали.
Что будет, если оставить поле частоты кадров пустым?
Страница не запустится, пока поле не заполнено. Без частоты число кадров не становится длительностью, а другие варианты — угадать или молча ничего не сделать — дают файл, который выглядит обработанным, но не является тем, что вы просили.
Откуда берётся частота кадров, если файл MicroDVD объявляет её сам?
Порядок такой: значение в поле на странице, затем объявление в первой строке MicroDVD .sub, затем 25 fps по умолчанию. Использование значения по умолчанию записывается в отчёт как потеря, потому что файл не сказал, по какой частоте его считали.