Виправити 23,976 fps на 29,97 fps
Або вставте текст субтитрів
Параметри
У якій частоті кадрів пораховано таймінги. На сторінках форматів це те, що потрібно MicroDVD, бо він зберігає час як номери кадрів. На сторінках частоти кадрів це частота, за якою файл синхронізували — версія, для якої робили субтитри, — а друге поле сторінки приймає частоту відео, з яким ви будете їх використовувати. 23,976, 24, 25, 29,97, 30, 50, 59,94 і 60 — найпоширеніші. Помилка зміщує весь таймлайн, а на сторінках частоти кадрів — на відношення, а не на фіксовану величину.
Частота кадрів версії, з якою ви будете використовувати субтитри, — відео, яке насправді відтворюватимете. Застосовується множник: перше поле, поділене на це, тож 24 у 25 дає 0,96: фільм на PAL іде на 4 % швидше, і 100-хвилинна стрічка вкладається в 96-хвилинну касету. Переплутайте поля місцями — і весь таймлайн зсунеться в неправильний бік на ту саму величину.
Ця сторінка бере файл субтитрів, чию шкалу порахували за 23,976 кадру на секунду, і переносить її на шкалу 29,97. Кожна позначка множиться на 0,8 — рівно чотири п’ятих, — тому файл виходить на п’яту частину коротшим: репліка на першій хвилині стає реплікою на сорок восьмій секунді, а 24-хвилинна серія, чиї субтитри заявляють тридцять хвилин, повертається до двадцяти чотирьох. Обидва поля вже заповнені; змініть їх, якщо ваш файл пораховано за чимось іншим.
Помилка криється в арифметиці перетворення номерів кадрів у секунди. Якщо інструмент читав номери кадрів, що належали шкалі 29,97, але ділив їх на 23,976, то кожна отримана секунда виявилася на чверть завеликою: 29,97 поділити на 23,976 — це 1,25, тому вся шкала розтягнута на чверть, а субтитри відстають на 25 %, дедалі сильніше в міру розгортання фільму. Множення на 0,8 — це та сама похибка, поділена назад.
Одне, для чого цю сторінку вживати не можна, і це найлегша помилка в усій групі. Фільм усередині NTSC-сигналу проходить через 3:2 pulldown: ті самі кадри повторюються, щоб заповнити сигнал 29,97, а pulldown залишає час перегляду точно таким, яким він був. Тому «моє відео 29,97 і з pulldown» — не причина щось перераховувати: файл, зроблений під таке відео, уже правильний, і множення на 0,8 забере в нього п’яту частину. Ця сторінка — для файлу, чиї номери кадрів порахували за неправильною частотою, а не для файлу, який лише лежить у контейнері 29,97.
Працювати з цією парою приємно тому, що 0,8 точне. Обидві частоти належать родині NTSC і обидві несуть те саме ділення на 1001, тому 1001 скорочується, і 23,976 на 29,97 — це просто 24000 на 30000: чотири п’ятих, без округлень і без залишку. Кожна репліка отримує на п’яту частину менше часу на екрані, що підвищує швидкість читання кожного рядка на 25 %. Нічого не надсилається на сервер, а цілий сезон проходить через чергу за один прохід — SRT, WebVTT, ASS, SSA, SBV, SAMI, MicroDVD, TTML, JSON і CSV читаються як те, чим вони насправді є; для MicroDVD частота береться з поля сторінки, інакше з першого рядка файлу, інакше 25.
Приклади
Коротка репліка й довга
Вхід
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:00,800 --> 00:00:02,400
Hello there.
2
00:00:48,000 --> 00:00:49,600
One minute in.
0,8 — це 23,976, поділене на 29,97. Репліка на першій секунді втрачає 200 мс, а на хвилині — 12 000 мс: у шістдесят разів далі від нуля, у шістдесят разів більше руху. Обидві межі кожної репліки множаться, тому дворядкова репліка на дві секунди отримує 1,6 секунди, і саме з цього скорочення походить зростання швидкості читання.
Запізнення зростає разом із годинником
Вхід
1
00:10:00,000 --> 00:10:02,000
Ten minutes in.
2
00:30:00,000 --> 00:30:02,000
Half an hour in.
Результат
1
00:08:00,000 --> 00:08:01,600
Ten minutes in.
2
00:24:00,000 --> 00:24:01,600
Half an hour in.
На десятій хвилині запізнення дві хвилини, на півгодині — шість: в обох випадках чверть минулого часу, а так і виглядає проблема відношення. Сталий зсув цього не виправить ніколи, а пропорція — так. Перевірка після перерахунку — у кінці файлу: відкрийте його на новій позначці останньої репліки, і рядок має бути на місці.
MicroDVD змінює лише рядок оголошення
Вхід
{1}{1}23.976
{240}{288}Hello
Результат
{1}{1}29.97
{240}{288}Hello
MicroDVD зберігає час номерами кадрів, і винні були не кадри, а частота, на яку їх ділили. Кадр 240, оголошений за 23,976, читається як десять секунд — саме це запізнення й викликає скарги; оголошений за 29,97 він читається як вісім, і там ця репліка й має бути. Тому редагується перший рядок файлу, а жоден номер кадру не чіпається: переписування застосувало б 25 % двічі.
Часті запитання
Чому множник для 23,976 на 29,97 дорівнює рівно 0,8?
Бо обидві частоти належать NTSC і обидві — це кругле число, поділене на 1001: 23,976 — це 24000/1001, а 29,97 — 30000/1001. Ділення одного на друге скорочує 1001 з обох боків і залишає 24000 на 30000, тобто чотири п’ятих. Тут нічого не округлюється й не наближається: репліка на першій хвилині лягає рівно на сорок восьму секунду.
Чи виправляє це фільм, до якого застосували 3:2 pulldown?
Ні, і саме цю пастку сторінка й називає. Pulldown заповнює сигнал 29,97 повтореними кадрами й залишає час перегляду точно таким, як був, тому файл субтитрів, зроблений під відео з pulldown, уже правильний — перерахунок забирає в шкали п’яту частину й псує коректний файл. Сторінка — для часу, збудованого діленням номерів кадрів на 23,976, коли кадри належали шкалі 29,97.
Мої субтитри відстають на чверть і далі відстають — це та пара?
Перевірте, чи запізнення становить чверть минулого часу. Дві хвилини на десятій хвилині, шість на півгодині й півгодини в двогодинному фільмі — це саме ця пара. Сусідів у групі легко розрізнити за розміром: 0,95904 — це похибка 4 %, 1,0427094 — 4,271 %, а множник два подвоює довжину файлу.
Чи можна ввести 24 і 30 замість 23,976 і 29,97?
Для цієї пари так, і результат ідентичний: 24, поділене на 30, — це чотири п’ятих, як і 23,976 на 29,97, бо спільне ділення на 1001 скорочується в будь-якому разі. Це властивість саме цієї пари, а не всієї групи: на сторінці фільму проти PAL введення 24 і 25 там, де файл насправді 23,976, залишає похибку 3,5 секунди за годину.
Кожна репліка отримує на п’яту частину менше часу — чи не зламає це обмеження швидкості читання?
Варто перевірити, бо слова не коротшають на компенсацію: рядок, який упевнено вкладався в межу знаків за секунду, може вийти за неї через зростання на 25 %. Інструменти доступності на цьому сайті вимірюють швидкість читання проти порогів зі стандартів, і саме на це число слід дивитися, а не на відчуття, що субтитри тепер квапливі.
Чи варто брати цю пару, щоб покласти субтитри фільму на NTSC-диск?
Ні. Фільм на NTSC-диску зберігається за 23,976, а плеєр застосовує pulldown під час відтворення, тому файл, зроблений під фільм, не потребує жодних змін, і 0,8 його зіпсує. Якщо ваш файл зроблено під PAL-копію цього фільму й ви повертаєтеся на диск, пара — 25 на 23,976, а множник — 1,0427094, тобто невелика поправка в інший бік.