Перейти до основного вмісту
SubtitleMatrix

Конвертувати частоту кадрів

ТаймінгПерерахунок частоти кадрів
Або вставте текст субтитрів

Параметри

У якій частоті кадрів пораховано таймінги. На сторінках форматів це те, що потрібно MicroDVD, бо він зберігає час як номери кадрів. На сторінках частоти кадрів це частота, за якою файл синхронізували — версія, для якої робили субтитри, — а друге поле сторінки приймає частоту відео, з яким ви будете їх використовувати. 23,976, 24, 25, 29,97, 30, 50, 59,94 і 60 — найпоширеніші. Помилка зміщує весь таймлайн, а на сторінках частоти кадрів — на відношення, а не на фіксовану величину.

Частота кадрів версії, з якою ви будете використовувати субтитри, — відео, яке насправді відтворюватимете. Застосовується множник: перше поле, поділене на це, тож 24 у 25 дає 0,96: фільм на PAL іде на 4 % швидше, і 100-хвилинна стрічка вкладається в 96-хвилинну касету. Переплутайте поля місцями — і весь таймлайн зсунеться в неправильний бік на ту саму величину.

Перерахунок частоти кадрів змінює швидкість шкали субтитрів: кожна позначка часу множиться на одне відношення, обчислене з двох частот. Перше поле — частота, під яку зроблено файл, тобто версія, для якої створювали субтитри. Друге — частота версії, з якою ви збираєтеся їх використовувати. Відношення — це перша частота, поділена на другу, тому 23,976 на 25 дає 0,95904, і все виходить на 4,1 % раніше.

У цьому напрямку й полягає весь інструмент, і саме тут найчастіше помиляються. Ділити треба на частоту версії, яку ви будете відтворювати, а не тієї, що у вас є. Найпростіше побачити це на PAL: фільм, знятий за 24 fps і показаний за 25 fps, відтворює ті самі кадри на 4 % швидше, і 100-хвилинна стрічка стає 96-хвилинною касетою. Тому файл, зроблений під фільм, треба стиснути до 96, щоб він ліг на касету, а той самий файл, повернутий на майстер фільму, треба розтягнути на 104,1667. Якщо переплутати поля, шкала поїде на ту саму величину в інший бік — файл і далі виглядатиме як файл субтитрів, тому поля й підписані, а не зведені до одного множника.

Ось пари, які трапляються: 23,976 на 25 і назад для NTSC-фільму проти PAL, 24 на 25 і назад для майстра фільму проти PAL, 50 на 25, коли інтерлейсований матеріал порахували двічі, і 23,976 проти 29,97, коли шкалу порахували не в тих кадрах. Шість сторінок цієї групи заповнюють поля за вас і пояснюють, для чого кожна пара; ця сторінка — для всього іншого. Обидва поля приймають будь-яку частоту, зокрема 29,97, 30, 59,94 і 60.

Файли MicroDVD .sub поводяться інакше за всі інші формати, бо їхні таймкоди — це номери кадрів, а не значення годинника. Ті самі кадри, відтворені з іншою частотою, зберігають свої номери — кадр 50 і там, і там кадр 50, — тому перерахунок не чіпає ці числа, а змінює частоту, оголошену в першому рядку файлу; якщо оголошення немає, береться 25, а поле на сторінці має перевагу і над оголошенням, і над 25. SRT, WebVTT, ASS, SSA, SBV, SAMI, TTML, JSON і CSV читаються як те, чим вони насправді є, а не як підказує розширення; звичайний текст і LRC не приймаються, бо жоден не зберігає часу закінчення, до якого можна застосувати відношення. Нічого не надсилається на сервер, а цілий сезон проходить через чергу за один прохід.

Приклади

Пара, з якої починаються поля

Вхід

1
00:00:02,000 --> 00:00:04,000
Hello there.

2
00:00:30,000 --> 00:00:32,000
Half a minute in.

Результат

1
00:00:01,918 --> 00:00:03,836
Hello there.

2
00:00:28,771 --> 00:00:30,689
Half a minute in.

23,976 на 25 — це 0,95904, тому кожна позначка зберігає 95,904 % свого значення. Репліка на двох секундах рухається на 82 мс, на тридцяти секундах — на 1229 мс: у п’ятнадцять разів далі від нуля, у п’ятнадцять разів більше руху. Більше у файлі нічого не змінюється, а обидві межі кожної репліки множаться на те саме число, тому довжини скорочуються в тій самій пропорції.

Чому номери кадрів залишаються на місці

Вхід

{1}{1}25
{50}{100}Hello
{150}{200}World

Результат

{1}{1}24
{50}{100}Hello
{150}{200}World

Це виглядає так, ніби нічого не сталося, і номери кадрів справді не рушили: ті самі кадри з іншою частотою — це все ще кадри 50, 100, 150 і 200. Змінилася частота в рядку оголошення, з якого починається формат: 25 стало 24, і саме це зсуває субтитри в плеєрі. Якби той самий файл перерахували без оголошеної частоти, множилися б кадри — це відповідь для файлів, чий час порахували не в тих кадрах, а не для файлів, які відтворюють з іншою швидкістю.

Файл, що починається за хвилину від нуля

Вхід

1
00:01:00,000 --> 00:01:02,000
Lead-in ends, speech starts.

2
00:02:00,000 --> 00:02:02,000
One minute later.

Результат

1
00:01:02,563 --> 00:01:04,648
Lead-in ends, speech starts.

2
00:02:05,125 --> 00:02:07,211
One minute later.

25 на 23,976 — це 1,0427094, зворотний напрямок, і застосовується він від нуля: початкова репліка стоїть за хвилину від початку й відсувається на дві з половиною секунди пізніше. Вступна тиша — така сама частина шкали, як і будь-яка інша, тому масштабується разом з усім. Якщо перший субтитр мусить стояти на місці, а рухатися має лише те, що після нього, потрібен сталий зсув або точкова синхронізація, а не відношення.

Часті запитання

Яку з двох частот ставити в перше поле?

Ту, під яку зроблено файл, — версію, для якої створювали субтитри, а не відео, яке ви збираєтеся дивитися. Множник — це перше поле, поділене на друге, тому файл під 24 fps, потрібний для 25 fps, бере 0,96, а той самий файл, повернутий із PAL, бере 1,0416667. Обидва числа мають сенс лише як пара: 0,96 саме по собі нічого не означає, поки невідомо, звідки прийшов файл.

Чи можна ввести частоти, яких немає в переліку пар?

Так. Для арифметики обидва поля — вільний текст, і відношення рахується з того, що ви ввели: 29,97, 30, 48, 59,94 і 60 працюють. Шість сторінок цієї групи існують тому, що їхні пари найчастіше трапляються на практиці й тому, що сторінка, яка називає пару, може пояснити її причину. Якщо ви знаєте готове відношення, а не частоти, сторінка масштабування в групі timing приймає відсоток напряму.

Чому після перерахунку частоти кожен субтитр коротший?

Бо обидві межі кожної репліки множаться на те саме відношення. Двохсекундна репліка за 0,96 стає 1,92 секунди, а за 0,95904 — 1,918. З тексту нічого не вирізається: репліці дають менше часу, бо вся шкала відтворюється швидше, тому швидкість читання рядка зростає на ті самі 4 %. Це варто перевірити перед публікацією файлу, перерахованого в PAL.

Чому файл MicroDVD зберігає номери кадрів?

Бо його таймкоди — це номери кадрів, а кадри не змінюються: ті самі плани з іншою частотою — це все ті самі кадри. Перерахунок переписує частоту, оголошену в першому рядку файлу, і саме її плеєр використовує, щоб перетворити номери кадрів назад у секунди. Інший випадок — .sub, чий час порахували не в тих кадрах: там номери кадрів справді рухаються, і для цього є сторінка 23,976 на 29,97.

Чи потрібна окрема сторінка для кожної пари частот?

Ні, ця сторінка обробляє будь-яку пару. Інші сторінки групи — це ярлики, які заповнюють обидва поля й пояснюють пару: 24 і 25 для фільму проти PAL, 23,976 і 25 для NTSC-фільму проти PAL, 23,976 і 29,97 для плутанини з підрахунком кадрів, 50 на 25 для інтерлейсованого матеріалу, порахованого двічі. Нічого з тих сторінок тут не недоступне — вони відрізняються тим, що розповідають, чому вашому файлу потрібна саме ця пара.

Що станеться, якщо ввести однакову частоту в обидва поля?

Нічого, і інструмент це каже, а не вдає роботу. Відношення одиниці — тотожне перетворення, тому файл повертається байт у байт. Це корисна перевірка сама по собі: киньте файл на цю сторінку з однаковими частотами й побачите рівно те, що з ним роблять парсер і записувач, без жодної арифметики частот.

Споріднені інструменти