25 fps → 23,976 fps
Или вставьте текст субтитров
Параметры
В какой частоте кадров считается тайминг. На страницах форматов это то, что нужно MicroDVD: он хранит время в номерах кадров. На страницах частоты кадров это частота, по которой файл был рассчитан, — версия, для которой делались субтитры, — а второе поле страницы принимает частоту видео, с которым вы будете их использовать. Обычные значения: 23,976, 24, 25, 29,97, 30, 50, 59,94 и 60. Ошибка сдвигает весь таймлайн, а на страницах частоты кадров — на коэффициент, а не на фиксированную величину.
Частота кадров версии, с которой вы будете использовать субтитры, — видео, которое действительно будете проигрывать. Применяемый коэффициент — первое поле, делённое на это; так 24 в 25 дают 0,96: фильм идёт на PAL на 4% быстрее, и 100-минутная картина помещается на 96-минутную кассету. Если перепутать поля местами, весь таймлайн сдвинется в неверную сторону на ту же величину.
Эта страница берёт файл, рассчитанный по PAL-версии 25 fps, и переносит его на версию 23,976 fps. Каждый таймкод умножается на 25 ÷ 23,976 = 1,0427094, поэтому вся дорожка выходит на 4,271 % позже, и каждая реплика получает на 4,271 % больше времени на экране. Оба поля уже заполнены; измените их, если ваш файл считали по другой частоте. Случай, ради которого страница существует, — обратный путь с PAL: европейский диск или эфир на 25 fps показывает картинку на 4,271 % быстрее плёнки, поэтому файл, рассчитанный по PAL-версии, сжат на столько же и его нужно развернуть обратно. Осторожно с парой 25 → 29,97: коэффициент 0,83417 не имеет физического смысла, потому что 29,97 — частота сигнала, а не скорость показа, и фильм внутри сигнала растягивается повторными кадрами; честный путь с PAL на NTSC идёт через частоту плёнки и начинается здесь.
Примеры
Короткая реплика и длинная
Вход
1
00:00:01,000 --> 00:00:03,000
Hello there.
2
00:01:00,000 --> 00:01:02,000
One minute in.
Выход
1
00:00:01,043 --> 00:00:03,128
Hello there.
2
00:01:02,563 --> 00:01:04,648
One minute in.
1,0427094 — это 25, делённое на 23,976. Реплика на одной секунде уезжает на 43 мс позже, на минуте — на 2 563 мс позже: в шестьдесят раз дальше от нуля, в шестьдесят раз больше сдвиг. Страница с чистой парой 24 и 25 дала бы 1,0416667 и оставила бы минутную реплику на 63 мс раньше.
Поправка растёт вместе с часами
Вход
1
00:10:00,000 --> 00:10:02,000
Ten minutes in.
2
01:00:00,000 --> 01:00:02,000
An hour in.
Выход
1
00:10:25,626 --> 00:10:27,711
Ten minutes in.
2
01:02:33,754 --> 01:02:35,839
An hour in.
Двадцать пять секунд на десятиминутной отметке и две с половиной минуты на часе. Файл, который словно уезжает всё сильнее по ходу, — подпись, которую исправляет эта пара, и рост служит доказательством, что проблема в коэффициенте, а не в сдвиге: фиксированный сдвиг выровнял бы либо начало, либо конец, но никогда оба.
Файл MicroDVD сохраняет номера кадров
Вход
{1}{1}25
{50}{100}Hello
Выход
{1}{1}23.976
{50}{100}Hello
MicroDVD считает кадрами, и кадры — это одни и те же картинки в обоих случаях: кадр 50 остаётся кадром 50 и при 25, и при 23,976. Поэтому правится только объявленная частота в первой строке, по которой плеер превращает номера кадров в секунды. Переписать сами номера значило бы применить 4,271 % дважды.
Частые вопросы
Мои PAL-субтитры должны работать с NTSC-видео — это пара 25 → 23,976?
Обычно да, потому что NTSC и PAL — не две скорости одного и того же: фильм в NTSC идёт на 23,976, а в PAL на 25, поэтому честный шаг с PAL-таймлайна на NTSC — сначала вернуться к частоте плёнки: 25, делённое на 23,976, даёт 1,0427094. Пара, за которую хватаются вместо неё, — 25 и 29,97 с коэффициентом 0,83417, снимающим шестую часть файла; у этого числа нет физической истории, потому что 29,97 — частота сигнала, а фильм внутри него добирается повторными кадрами, не меняющими длительности.
Почему коэффициент 1,0427094, а не 1,0416667?
Потому что 23,976 — это 24 000/1001, а не 24: 25, делённое на 23,976, даёт 1,0427094, а 25, делённое на 24, — 1,0416667. Разница — 0,104 %: 3,5 секунды в час и 5,9 секунды за 95-минутный фильм. Берите страницу той частоты, на которой на самом деле идёт ваша цель: если это NTSC-релиз фильма, то 23,976, а если мастер-копия — настоящие 24.
Насколько позже окажется последний субтитр?
На четверти часа — примерно на 38 секунд позже, на десяти минутах — на 25,6 секунды, на часе — на две минуты 33,7 секунды, а 95-минутный PAL-файл выходит на 99 минутах 3 секундах. Поправка — фиксированная доля времени, поэтому последняя реплика всегда уезжает дальше всех; файл становится длиннее, хотя видео остаётся прежним, и в этом весь смысл, ведь тайминги изначально спешили.
После пересчёта субтитры всё ещё разъезжаются в конце — что ещё это может быть?
PAL-диск, из которого вырезали сцены. Многие европейские издания идут на несколько секунд короче, потому что кадры или целые планы были вырезаны, и если вырезали не только в конце, ни один коэффициент не выровняет файл: ошибка скачет на каждой склейке, а не растёт плавно. Здесь нужна синхронизация по двум точкам, где вы задаёте два опорных момента, а инструмент считает коэффициент и сдвиг между ними, а не пересчёт частоты.
Можно ли выровнять PAL-диск, ускоренный с мастер-копии 24 fps?
Да, и арифметика та же, только число чуть другое. Если версия, к которой вы возвращаетесь, — мастер-копия с настоящими 24, нужна пара 25 → 24 и коэффициент 1,0416667; если это NTSC-релиз фильма, частота 23,976 и коэффициент 1,0427094. Оба поля этой страницы принимают любой вариант, и у каждого есть своя страница с объяснением, когда он верный.
Меняется ли что-то ещё, кроме таймингов?
Нет. Текст, разрывы строк и оформление, которое несёт формат, не трогаются, и порядок реплик измениться не может: умножение всех таймкодов на одно положительное число монотонно, поэтому две реплики, которые не пересекались раньше, не начнут пересекаться. Каждая реплика получает на 4,271 % больше времени на экране — это единственное направление в группе, где скорость чтения строки падает, а не растёт.