简体   繁体   English

当音频以moviepy结尾时如何结束视频?

[英]How to end a video when audio ends with moviepy?

I am using this code to add an audio file to a video file in Python, but, when video ends, the audio keeps playing until the end.我正在使用此代码将音频文件添加到 Python 中的视频文件中,但是,当视频结束时,音频会一直播放到最后。 I want to end when the video ends.我想在视频结束时结束。

Any suggestion?有什么建议吗?

from moviepy.editor import *
videoclip = VideoFileClip(filename)
audioclip = AudioFileClip("audio.mp3")

new_audioclip = CompositeAudioClip([audioclip])
videoclip.audio = new_audioclip
videoclip.write_videofile("new_filename.mp4")

Instead of CompositeAudioClip, afx works for me:代替 CompositeAudioClip,afx 为我工作:

from moviepy.editor import *

videoclip = VideoFileClip(filename)
audioclip = AudioFileClip("audio.mp3")

new_audio = afx.audio_loop(audioclip, duration=videoclip.duration)
videoclip.audio = new_audio
videoclip.write_videofile("new_filename.mp4")

You should get video duration (length) and use it to crop audio.您应该获得视频持续时间(长度)并使用它来裁剪音频。

And you don't need CompositeAudioClip for this.而且您不需要CompositeAudioClip

from moviepy.editor import *

videoclip = VideoFileClip(filename)
audioclip = AudioFileClip("audio.mp3")

videoclip.audio = audioclip.set_duration(videoclip.duration)

videoclip.write_videofile("new_filename.mp4")

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM