python3.7moviepy将音频修剪为vid的长度

2024-09-27 21:32:59 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我有7.mp3个音频文件连接在一起

audioFiles = [a for a in glob.glob(audioPath + "**/*.mp3", recursive=True)]
audios = []
for audio in audioFiles:
    audios.append(AudioFileClip(audio))

audioClip = concatenate_audioclips([audio for audio in audios])

和14个.mp4文件连接在一起

files = [f for f in glob.glob(path + "**/*.mp4", recursive=True)]
clips = []
for file in files:
    clips.append(VideoFileClip(file))
finalClip = concatenate_videoclips([clip for clip in clips])

渲染视频外观:

finalClip.audio = audioClip
finalClip.write_videofile("my_concatenation.mp4")

但这些连在一起的视频文件只需要10分钟就可以观看。你知道吗

该程序将视频剪辑延长20分钟。因此,音频+视频的视频时间为30分钟,视频时间为10分钟,因此从那时起,最后一帧的显示时间为最后20分钟。你知道吗

我怎样才能告诉程序不要拉伸视频?你知道吗


Tags: intruefor视频时间mp3audioglob
1条回答
网友
1楼 · 发布于 2024-09-27 21:32:59

@McSinyx moviepy基本上是一个围绕ffmpeg的包装器,不要给人们使用其他软件的建议,而不是实际回答问题。(写在这里是因为有一个新帐户,在50rep之前不能发表评论)

您的问题的答案是您想使用“CompositeVideoClip”而不是“concatenate\u videoclips”。 串联一个接一个地添加它们,这样剪辑1将播放,然后剪辑2等。 另一方面,合成将把他们放在同一个“轨道”,所以他们都将在同一时间发挥。要将它们分开,您需要添加持续时间和开始时间。把它想象成一个普通的视频编辑软件,你有不同的音轨,你可以在两个不同的音轨上同时添加视频和音频。下面的例子

video = CompositeVideoClip([clip1,clip2,audio1]

请在下面的链接中阅读更多关于此问题的信息,如果这对您有帮助,请不要忘记选择答案:) https://zulko.github.io/moviepy/getting_started/compositing.html

相关问题 更多 >

    热门问题