Как добавить сразу несколько водяных знаков в видео через MoviePy
Мой код:
from moviepy.editor import *
import moviepy.editor as mp
dur = video.duration
video = mp.VideoFileClip('vid.MP4')
logo = (mp.VideoFileClip("logo3.gif", has_mask=True)
.loop()
.set_start(1)
.set_duration(dur/2-2)
.margin(right=8, top=8, opacity=0)
.set_pos(("left","top")))
logo2 = (mp.VideoFileClip("logo3.gif", has_mask=True)
.loop()
.set_start(dur/2)
.set_duration(dur/2-4)
.margin(right=8, top=8, opacity=0)
.set_pos(("right","bottom")))
final = mp.CompositeVideoClip([video, logo])
final.write_videofile("small_logo.mp4")
Как добавить к видео два (и более) разных водяных знака без сохранения на диск? Пробовал несколько способов с clips_array и т. Д.
Ответы (1 шт):
Автор решения: CrazyElf
→ Ссылка
Если я правильно понял документацию:
use_bgclip Set to True if the first clip in the list should be used as the 'background' on which all other clips are blitted. That first clip must have the same size as the final clip. If it has no transparency, the final clip will have no mask.Краткий перевод:
Установите
use_bgclipвTrue, если первый клип в списке должен быть использован как "фон" для остальных клипов.
Нужно сделать так:
final = mp.CompositeVideoClip([video, logo, logo2], use_bgclip=True)
В вашем коде непонятно откуда берётся clip1, наверное вы имели в виду video, поэтому я заменил на него.