Данный сервис предназначен для сдвига субтитров под необходимый релиз.
Для работы необходимо указать файл и время для сдвига.
Время для сдвига указывается либо в формате .SRT (ЧЧ:ММ:СС,ТТТ), либо в формате .SSA / .ASS (Ч:ММ:СС.ТТ), либо в сокращённой форме (см. ниже).
Сначала указывается текущее время, затем, через пробел, время которое должно быть.
Примеры использования:
; сдвинуть на +1,5 секунды (вперёд) 00:00:02,000 00:00:03,500 ; сдвинуть на -5 секунд (назад) 00:00:15,000 00:00:10,000
Указанная выше запись означает, что все титры, время которых в оригинале больше или равно 00:02:00,000 будут сдвинуты на +1,5 секунды, а тех, у которых более или равно 00:00:15,000 - на -5 секунд соответственно - т.е. на разницу между первым и вторым временем на строчке.
При сдвиге в силу вступает последнее по старшинству время. Т.е. в данном примере все титры младше 00:00:02,000 не будут затронуты вообще, в то время как для титров старше или равным по времени 00:00:15,000 будет применяться только последний интервал.
Если нужно отменить сдвиг, то делается это простым указанием того же времени:
00:20:00,000 00:20:00,000
Таким образом все титры старше 20 минут затронуты не будут, т.к. разница между тем что есть и тем что должно быть равна 0 секунд.
Если же, к примеру, оригинальное время известно только для диалога, а первый титр, который нужно сдвинуть - это название серии, то можно вручную посчитать разницу между титрами - для этого служит расширенная форма:
00:04:00,000 = 00:02:00,000 00:03:00,000
В данном примере, любой титр старше либо равный 00:04:00,000, будет сдвинут на +60 секунд (разница между 2 и 3 интервалами).
При обработке времени для сдвига пустые строки и строки начинающиеся с ";" (точка с запятой) игнорируются (точку с запятой можно использовать для комментариев или отключения ненужных на данный момент строк).
Также имеется возможность использовать сокращённую форму:
; все примеры ниже одинаковы по значению и сдвигают на +1 секунду 00:00:00,000 00:00:01,000 ; без тысячных секунды и по одной цифре на всё 0:0:0 0:0:1 ; без часов 0:0 0:1 ; только секунды 0 1
Иными словами указание секунд обязательно, а нулевые часы, минуты или тысячные секунды можно опустить.
Общие примеры, для тех, кто сдвигает "на глаз" (не рекомендуется - используйте точное время из существующих субтитров):
; сдвиг всех титров на +5,750 секунды (вперёд) 0 = 0 5,750 ; сдвиг всех титров на -1,234 секунды (назад) 0 = 1,234 0 ; сдвиг на +2 секунды (вперёд) 0 = 0 2 ; сдвиг на -3 секунды (назад) 0 = 3 0 ; отменить любой сдвиг начиная с 32 минут 17 секунд 32:17 = 0 0 ; без сдвига, проверить целостность файла и привести в порядок ; - файлы в кодировках UCS-2LE и UCS-2BE переводятся в UTF-8 ; - у .SRT файлов убираются лишние пустые строки между титров ; - у .SRT файлов заново нумеруются все титры без пропусков ; - новый файл можно не сохранять, если перечисленные изменения не нужны ; - всё вышеперечисленное выполняется и при любом другом сдвиге тоже 0 0
- Поддерживаемые форматы: .SRT, .SSA, .ASS
- Файл с субтитрами должен быть размером не более 1048576 байт.
- Субтитры в кодировках Unicode UCS-2LE и UCS-2BE автоматически переводятся в UTF-8.
- При сохранении выбирайте "все файлы", иначе Internet Explorer 6, например, добавит расширение .TXT.
- В начало выходного имени файла, если не отключить эту опцию, будет добавлен символ "_" (подчерк), чтобы исключить случайную перезапись оригинальных субтитров (чтобы не переименовывать субтитры каждый раз для проверки в видеоплеере - временно переименуйте видеофайл, чтобы он тоже с подчерка начинался).
- На каждой строчке должен находиться только один интервал времени в обычной форме:
время_было ПРОБЕЛ время_стало
или расширенной форме:
время_сдвига ПРОБЕЛ = ПРОБЕЛ время_было ПРОБЕЛ время_стало
Если пробелов не хватает или есть лишние, то будет приходить ошибка 3.
- Время для сдвига должно быть указано либо в формате .SRT (01:23:45,670), либо в формате .SSA / .ASS (1:23:45.67), либо в сокращённой форме (см. ниже).
- Если приходит ошибка 4, то, скорее всего, форма времени интервала для сдвига неверная. Вот как будет преобразована сокращённая форма:
1 - разворачивается в 0:00:01.00;
1:2 - разворачивается в 0:01:02.00;
1:2:3 - разворачивается в 1:02:03.00;
- Если приходит ошибка 6 и формат субтитров .SSA / .ASS - скорее всего отсутствует первая секция - добавьте в начало файла строчку "[Script Info]" без кавычек.
- Даже если время для сдвига отрицательное (например -5,464 секунды), то время титра не будет указано менее 0.
- Для .SRT формата все титры заново нумеруются начиная с 1, т.е. если раньше номера шли как 1, 2, 15, 78, то теперь будут 1, 2, 3, 4.
- Для .SRT формата убираются лишние пустые строки между титров.
Конечно же, можно указывать время для сдвига подбирая его "на глаз", однако это чревато многими неприятными моментами.
Для извлечения времени, в самом простом случае, достаточно распаковать субтитры из .MKV при помощи MKVToolNix и взять время оттуда. Пример для командной строки, где 3 - номер потока для извлечения (субтитры в различных релизах могут быть под разными номерами):
mkvextract.exe tracks "Video File 01.mkv" 3:subtitle.txt
Если файл в .AVI формате с хардсабом, то можно загрузить его в VirtualDubMod и при помощи клавиш PageUp, PageDown, стрелок влево и вправо найти время начала показа титра, после чего скопировать его.
Однако, если субтитры в .SUB/.IDX формате или в H264 кодеке, который VirualDubMod в .MKV не понимает, то придётся, конечно, сдвигать "на глаз".
Важно помнить, что время показа многих фраз рассчитано так, чтобы со сменой ракурса ушла и фраза с экрана. Так что неверно выбранное время будет либо слишком рано убирать титр с экрана, либо наоборот держать дольше чем нужно.