Добавление водяного знака на видео. Максимально производительно. Moviepy
Имеется видео, нужно с частотой N секунд на N1 секунду вывести текст в рандомном месте видео. Код ниже работает для меня, но 1 минута видео обрабатывается секунд 30. Есть ли способ максимально ускорить это?
logo_rand_duration = randint(2, 3)
logo_pause_duration = randint(logo_p1, logo_p2)
try:
rand_pos_x = randint(10, vid_x_size-logo_size_x-logo_size_x-10)
except:
rand_pos_x = 10
try:
rand_pos_y = randint(10, vid_y_size-logo_size_y-logo_size_y-10)
except:
rand_pos_y = 10
while logo_long <= duration:
#так норм работает
if flag:
logo = (mp.ImageClip(watermark_name)
.resize(width=R1)
.set_opacity(0.6)
.set_start(logo_long)
.set_duration(0.01)
.margin(right=0, top=0, opacity=0)
.set_pos((rand_pos_x, rand_pos_y)))
fin_list.append(logo)
else: #лого с 0 прозрачностью
logo = (mp.ImageClip(watermark_name)
.resize(width=R1)
.set_opacity(0)
.set_start(logo_long)
.set_duration(0.01)
.margin(right=0, top=0, opacity=0)
.set_pos((rand_pos_x, rand_pos_y)))
fin_list.append(logo)
logo_long += 0.01
if flag:
flag_count_yes += 0.01
if flag_count_yes >= logo_rand_duration:
flag_count_yes = 0
logo_rand_duration = randint(1, 2)
flag = False
else:
flag_count_no += 0.01
if flag_count_no >= logo_pause_duration:
flag_count_no = 0
logo_pause_duration = randint(logo_p1, logo_p2)
flag = True
try:
rand_pos_x = randint(10, vid_x_size-logo_size_x-logo_size_x-10)
except:
rand_pos_x = 10
try:
rand_pos_y = randint(10, vid_y_size-logo_size_y-logo_size_y-10)
except:
rand_pos_y = 10