Масштабувати таймінг субтитрів
Або вставте текст субтитрів
Параметри
Відсоток: 100 залишає файл як є, 50 зменшує весь таймлайн удвічі. Для частоти кадрів множник — це вихідна частота, поділена на цільову: файлу, синхронізованому з фільмом, для 25 fps PAL, який іде на 4 % швидше, потрібно 96; файлу, синхронізованому з PAL, для повернення до 24 fps майстра — 104,1667. Кожен початок і кожен кінець множаться на те саме відношення, тож довжини реплік і проміжки між ними змінюються разом.
У якій частоті кадрів пораховано таймінги. На сторінках форматів це те, що потрібно MicroDVD, бо він зберігає час як номери кадрів. На сторінках частоти кадрів це частота, за якою файл синхронізували — версія, для якої робили субтитри, — а друге поле сторінки приймає частоту відео, з яким ви будете їх використовувати. 23,976, 24, 25, 29,97, 30, 50, 59,94 і 60 — найпоширеніші. Помилка зміщує весь таймлайн, а на сторінках частоти кадрів — на відношення, а не на фіксовану величину.
Ця сторінка множить кожен таймкод у файлі субтитрів на відсоток. Введіть 104,1667 — і вся шкала розтягнеться на цю величину; введіть 96 — і вона повернеться назад; введіть 50 — і файл стиснеться до половини довжини. Множаться і початок, і кінець кожної репліки, тому довжини реплік і проміжки між ними змінюються разом, а чим пізніше стоїть субтитр, тим далі він рухається.
Останнє важливе, бо це єдиний різновид виправлення таймінгу, який лікує дрейф. Файл, що на першій хвилині відстає на дві секунди, а на останній — на дві хвилини, має не проблему зсуву, а проблему швидкості: його звіряли з версією, що йшла з іншою швидкістю. Зсув усього на сталу величину робить початок гіршим; множення всього на коефіцієнт робить правильними обидва кінці, бо помилка, яку виправляють, росте з відстанню від нуля.
Класичний випадок — різниця частот кадрів: файл, звірений із 24 fps, потрібен для версії 25 fps, або навпаки. Плівка на PAL іде на 4 відсотки швидше, тому її тривалість — 96 відсотків оригіналу: стохвилинний фільм уміщається на дев’яносто шести хвилинах стрічки. Тому файл, звірений із плівкою, треба стиснути на 96, а файл, звірений із PAL-версією, розтягнути на 104,1667, щоб він знову ліг на плівкову версію. Плівка, перенесена з 23,976 fps, трохи інша знову — для цього є сторінки частоти кадрів у цій групі; тут ви задаєте коефіцієнт самі, у відсотках.
SRT, WebVTT, ASS, SSA, SBV, SAMI, MicroDVD, TTML, JSON і CSV читаються як те, чим вони є, а не як підказує розширення. Простий текст і LRC не приймаються, бо жоден із них не зберігає часу закінчення, до якого застосувати коефіцієнт. Нічого не завантажується, і цілий сезон проходить через чергу за один раз.
Приклади
Скасування чотиривідсоткового прискорення PAL
Вхід
1
00:00:01,000 --> 00:00:03,000
Hello there.
2
00:00:05,000 --> 00:00:08,000
Second line.
Результат
1
00:00:01,042 --> 00:00:03,125
Hello there.
2
00:00:05,208 --> 00:00:08,333
Second line.
Масштаб 104,1667 — це 25 поділити на 24, коефіцієнт, який бере файл, звірений із PAL-версією 25 fps, і повертає його на плівковий мастер 24 fps. Перша репліка відкривається на першій секунді й рухається на 42 мс; друга відкривається на п’ятій і рухається на 208 мс. Уп’ятеро більша відстань від нуля — уп’ятеро більший рух: у цьому вся різниця між цією сторінкою й зсувом усього на сталу величину.
Чому коефіцієнт лікує дрейф
Вхід
1
00:00:00,000 --> 00:00:02,000
Opening line.
2
00:01:00,000 --> 00:01:02,000
One minute in.
3
00:10:00,000 --> 00:10:02,000
Ten minutes in.
Результат
1
00:00:00,000 --> 00:00:02,083
Opening line.
2
00:01:02,500 --> 00:01:04,583
One minute in.
3
00:10:25,000 --> 00:10:27,084
Ten minutes in.
Знову 104,1667. Початковий рядок майже не рухається, позначка першої хвилини зсувається на дві з половиною секунди, а десятихвилинна — на двадцять п’ять. Сталий зсув міг би вирівняти будь-яку одну з цих трьох і залишив би дві інші неправильними; коефіцієнт вирівнює всі три одразу.
Стиснення файлу, щоб він умістився
Вхід
1
00:00:10,000 --> 00:00:12,000
First.
2
00:01:00,000 --> 00:01:03,000
Second.
Результат
1
00:00:08,000 --> 00:00:09,600
First.
2
00:00:48,000 --> 00:00:50,400
Second.
Масштаб 80. Кожна репліка зберігає 80 відсотків довжини й стоїть на 80 відсотках шляху від нуля, тому рядок, що був на екрані дві секунди, тепер отримує 1,6 секунди. Стежте за швидкістю читання, коли стискаєте: слова не стали коротшими, скоротився лише час, який їм дали.
Часті запитання
Який відсоток потрібен для перетворення субтитрів між 24 і 25 fps?
Коефіцієнт завжди дорівнює вихідній частоті кадрів, поділеній на цільову, тому яке число брати, залежить від того, з якою версією звіряли файл. Файл, звірений із плівкою 24 fps для PAL-версії 25 fps, множиться на 96. Файл, звірений із PAL-версією, щоб повернути його на плівковий мастер, множиться на 104,1667 — це 25 поділити на 24. Плівка 23,976 fps використовує 95,904 і 104,2708 для тих самих двох напрямків, бо 23,976 — не рівно 24. Інакше кажучи, 104,1667 скасовує прискорення PAL, а 96 його застосовує.
Чому пізніші субтитри рухаються далі за ранні?
Бо коефіцієнт застосовується до відстані від нуля, а не до довжини самої репліки. Репліка на першій секунді рухається приблизно на 42 мс за 104,1667 відсотка, а репліка на десятій хвилині — на двадцять п’ять секунд. Саме це дає інструменту здатність виправляти дрейф, а не просто зсувати все на сталу, і тому ви вводите відсоток, а не кількість мілісекунд.
Чи змінює масштабування час, який кожна репліка стоїть на екрані?
Так, пропорційно. Обидва краї кожної репліки множаться на той самий коефіцієнт, тому дворядкова на дві секунди за 80 відсотків стає 1,6 секунди, а за 150 відсотків — трьома секундами. Тому стиснення наближає кожну репліку до межі швидкості читання, а розтягнення дає кожній більше часу, ніж було.
Чи може масштабування змусити два субтитри перекритися?
Ні. Множення на додатний коефіцієнт монотонне, і округлення до цілих мілісекунд це зберігає, тому дві репліки, які не перекривалися до, не можуть почати перекриватися після. Стиснення справді зменшує проміжки між репліками й може звести їх до дотику, який деякі плеєри малюють як мерехтіння, але самі репліки залишаються в порядку.
Що стається з реплікою, надто короткою для обраного масштабу?
Вона вилучається, а кількість повідомляється. Репліка на 20 мс, масштабована до 1 відсотка, має обидва краї, що округлюються до тієї самої мілісекунди, і писати вже нічого. Доповнити її до мінімальної довжини означало б покласти у файл невидиму репліку, поки сторінка стверджувала б, що вона вижила, — це гірша відповідь, ніж прибрати її й сказати про це.
Чи залишається перший субтитр файлу на місці?
Лише якщо він починається з нуля. Усе міряється від початку шкали, тому у файлі, чия перша репліка відкривається на 00:01:00, цей вступ масштабується разом із рештою. Якщо початкова хвилина — фіксована заставка, яка не повинна рухатися, вам потрібен сталий зсув, а не коефіцієнт.