Добавляем субтитры к видео своими руками
В интернете очень много продуктов, предлагающих автоматическое добавление субтитров. Но есть нюансы.
Платные решения вынесу за скобки этой статьи. Минусы бесплатных или условно бесплатных решений:
- Добавляют в видео свой логотип (вотермарк).
- Ограничение на длительность обрабатываемого видео.
- Ограничение на количество роликов (лимит кредитов, обычно «X в месяц»).
- Ограничение на качество видео при экспорте (многие не дают экспортировать в Full HD).
- Нет автоматической расстановки знаков пунктуации. Делает титры - как просто последовательность слов.
- Качество распознавания русского языка.
- Нужно устанавливать приложение или пользоваться онлайн продуктом, который перегружен лишним функционалом. Возможно, этот пункт слабоват как аргумент. Но для кого-то это важный момент.
В этой статье я постараюсь описать решение, которое не имеет этих минусов. Плюсы решения:
- Ничего не нужно устанавливать. Всё онлайн, в облаке.
- Бесплатно.
- Без регистраций (нужна гугл почта).
- Автоматически расставляет знаки пунктуации.
- Разделяет новые мысли на предложения.
- Понимает большинство популярных языков.
Минусы:
- Нет простого понятного интерфейса. Нужно в коде руками менять настройки.
- Если вам нужно каждый день обрабатывать много длинных FULL HD роликов, то вы быстро исчерпаете лимит бесплатной версии Colab.
Если не хочется читать полностью, кратко:
- Откройте Colab страницу.
- Загрузите свой видеофайл.
- Последовательно выполните 4 скрипта.
- Скачайте видеофайл с титрами.
Решение состоит из связки:
Colab – это облачный сервис гугла, предоставляет бесплатный доступ к вычислительным ресурсам, включая графические процессоры и TPU (железо для ускорения вычислений нейросетей).
Whisper – открытая библиотека от OpenAI.
MoviePy – библиотека Python для редактирования видео.
Я уже писал про связку Colab + Whisper в статье про транскрибацию видео.
Генератор субтитров: пошаговое руководство
- Откройте Colab страницу
Это мой документ, можно в нем выполнять код, но ваши изменения не сохранятся. Поэтому лучше сделать копию документа (точно так же, как Google Doc) на свой гугл диск. - В правом верхнем углу нажмите «Подключиться к T4».
Для наших задач это ускорит выполнение. - В левой панели нажмите иконку «Файлы» (в форме папки).
Откроется папка с файлами. Перетащите в эту папку свой видеофайл. Если файл большой, это займет несколько десятков минут. - Запустите 1-й код.
Он устанавливает нужные python библиотеки. Займет около 1 мин. - Запустите 2-й код.
Он устанавливает нужные библиотеки для работы с изображениями и видео. Займет около 2 мин. - В 3-м коде укажите название видеофайла. В моем случае это
video.mp4
Также тут можно указать язык, на котором говорят в видео. - Запустите 3-й код.
Он переводит видео в текст. По завершению в папке с файлами должен появится файлcaptions.json
- В 4-м коде укажите название видеофайла (как в предыдущем шаге) и настройки титров.
- Запустите 4-й код.
- В папке появится новый видеофайл
video_ready.mp4
. Это готовое видео с субтитрами. Его можно скачать.
Если вы заметили ошибку в субтитрах
- Скачайте файл
captions.json
- Откройте его в текстовом редакторе.
- Отредактируйте ошибочные слова.
- Сохраните файл и загрузите его в Colab.
- Запустите 4-й код повторно.
Если у вас что-то не получилось (например, запустить скрипты) или вы хотите улучшить итоговый результат, напишите. Постараюсь помочь.