html текст
All interests
  • All interests
  • Design
  • Food
  • Gadgets
  • Humor
  • News
  • Photo
  • Travel
  • Video
Click to see the next recommended page
Like it
Don't like
Add to Favorites

Удлинитель субтитров формата SubRip (.srt)

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

К сожалению, во втором случае обычного времени показа титров бывает недостаточно. Удлинить его можно во многих программах (например, в SubtitleEdit) — но иногда это удлинение ограничено разумными пределами, да и запускать для такого простого действия полноценный редактор не всегда удобно.

Поэтому я попробовал написать простые скрипты только под эту нужду и выбрал два принципа удлинения времени.

1. Удлинение в одну сторону: конец показа каждого субтитра удлиняется вплоть до начала следующего субтитра (на одну миллисекунду меньше, чтобы не было нахлёста). Это более простой метод, но он не так эффективен, потому что время распределяется однобоко. С другой стороны, этот способ более привычен.

2. Удлинение в обе стороны: сначала высчитывается время паузы между двумя субтитрами, потом эта пауза делится пополам — одна половина добавляется к концу текущего субтитра, другая отнимается от начала последующего. Таким образом, каждый субтитр по возможности максимально предваряет свою звуковую реплику и по возможности максимально задерживается на экране после неё. К такому формату нужно немного привыкнуть, зато время распределяется более равномерно и зритель имеет относительную возможность заранее прочитать и понять ключевые фразы.

Скрипты реализованы в двух видах: на JavaScript (сетевая версия) и на Perl (локальная консольная версия).

Сетевая версия представлена страничкой с областью вода исходного текста субтитров и областью вывода удлинённой версии. Она не так удобна (нужно открывать субтитры в текстовом редакторе, копировать текст, изменять его при помощи скрипта, вставлять изменённую версию и пересохранять), но зато проста и общедоступна (проверял работу в последних версиях Chrome, Firefox, Opera и Safari). Страницу можно сохранить на диск, и она будет работать локально.

Консольная версия представлена Perl-скриптом, который принимает аргументом исходный файл (если не указать аргумент, скрипт спросит о нём в интерактивном режиме) и создаёт новый файл с удлинённым временем показа, добавляя к названию хвостик .long. Работает с кодировкой UTF-8 на входе и выходе.

Объяснять код вряд ли имеет смысл, всё очень просто: оба скрипта превращают исходный текст в массив массивов, анализируют паузы, удлиняют время, потом всё опять соединяют в текст субтитров. Некоторое сомнительное любопытство могут лишь представлять две маленькие функции, преобразовывающие таймкоды SubRip в миллисекунды и обратно, для упрощения расчётов — но и они довольно очевидны.

Скрипты не проверяют текст на соответствие формату и не исправляют исходных ошибок тайминга (нахлёст таймкодов, отрицательное время показа и т.п.), поэтому в случае сомнительных субтитров все проверки лучше производить предварительно, в полноценных редакторах (например, в том же SubtitleEdit). Консольная версия проверяет только расширение файла (если не .srt, завершает работу с предупреждением), чтобы по ошибке на начать обрабатывать что-то большое.

Код скриптов более чем любительский, за что прошу прощения. Улучшайте по необходимости на свой вкус (например, можно ограничить время удлинений или выдумать более хитрый алгоритм, зависящий от длины каждого субтитра).

Сетевые версии на JavaScript:

Браузерный удлинитель субтитров (.srt): в одну сторону
Браузерный удлинитель субтитров (.srt): в обе стороны

Локальные версии на Perl:

Консольный удлинитель субтитров (.srt): в одну сторону
Консольный удлинитель субтитров (.srt): в обе стороны

Если вдруг сайт ляжет, все четыре разновидности можно скачать одним архивом.
Читать дальше
Twitter
Одноклассники
Мой Мир

материал с habrahabr.ru

1

      Add

      You can create thematic collections and keep, for instance, all recipes in one place so you will never lose them.

      No images found
      Previous Next 0 / 0
      500
      • Advertisement
      • Animals
      • Architecture
      • Art
      • Auto
      • Aviation
      • Books
      • Cartoons
      • Celebrities
      • Children
      • Culture
      • Design
      • Economics
      • Education
      • Entertainment
      • Fashion
      • Fitness
      • Food
      • Gadgets
      • Games
      • Health
      • History
      • Hobby
      • Humor
      • Interior
      • Moto
      • Movies
      • Music
      • Nature
      • News
      • Photo
      • Pictures
      • Politics
      • Psychology
      • Science
      • Society
      • Sport
      • Technology
      • Travel
      • Video
      • Weapons
      • Web
      • Work
        Submit
        Valid formats are JPG, PNG, GIF.
        Not more than 5 Мb, please.
        30
        surfingbird.ru/site/
        RSS format guidelines
        500
        • Advertisement
        • Animals
        • Architecture
        • Art
        • Auto
        • Aviation
        • Books
        • Cartoons
        • Celebrities
        • Children
        • Culture
        • Design
        • Economics
        • Education
        • Entertainment
        • Fashion
        • Fitness
        • Food
        • Gadgets
        • Games
        • Health
        • History
        • Hobby
        • Humor
        • Interior
        • Moto
        • Movies
        • Music
        • Nature
        • News
        • Photo
        • Pictures
        • Politics
        • Psychology
        • Science
        • Society
        • Sport
        • Technology
        • Travel
        • Video
        • Weapons
        • Web
        • Work

          Submit

          Thank you! Wait for moderation.

          Тебе это не нравится?

          You can block the domain, tag, user or channel, and we'll stop recommend it to you. You can always unblock them in your settings.

          • habrahabr.ru
          • домен habrahabr.ru

          Get a link

          Спасибо, твоя жалоба принята.

          Log on to Surfingbird

          Recover
          Sign up

          or

          Welcome to Surfingbird.com!

          You'll find thousands of interesting pages, photos, and videos inside.
          Join!

          • Personal
            recommendations

          • Stash
            interesting and useful stuff

          • Anywhere,
            anytime

          Do we already know you? Login or restore the password.

          Close

          Add to collection

             

            Facebook

            Ваш профиль на рассмотрении, обновите страницу через несколько секунд

            Facebook

            К сожалению, вы не попадаете под условия акции