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