0

I'm trying to make a video the same duration as audio clips

This kinda works, but after 2 seconds (subclip duration), the image just freezes as the audio continues

I was trying to achieve the same behavior as in this tutorial, where it seems that the video repeats itself. My original video has only 2 seconds

import moviepy.editor as mp

raw_video = mp.VideoFileClip("videotest.mp4", audio=False)
raw_audio = mp.AudioFileClip("frei.mp3")


raw_video = raw_video.subclip(0, 2)
my_video = raw_video.set_duration(raw_audio.duration)

my_video.audio = raw_audio

my_video.write_videofile('result.mp4')
nanquim
  • 1,786
  • 7
  • 32
  • 50

1 Answers1

0

This is the solution I've found, but don't really know if there is a better way. Is taking too long to write the video

import moviepy.editor as mp
import math

raw_video = mp.VideoFileClip("videotest.mp4", audio=False)
raw_audio = mp.AudioFileClip("frei.mp3")

    
# array de vídeos até completar a duração do áudio
amount = math.ceil(raw_audio.duration / raw_video.duration)
list = [raw_video for i in range(amount)]


final_video = mp.concatenate_videoclips(list, method='compose')

final_video.audio = raw_audio
final_video.write_videofile('result42.mp4')
nanquim
  • 1,786
  • 7
  • 32
  • 50