Обновлено 06.05.2024 Создание контента #нейросети

Добавляем субтитры к видео своими руками

В интернете очень много продуктов, предлагающих автоматическое добавление субтитров. Но есть нюансы.

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

Платные решения вынесу за скобки этой статьи. Минусы бесплатных или условно бесплатных решений:

  1. Добавляют в видео свой логотип (вотермарк).
  2. Ограничение на длительность обрабатываемого видео.
  3. Ограничение на количество роликов (лимит кредитов, обычно «X в месяц»).
  4. Ограничение на качество видео при экспорте (многие не дают экспортировать в Full HD).
  5. Нет автоматической расстановки знаков пунктуации. Делает титры - как просто последовательность слов.
  6. Качество распознавания русского языка.
  7. Нужно устанавливать приложение или пользоваться онлайн продуктом, который перегружен лишним функционалом. Возможно, этот пункт слабоват как аргумент. Но для кого-то это важный момент.

 

В этой статье я постараюсь описать решение, которое не имеет этих минусов. Плюсы  решения:

  1. Ничего не нужно устанавливать. Всё онлайн, в облаке.
  2. Бесплатно.
  3. Без регистраций (нужна гугл почта).
  4. Автоматически расставляет знаки пунктуации.
  5. Разделяет новые мысли на предложения.
  6. Понимает большинство популярных языков.

Минусы:

  1. Нет простого понятного интерфейса. Нужно в коде руками менять настройки.
  2. Если вам нужно каждый день обрабатывать много длинных FULL HD роликов, то вы быстро исчерпаете лимит бесплатной версии Colab.

Если не хочется читать полностью, кратко:

  1. Откройте Colab страницу.
  2. Загрузите свой видеофайл.
  3. Последовательно выполните 4 скрипта.
  4. Скачайте видеофайл с титрами.


Решение состоит из связки:

Из каких частей состоит решение по генерации субтитров

Colab – это облачный сервис гугла, предоставляет бесплатный доступ к вычислительным ресурсам, включая графические процессоры и TPU (железо для ускорения вычислений нейросетей).
Whisper – открытая библиотека от OpenAI.
MoviePy – библиотека Python для редактирования видео.

Я уже писал про связку Colab + Whisper в статье про транскрибацию видео.

Генератор субтитров: пошаговое руководство

  1. Откройте Colab страницу 
    Это мой документ, можно в нем выполнять код, но ваши изменения не сохранятся. Поэтому лучше сделать копию документа (точно так же, как Google Doc) на свой гугл диск.

  2. В правом верхнем углу нажмите «Подключиться к T4».


    Для наших задач это ускорит выполнение.

  3. В левой панели нажмите иконку «Файлы» (в форме папки).
    Откроется папка с файлами. Перетащите в эту папку свой видеофайл. Если файл большой, это займет несколько десятков минут.
    Загрузка файла в Colab

  4. Запустите 1-й код.
    Он устанавливает нужные python библиотеки. Займет около 1 мин.

  5. Запустите 2-й код.
    Он устанавливает нужные библиотеки для работы с изображениями и видео. Займет около 2 мин.

  6. В 3-м коде укажите название видеофайла. В моем случае это video.mp4
    Также тут можно указать язык, на котором говорят в видео.


  7. Запустите 3-й код.
    Он переводит видео в текст. По завершению в папке с файлами должен появится файл captions.json

  8. В 4-м коде укажите название видеофайла (как в предыдущем шаге) и настройки титров. 
    Настройки внешего вида титров

  9. Запустите 4-й код.

  10. В папке появится новый видеофайл video_ready.mp4. Это готовое видео с субтитрами. Его можно скачать.

Если вы заметили ошибку в субтитрах

  1. Скачайте файл captions.json
  2. Откройте его в текстовом редакторе.
  3. Отредактируйте ошибочные слова.
  4. Сохраните файл и загрузите его в Colab.
  5. Запустите 4-й код повторно.

 

Если у вас что-то не получилось (например, запустить скрипты) или вы хотите улучшить итоговый результат, напишите. Постараюсь помочь.

Похожие материалы по этой теме

Свежие новости