File size: 563 Bytes
139ec19
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
from moviepy.editor import ImageClip, AudioFileClip

def animate_scene(image_path, audio_path, idx):
    audio = AudioFileClip(audio_path)
    duration = audio.duration
    
    image_clip = (
        ImageClip(image_path)
        .set_duration(duration)
        .set_audio(audio)
        .resize(height=720)
        .fx(lambda clip: clip.crossfadein(1).crossfadeout(1))
        .zoom_in(1.05)
    )

    out_path = f"assets/video/scene_{idx}.mp4"
    image_clip.write_videofile(out_path, fps=24, audio_codec="aac", verbose=False, logger=None)
    return out_path