Categories: Python

Как наложить watermark на видео в python windows массово

Тестирую одну схему, и нужно на много видео наложить watermark. Решил делать через Python 3, с помощью модуля moviepy . Сначала хотел просто текст, но потом разместил картинку с надписью на всю длительность видео.

Как установить модуль moviepy

Пакет ставится без проблем через pip, все дополнительные модули установятся автоматически.

pip install moviepy

Я работал на PyCharm в windows, создал Проект. Виртуальное окружение создается автоматически. Установил модуль moviepy, прописал код и все успешно «пошло».

Как добавить картинку watermark на видео через Python moviepy

Выкладываю рабочий код с комментариями:

from moviepy.editor import *  # Импортируем модуль

video1 = VideoFileClip(r"C:\Users\adino\Downloads\10.mp4")  # Путь к файлу

logo = (ImageClip(r"C:\Users\adino\Downloads\kino.png")  # Ваш логотип
        .set_duration(video1.duration)  # Устанавливаем длительность показа логотипа равную длительности всего видео
          .resize(height=100)  # Изменяем размер картинки если нужно
          .margin(left=10, bottom=2, opacity=0.45)  # Необязательно: Небольшая рамка с прозрачностью
          .set_pos(("left", "center")))  # Позиция картинки: слева по центру. Если нужно справа внизу, пишем right, bottom

final = CompositeVideoClip([video1, logo])  # Собираем все в кучу
final.write_videofile("D:\\kino10.mp4", audio=True)  # Записываем в финальный файл

Margin, resize вообще не обязательны, позиции могут быть разные, несколько примеров:

  • left, top — слева вверху;
  • left, bottom — слева внизу;
  • center, top — по центру вверху;
  • center, center — по центру;
  • right, top — справа по центру.

Скорость монтирования зависит от мощности компьютера, видео-карты.

Как наложить текст на видео с помощью moviepy на python 3

По поводу текста как watermark. Текст можно добавить с помощью TextClip.

txt2video = TextClip("https://bdseo.ru", font='Amiri-regular',
                color='white', fontsize=24)

На Windows нужно установить Image Magick. У меня были некоторые проблемы, и я решил наложить картинку. Взял иконку, в фотошопе добавил текст (ссылка на канал телеграм/тикток) и разместил ее.

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

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

 

veniamin

Recent Posts

Бонус 100 USDT +10 BUSD от Binance

Биржа криптовалют Binance проводит сейчас промо-акцию: новым пользователям дают ваучеры в сумме 110 долларов. Деньги…

2 года ago

Как парсить длительность видео youtube на php в привычном виде

Самый главный момент в работе с youtube - это получить ключ api через консоль разработчика…

2 года ago

Как удалить чужую сессию пользователя в ubuntu (linux)

Арендую сервер для небольшого проекта на python. И вот приходит мне уведомление, что за сутки…

2 года ago

Kwork.ru: опыт поиска исполнителя и поздравление

Пришла в голову одна интересная идея. Связанно с тиктоком. Решил поискать исполнителя, который будет монтировать…

3 года ago

Отзыв о Накрутке подписчиков instagram через Socpublic в автоматическом режиме

Решил проверить "автоматическую" накрутку подписчиков в инстаграмме через сервис активной рекламы Socpublic.com. Сразу скажу -…

3 года ago

Хук Contact Form wordpress: отправляем письма в telegram, а не на почту

Написал простой хук в функциях, чтобы данные с форм contact form уходили в телеграм, а…

3 года ago