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

Субтитри розходяться з відео: як виправити постійне зміщення і дрейф

1 min read 1 views Останнє оновлення: Сер 2, 2026
A television on a stand showing a paused frame, a remote control on the arm of a sofa

Головні висновки

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

Коли субтитри «розповзаються», здається, що проблема одна, але насправді це майже завжди одна з двох зовсім різних причин. Перша — проста фіксована затримка: кожна репліка запізнюється на ті самі кілька секунд, від першого слова до останнього. Друга — поступове наростання розбіжності: на початку все виглядає нормально, а до фінальної сцени субтитри вже відстають на речення чи два від діалогу.

Рішення для однієї проблеми ніяк не допомагає з іншою, а якщо застосувати його попри це, файл може зіпсуватися ще сильніше, тільки по-новому і заплутаніше. Добре, що розрізнити ці два випадки можна за якихось тридцять секунд, а щойно ви зрозуміли, з чим маєте справу, саме виправлення займає зовсім небагато часу.

Як розрізнити за тридцять секунд

Відкрийте репліку на початку відео і подивіться, наскільки субтитр розходиться з нею — на півсекунди пізніше, на три секунди раніше, будь-яка величина. Потім перейдіть кудись ближче до кінця й перевірте репліку там само. Це весь тест.

Якщо розбіжність на початку і розбіжність наприкінці приблизно однакові за величиною і напрямком, це постійне зміщення. Достатньо зсунути весь файл на цю одну величину — і все стане правильно скрізь.

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

Як виправити постійне зміщення

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

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

Стежте за початком файлу після зсуву назад

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

Чому субтитри дрейфують, а не просто запізнюються

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

Класичний приклад невідповідності — фільм, змайстрований під 24 кадри в секунду, у парі з телевізійною версією на 25 кадрах. Жодне з цих чисел саме по собі не є помилковим — це просто дві різні майстер-копії того самого контенту, і файл субтитрів, зроблений під одну з них, поступово випереджає або відстає від іншої, і ця розбіжність накопичується в міру відтворення.

Як виправити дрейф конвертацією частоти кадрів

Оскільки дрейф — це невідповідність швидкості, а не фіксована затримка, зсув файлу тут не допомагає: зсув просто переносить увесь файл раніше чи пізніше на фіксовану величину, а дрейф не фіксований — він пропорційний тому, наскільки далеко ви просунулися у відео. Зсунувши файл із дрейфом, ви можете випадково отримати правильний початок і правильний кінець одночасно, але середина все одно буде «плавати», бо ви перенесли похибку, а не виправили її.

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

Коли справа не в зміщенні і не в дрейфі

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

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

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

Що робити, якщо не зрозуміло, з якою проблемою маєте справу

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

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

І нарешті, не сподівайтеся, що зсув чи конвертацію частоти кадрів можна буде «на око» скасувати, якщо ви застосували кілька таких дій підряд без перевірки. Кожне окреме коригування просте, але коли накладаєте зсув на конвертацію частоти кадрів, а на неї — ще один зсув, при цьому щоразу вгадуючи, зазвичай виходить файл, зіпсований так, що вже не відповідає жодній із двох проблем у чистому вигляді. Перевіряйте після кожної зміни, а не після кількох підряд.

Відповіді

Frequently Asked Questions

Як зрозуміти, чи субтитри мають зміщення, чи дрейфують?

Перевірте репліку на початку відео і репліку наприкінці. Якщо обидві розходяться приблизно на однакову величину — це постійне зміщення. Якщо початок майже правильний, а кінець сильно розходиться, похибка зростає в міру відтворення — це дрейф.

Чому субтитри дедалі більше розходяться з відео, чим довше воно триває?

Це дрейф, і зазвичай він виникає, бо файл субтитрів прораховано під версію відео з іншою частотою кадрів, ніж та, яку ви дивитеся. Типова пара — 24 і 25 кадрів в секунду. Розбіжність накопичується з часом, а не залишається фіксованою.

Як зсунути всі субтитри у файлі на одну й ту саму величину?

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

Що станеться, якщо репліка субтитрів отримає негативний час початку?

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

Чи можна виправити субтитри, які неправильні лише посередині фільму?

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

Чи змінює зсув субтитрів слова в тексті?

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

Merey Tleugazin

Засновник SozAI. Створює інструменти, які перетворюють мовлення на текст для професіоналів у всьому світі.

SozAI
SozAI — Безкоштовне завантаженняМиттєво транскрибуйте аудіо й відео
Завантажити застосунок