Обрізати субтитри за діапазоном
Або вставте текст субтитрів
Параметри
Усе, що на екрані до цього моменту, зникає. Репліка, яка почалася раніше, але все ще на екрані в цей момент, зберігається й обрізається по краю. Залиште порожнім, щоб вікно починалося з файлом.
Усе, що починається в цей момент або пізніше, зникає, а репліка, яка тягнеться далі, обрізається там. Сам момент не входить у вікно: репліка, що починається точно на ньому, належить наступному відрізку. Залиште порожнім, щоб вікно йшло до кінця файлу.
У якій частоті кадрів пораховано таймінги. На сторінках форматів це те, що потрібно MicroDVD, бо він зберігає час як номери кадрів. На сторінках частоти кадрів це частота, за якою файл синхронізували — версія, для якої робили субтитри, — а друге поле сторінки приймає частоту відео, з яким ви будете їх використовувати. 23,976, 24, 25, 29,97, 30, 50, 59,94 і 60 — найпоширеніші. Помилка зміщує весь таймлайн, а на сторінках частоти кадрів — на відношення, а не на фіксовану величину.
Ця сторінка залишає частину файлу субтитрів, що потрапляє в часове вікно, і прибирає решту. Дайте їй початок, кінець або обидва — і вона проходить файл один раз: репліки, що лежать цілком поза вікном, вилучаються, репліки, що перетинають його край, обрізаються цим краєм, а репліки, що лежать цілком усередині, проходять недоторканими.
Правило — перекриття, а не «де вона починається». Репліка, що почалася на четвертій секунді й досі на екрані на п’ятій, є частиною вікна від п’яти до десяти, тому виживає — з початком, підтягнутим рівно до п’ятої секунди. У цьому різниця між обрізанням файлу й переміщенням відрізка його шкали: сторінка, що судила б за часом початку, вилучила б цю репліку й забрала б разом із нею рядок діалогу, а та, що судила б за кінцями, залишила б репліки, які ще не почалися.
Кінцева мить вікна не включається. Репліка, що починається точно там, де вікно закінчується, належить наступному відрізку фільму, а не цьому, а репліка, що закінчується точно там, де вікно відкривається, уже зійшла з екрана. Напіввідкриті межі виглядають педантично, доки не обріжеш два сусідні діапазони одного файлу й не знайдеш той самий рядок в обох.
Усе відбувається у вкладці браузера: файл читається, ріжеться й записується знову локально, і жоден його байт не завантажується. Приймаються SRT, WebVTT, ASS, SSA, SBV, SAMI, MicroDVD, TTML, JSON і CSV; MicroDVD потребує частоти кадрів у полі, бо його таймінг — це номери кадрів.
Приклади
Десятисекундне вікно з середини файлу
Вхід
1
00:00:01,000 --> 00:00:02,500
Before the window.
2
00:00:04,000 --> 00:00:06,000
Crosses the start.
3
00:00:07,000 --> 00:00:08,000
Fully inside.
4
00:00:09,000 --> 00:00:11,500
Crosses the end.
5
00:00:14,000 --> 00:00:15,000
After the window.
Результат
2
00:00:05,000 --> 00:00:06,000
Crosses the start.
3
00:00:07,000 --> 00:00:08,000
Fully inside.
4
00:00:09,000 --> 00:00:10,000
Crosses the end.
П’ять реплік, чотири різні результати, один прохід. Репліка 1 уже зникла, коли вікно відкрилося, а репліка 5 ще не з’явилася, тому обидві вилучено. Репліка 2 почалася на четвертій секунді, але ще говорила на п’ятій, тому вона лишається, а її початок підтягнуто до 5000 мс. Репліка 4 втрачає останні 1,5 секунди так само. Репліку 3 не чіпали взагалі.
Лише початкова межа: обрізання вступу
Вхід
1
00:00:00,500 --> 00:00:02,000
Intro card.
2
00:00:02,500 --> 00:00:04,000
Still talking over the logo.
3
00:00:05,000 --> 00:00:06,000
First line of the programme.
Результат
2
00:00:03,000 --> 00:00:04,000
Still talking over the logo.
3
00:00:05,000 --> 00:00:06,000
First line of the programme.
Поле кінця порожнє, що означає відсутність кінцевої межі — вікно тягнеться до кінця файлу. Вступну картку вилучено, а рядок, вимовлений через трисекундну позначку, обрізано там. Порожнє поле — не нуль: якби ви вписали 0 у поле кінця, вікно вийшло б порожнім, і сторінка сказала б, що нічого не зроблено.
Вікно ширше за файл
Вхід
1
00:00:01,000 --> 00:00:02,000
Short.
2
00:00:03,000 --> 00:00:04,000
Also short.
Результат
1
00:00:01,000 --> 00:00:02,000
Short.
2
00:00:03,000 --> 00:00:04,000
Also short.
Обидві репліки лежать усередині, тому обидві повертаються байт у байт. Ніщо не зсувається до початку вікна — репліка на першій секунді лишається на першій секунді, навіть якщо вікно відкривається на нулі. Обрізання прибирає те, що ззовні; воно не рухає те, що всередині.
Часті запитання
Що стається з субтитром, що починається до мого вікна, але ще на екрані всередині нього?
Він зберігається, а його час початку підтягується рівно до миті відкриття вікна. Сторінка застосовує правило перекриття: якщо будь-яка частина репліки потрапляє у вікно, ця частина належить результату. Це найважливіша різниця між обрізанням файлу й зсувом відрізка його шкали, і саме тому рядок, вимовлений через межу, не зникає, коли ви там ріжете.
Чи перенумеровує обрізання репліки, що вижили?
Ні. Репліка зберігає номер, який мала у файлі, тому вцілілий відрізок, що починався з репліки 2, усе ще починається з номера 2, а пропуски в нумерації показують, що було вилучено. Перенумерація була б окремою зміною рядків, про які ви не просили, і ускладнила б накладання обрізаного файлу назад на оригінал, коли треба перевірити рядок.
Чому репліка, що закінчується точно там, де відкривається моє вікно, зникає?
Бо вона вже зійшла з екрана, коли вікно відкривається — межа належить вікну, що йде далі. Те саме правило на іншому кінці: репліка, що починається точно там, де вікно закривається, належить наступному відрізку. Обидві межі напіввідкриті, і саме це заважає двом сусіднім діапазонам одного файлу претендувати на репліку, що стоїть на їхній спільній межі.
Чи можна залишити одне з двох полів порожнім?
Так, і це звичайний спосіб користуватися сторінкою. Порожнє поле початку означає, що вікно починається з файлом; порожнє поле кінця — що воно тягнеться до кінця. Заповнене лише поле початку обрізає вступ, лише поле кінця — хвіст. Якщо обидва поля порожні або кінцева мить не пізніша за початкову, сторінка повідомляє, що нічого не зроблено, а не повертає порожній файл.
Чи повідомляється щось як втрачене, коли я обрізаю файл субтитрів?
Ні. Прибирання того, що лежить поза вікном, — це призначення сторінки, тому воно не рахується пошкодженням; рядок результату каже, скільки реплік вилучено й скільки обрізано на краю. Це відрізняється від сторінки, яка вилучає репліки як побічний ефект чогось іншого, де звіт про втрати — єдине місце, де про вилучення взагалі згадано.
Які формати субтитрів можна обрізати і чому деякі не приймаються?
SRT, WebVTT, ASS, SSA, SBV, SAMI, MicroDVD, TTML, JSON і CSV. Простий текст і LRC не приймаються, бо обрізання читає й записує обидва кінці кожної репліки, а ці два формати не несуть часу закінчення у файлі — кінець, виведений із початку наступної репліки, записався б назад як початок наступної, тому вихід був би байт у байт із входом, а сторінка брехала б про те, що зробила.