Видео и субтитры · Инструментарий субтитров
История SubRip: как выходные данные инструмента копирования DVD стали .srt
· Фон
субтитры СРТ форматы файлов таймкоды
SRT назван в честь программы, а не стандарта. В этом посте рассказывается, как вывод SubRip OCR стал наиболее распространенным форматом субтитров в Интернете, почему у него нет формальной спецификации и что это означает для совместимости сегодня.
Почему формат назван в честь программы? — повседневная загадка названия SubRip
Буквы SRT являются маркером происхождения, а не названием комитета по стандартам. Они относятся к SubRip, программному обеспечению, предназначенному для преобразования материала субтитров с дисков в синхронизированный текст. Это происхождение помогает объяснить, почему формат ощущается как практический результат работы утилиты: компактные пронумерованные блоки, читаемые в обычном редакторе, без большой модели метаданных вокруг них.
Исторические детали менее важны для повседневной совместимости, чем последствия: SRT распространяется в процессе использования и реализации. Таким образом, репозиторий рассматривает его как обычный формат, реальные диалекты которого требуют толерантного ввода, а не как грамматику, каждый принятый вариант которой может быть процитирован из одной руководящей спецификации.
Программа SubRip — инструмент для извлечения DVD субтитров в виде текста с помощью распознавания символов.
Потоки субтитров DVD основаны на изображениях, а не на обычных строках текста, поэтому для извлечения редактируемых слов требуется распознавание символов или ручное исправление. SubRip связан с этим рабочим процессом извлечения, и его текстовый вывод сочетает распознанный диалог с временем, необходимым для его отображения. В этой статье не указывается дата запуска, автор или история версий, поскольку эти сведения не установлены источниками репозитория, используемыми здесь.
Распознавание символов также объясняет, почему SRT может быть структурно совершенным, в то время как его слова остаются неправильными. ToolAcre анализирует границы сигнала и может удалять разметку, но не выполняет оптическое распознавание и не исправляет транскрипцию. Историческое происхождение и нынешняя трансформация — это отдельные работы.
Выходной формат — индекс, строка тайм-кода, текст, пустая строка и почему эта простота распространилась.
Знакомая форма вывода состоит из четырех частей: числовой индекс, строка, содержащая временные метки начала и окончания, разделенные стрелкой, одна или несколько текстовых строк и пустая строка, завершающая блок. Его сильная сторона – проверяемость. Человек может найти сигнал 40, прочитать его время и отредактировать его слова без специального программного обеспечения, а парсер может разбить тот же документ на блоки.
ToolAcre не доверяет индексу как удостоверению. Он ищет стрелку в каждом блоке, нумерует, сам успешно анализирует реплики и объединяет каждую последующую строку как текст реплики. При сериализации он генерирует индексы SRT подряд от одного, что устраняет дубликаты и пробелы вместо того, чтобы сохранять их как исторические артефакты.
Никаких стандартов, только условности — как отсутствие спецификации привело к появлению диалектов и толерантности к игрокам
Без единой формальной спецификации SRT, регулирующей каждого производителя и игрока, соглашение становится уровнем совместимости. Файлы появляются с запятыми или дробными точками, пропущенными часами, метками порядка байтов, смешанными окончаниями строк, отсутствующими индексами и некорректными блоками. Разные проигрыватели допускают разные подмножества, поэтому файл, работающий в одном приложении, является свидетельством об этом приложении, а не доказательством универсальной достоверности.
Анализатор отвечает на это, принимая общие, однозначные варианты и сообщая об ошибках, которые он не может безопасно интерпретировать. Он принимает разделитель миллисекунд и необязательные часы, удаляет начальный знак, нормализует окончания строк и ищет строку с меткой времени. Он отклоняет минуты или секунды выше 59 вместо того, чтобы бесшумно перемещать реплику, и записывает BAD_TIMESTAMP или NO_TIMESTAMP вместо прерывания всего файла.
Запятая в таймкоде — маленькая деталь с большим наследием
По соглашению SRT перед тремя цифрами миллисекунд ставится запятая, как в 00:01:02,500. Этот знак препинания визуально небольшой, но важен с точки зрения эксплуатации, поскольку WebVTT ставит точку. Переименование расширения не меняет ни одного символа, и поэтому строгий потребитель может отказаться от файла, время которого численно верно, но грамматически неверно для заявленного формата.
ToolAcre толерантен при чтении и строг при письме. Источник со смешанным разделителем можно анализировать, но вывод SRT всегда получает запятую, а вывод WebVTT — точку. Дробный ввод короче трех цифр дополняется справа, поэтому .5 означает пять десятых секунды, а не пять миллисекунд.
SRT сегодня — де-факто формат обмена между игроками, платформами и редакторами
SRT остается полезным в качестве компактного представления обмена, поскольку его основное содержимое легко отображать игрокам, платформам и редакторам: порядок реплик, прошедшее время и текст. «Де-факто» является важным уточнением. Место назначения может налагать свои собственные ограничения или по-разному мириться с разметкой, и само по себе расширение ничего не говорит о кодировке, полноте подписей или редакционном качестве.
Используйте SRT как файл обмена, а не как доказательство того, что каждая функция сохранилась в другом формате. Не все настройки WebVTT, комментарии, регионы и блоки стилей имеют SRT эквиваленты. Конвертер пропускает блоки NOTE, STYLE и REGION и сохраняет настройки вызова даже при записи SRT, где они не имеют определенного эффекта.
Вывод: просто, повсеместно, не указано — как Subtitle Toolkit обрабатывает вариации SRT при преобразовании и очистке.
SRT сохранился, потому что базовое представление достаточно просто для проверки и реализации, но та же самая история, основанная на соглашениях, породила вариации, которые невозможно уловить ни одним строгим чтением. Subtitle Toolkit предлагает практическую золотую середину: принимает общие варианты временных меток и форм файлов, идентифицирует небезопасные блоки, а затем записывает одну предсказуемую форму SRT или WebVTT.
Загрузите оригинал, а не копию, которую уже нормализовал другой конвертер, прочтите список проблем и сравните количество реплик перед экспортом. Пропущенный неверный сигнал не исправляется путем чистой сериализации; оно опущено и сообщается, что честнее, чем гадать в то время, когда источник не указал безопасно.