Posted in

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

Как наложить watermark на видео с помощью moviepy на python 3
Код для python 3 чтобы наложить watermark на видео файлы с библиотекой moviepy

Тестирую одну схему, и нужно на много видео наложить 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://normail.biz/", font='Amiri-regular',
	               color='white', fontsize=24)

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

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

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

 

Leave a Reply

Your email address will not be published. Required fields are marked *