Динамически изменять размер лого основываясь на размере видео
Видео бывают очень разного размера, а лого всегда 130х90. Помогите, пожалуйста, написать алгоритм динамического масштабирования лого на основе размера видео. А то сейчас очень криво сделано...Размер этот может быть от 250 по х до 1280, например
import moviepy.editor as mp
video = mp.VideoFileClip('vid.mp4')
w,h = video.size
vid_x_size, vid_y_size = video.size
logo_size_x = 190
logo_size_y = 35
duration = video.duration
R1 = logo_size_x #изначальный масштаб соответствует оригинальному лого
if w<250:
R1 = logo_size_x*0.7
elif w>480:
R1 = logo_size_x*0.8
elif w>700:
R1 = logo_size_x*1.7
elif w>900:
R1 = logo_size_x*2.3
elif w>1050:
R1 = logo_size_x*2.7
elif w>1250:
R1 = logo_size_x*3.5
elif w>1350:
R1 = logo_size_x*4
elif w>1650:
R1 = logo_size_x*5
elif w>1900:
R1 = logo_size_x*6
fin_list = [video]
logo = (mp.ImageClip("logo.png")
.resize(width=R1)
.set_opacity(0.7)
.set_start(1)
.set_duration(duration-1)
.margin(right=8, top=8, opacity=0)
.set_pos((10, 10)))
fin_list.append(logo)
final = mp.CompositeVideoClip(fin_list, use_bgclip=True)
final.write_videofile("vid_logo.mp4", fps=24, codec='libx264')