SSubToolDesk
ru

Как удалить временные метки из расшифровки или файла субтитров

Чтобы превратить файл субтитров с таймингом в чистый, читаемый текст, нужно убрать временные метки, номера cue и артефакты форматирования, не повредив сами слова.

Файлы субтитров и расшифровок построены вокруг тайминга, а это именно то, что не нужно, когда вы переиспользуете контент как статью, запись в блоге, цитату или текст для перевода. Необработанный файл SRT, вставленный в документ, выглядит так:

12
00:04:21,500 --> 00:04:24,800
и это действительно основная идея

Для читаемого текста нужны только слова: «и это действительно основная идея».

Что на самом деле нужно убрать

  • Номера cue. Порядковый индекс (12, 13, …), который стоит перед каждым блоком в SRT.
  • Строки с временными метками. Строку вида 00:04:21,500 --> 00:04:24,800, будь то формат с запятой у SRT или с точкой у VTT.
  • Заголовок WEBVTT, если он есть.
  • Теги форматирования. Разметку курсива и полужирного (<i>, <b>), теги позиционирования и метки говорящих, которые встречаются в некоторых файлах VTT.
  • Пустые строки между cue. Обычно их нужно свести к обычным пробелам между абзацами или предложениями, а не оставлять как есть.

Почему делать это вручную (или через find-and-replace) плохая идея

Простое регулярное выражение для удаления строк с таймингом обычно работает на коротких файлах, но его часто ломают две вещи: несогласованные символы конца строки (файлы, экспортированные на разных операционных системах, смешивают \n и \r\n) и номера cue, которые на первый взгляд похожи на обычный текст и сбивают наивный шаблон. На длинном файле (полная расшифровка эпизода, лекция, многочасовое интервью) одна пропущенная строка означает, что всё придётся пересматривать заново вручную.

Есть и более тонкая проблема: когда два cue разбивают предложение посередине (частый случай, если предложение длинное и выходит за границу cue), простое удаление строк тайминга оставляет предложение разорванным на две части без знака пунктуации между ними. Хороший инструмент для очистки склеивает их правильно, а не оставляет фрагментами.

Как сделать это правильно

Наш инструмент для удаления временных меток берёт файл SRT или VTT и выдаёт чистый текст абзацами: номера cue, тайминг и теги исчезают, предложения, разбитые между cue, склеиваются, и всё это обрабатывается локально в вашем браузере, так что расшифровка никогда не покидает ваше устройство. Это самый быстрый путь от «файла субтитров с таймингом» до «читаемого текста» без ручной чистки нескольких сотен строк с временными метками.

Удалить временные метки из файла