Встановити мінімальний проміжок
Або вставте текст субтитрів
Параметри
Скільки мілісекунд порожнього екрана лишити між кінцем однієї репліки й початком наступної. 80 мс — це два кадри при 25 fps, достатньо, щоб дві репліки не читалися як одна; мовники часто просять кілька кадрів. Якщо пара ближча за це, попередня репліка коротшає, щоб відкрити проміжок — вона ніколи не стає коротшою за одну мілісекунду, а пара, яку не вдалося розвести на повну величину, потрапляє у звіт, а не в примус.
Порожнеча між двома репліками має два краї: кінець попередньої й початок наступної. «Кінець» рухає кінець попередньої репліки, тож закриття проміжку подовжує її, а розширення — коротшає; наступна репліка зберігає таймінг до мілісекунди. «Початок» рухає початок наступної й не чіпає попередню. Вибирайте той, чиєму таймінгу довіряєте більше — зазвичай репліку, чий текст промовляють останньою, бо репліка не має з’являтися раніше, ніж чути її рядок.
У якій частоті кадрів пораховано таймінги. На сторінках форматів це те, що потрібно MicroDVD, бо він зберігає час як номери кадрів. На сторінках частоти кадрів це частота, за якою файл синхронізували — версія, для якої робили субтитри, — а друге поле сторінки приймає частоту відео, з яким ви будете їх використовувати. 23,976, 24, 25, 29,97, 30, 50, 59,94 і 60 — найпоширеніші. Помилка зміщує весь таймлайн, а на сторінках частоти кадрів — на відношення, а не на фіксовану величину.
Ця сторінка тримає нижню межу порожнього екрана між репліками: дайте їй кількість мілісекунд, і жодні два субтитри не стоятимуть ближче. Там, де пара стоїть надто близько, час віддає попередня репліка — вона закінчується раніше, — а наступна зберігає кожну мілісекунду, яку дав їй файл. Поставте межу 80 мілісекунд, значення за замовчуванням, і два рядки, що раніше зливалися, знову читаються як дві окремі речі.
Це протилежна вимога до заповнення проміжків, і поєднати їх не можна. Одна просить не більше ніж N мілісекунд порожнього екрана, друга — не менше ніж N; сторінка, яка несла б обидві, дала б файл, чий результат залежить від того, яке обмеження виконалося останнім, тоді як панель казала б інше. Тому це дві сторінки, і робота в них справді різна: заповнення проміжків — про мерехтіння, ця — про те, що репліки двох мовців зливаються.
Вісімдесят мілісекунд — не довільне число: це два кадри за 25 fps, найкоротша перерва, яку більшість глядачів сприймає як перерву. Якщо ваша вимога записана в кадрах, а не в мілісекундах, поставте частоту кадрів у поле fps і помножте: чотири кадри за 24 fps — це 167 мс, два кадри за 29,97 — 67. Частота кадрів також використовується для читання й запису таймкодів MicroDVD, тож на цьому форматі її особливо варто вказати правильно.
Яка межа рухається — тут справжній вибір, а не формальність. Кінець, типове значення, відтягує закінчення попередньої репліки назад, тому рядок усе ще промовляється повністю й лише трохи раніше зникає з екрана. Початок відсуває появу наступної репліки пізніше, що зберігає час попередньої, але наступний рядок з’являється трохи після того, як його почули, — це варіант, коли довіряють саме попередній репліці. Нічого не надсилається на сервер: кожен файл читається й записується у вкладці браузера, а SRT, WebVTT, ASS, SSA, SBV, SAMI, MicroDVD, TTML, JSON і CSV приймаються.
Приклади
Дві репліки за десять мілісекунд одна від одної
Вхід
1
00:00:01,000 --> 00:00:02,000
First line.
2
00:00:02,010 --> 00:00:03,000
Second line.
3
00:00:03,400 --> 00:00:04,000
Third line.
Результат
1
00:00:01,000 --> 00:00:01,930
First line.
2
00:00:02,010 --> 00:00:03,000
Second line.
3
00:00:03,400 --> 00:00:04,000
Third line.
Перша пара стоїть за 10 мс, тому перший рядок закінчується на 1930 замість 2000, і проміжок стає рівно 80. Друга пара за 400 мс цілком у межах, і жодна з тих реплік не рухається ні на мілісекунду. Зверніть увагу: друга репліка недоторкана в обох парах — час втрачає лише репліка ліворуч від завузького проміжку.
Проміжок рівно 80 і проміжок 79
Вхід
1
00:00:01,000 --> 00:00:02,000
First.
2
00:00:02,080 --> 00:00:02,500
Second.
3
00:00:02,579 --> 00:00:03,000
Third.
Результат
1
00:00:01,000 --> 00:00:02,000
First.
2
00:00:02,080 --> 00:00:02,499
Second.
3
00:00:02,579 --> 00:00:03,000
Third.
Межа — це мінімум, а не ціль: проміжок рівно 80 мс уже її задовольняє й залишається як був, а проміжок 79 на одну мілісекунду коротший, і друга репліка віддає рівно цю мілісекунду. Обидва боки межі є в одному файлі, щоб було видно: перевірка — «не менше», і саме тому файл, чиї проміжки всі стоять на числі, повертається недоторканим.
Рухається наступна репліка
Вхід
1
00:00:01,000 --> 00:00:02,000
First.
2
00:00:02,010 --> 00:00:03,000
Second.
Результат
1
00:00:01,000 --> 00:00:02,000
First.
2
00:00:02,080 --> 00:00:03,000
Second.
Та сама пара, що й у першому прогоні, але вибрано Початок: другий рядок тепер починається на 2080, а не на 2010, і перша репліка зберігає кожну мілісекунду. Ці зайві 70 мс глядач бачить як трохи запізнілу появу другого рядка — це ціна довіри до часу попередньої репліки; беріть цю межу, коли саме попередню репліку звіряли зі звуком.
Часті запитання
Звідки береться початкове значення 80 мілісекунд?
Два кадри за 25 fps. Нижче за це проміжок між двома субтитрами більшість глядачів читає як один дворядковий субтитр, а не як передачу від одного до другого, і саме цю плутанину мінімальний проміжок має прибрати. Якщо вимога записана в кадрах — чотири, шість, стільки-то кадрів у мовному стандарті, — поставте в поле частоту кадрів свого проєкту й перерахуйте: за 24 fps чотири кадри — це 167 мс, за 29,97 два кадри — 67.
Чи можна цією сторінкою і заповнювати проміжки, і відкривати їх?
Ні, і це навмисно. Сторінка лише відкриває проміжки: пара, що вже стоїть далі за ваше число, залишається точно як була. Просити обидві дії одразу — суперечність (не більше ніж N і не менше ніж N), тому вони живуть на окремих сторінках, і файл виходить однаковим лише тоді, коли він уже задовольняє обидві умови. Заповнення проміжків — сторінка для випадку, коли репліки мають зливатися або стояти край у край.
Що буде, якщо репліка надто коротка, щоб віддати час?
Її залишено як була, і пара стоїть ближче, ніж ви просили. Репліка на одну мілісекунду не може віддати 80, а стискання її до нуля дало б репліку, яку жоден плеєр не намалює, — це гірше за тісний проміжок, який ви намагалися виправити. Сторінка повідомляє такий прогін як «нічого не змінено», а не силує число, тому порожній список змін — чесна відповідь для файлу, де не було місця, а не ознака, що налаштування проігнорували.
Чому коротшає саме попередня репліка?
Бо дати рядку зникнути трохи раніше безпечніше, ніж дати наступному з’явитися трохи пізніше. З Кінцем, типовим значенням, кожне вимовлене слово все ще накрите своєю реплікою, і обрізається лише хвіст. Початок зсуває всю появу наступної репліки пізніше, і її перше слово з’являється на екрані після того, як його почули. Обидві межі доступні, бо деякі файли справді хочуть другої поведінки, але безпечна — типова.
Чи впливає нумерація кадрів MicroDVD на результат?
Вона змінює те, як файл записується назад, а не те, що робить сторінка. MicroDVD зберігає номери кадрів замість часу годинника, тому поле частоти кадрів перетворює початок 1000 мс у номер кадру на вході й назад на виході. На цьому форматі межа, що не є цілою кількістю кадрів, округлюється до найближчої — це справжнє обмеження точності проміжку: за 25 fps 80 мс — рівно два кадри, тож типове значення лягає на ціле число.
Чи штовхне прогін одну репліку за наступну?
Ні. Рухається лише кінець попередньої репліки, і лише назад, тому найгірший випадок — репліка віддає весь свій час і спиняється на власному початку: вона ніколи не заходить у слот наступної й не створює перекриття. Файл, де перекриття вже є, у цих місцях недоторканий, бо в пари, що вже перетинається, немає проміжку для розширення; такому файлу потрібна сторінка усунення перекриттів.