我正在尝试为剪辑添加音频。问题是它是用新的音轨替换原来的音轨,即pond5.wav。我首先连接一些小片段,每个片段都包含原始配乐。然而,最终结果不包含原始音轨。我需要原始和新的音轨(新音轨的音量必须低于原始音轨)。我需要线索如何修改以下代码并合成两个音轨。
media = "promo"
clips = [VideoFileClip(clip)
for clip in get_filepaths(media)
if ntpath.basename(clip).startswith('clip_')
and ntpath.basename(clip).endswith('.mp4')
]
vclip = concatenate_videoclips([clips[0],
clips[1].crossfadein(0.3),
clips[2].crossfadein(0.3),
clips[3].crossfadein(0.3),
],
method="compose",
padding=-0.3)
audio = AudioFileClip(os.path.join(folder,"pond5.wav"))
audio = audio.audio_loop(duration=vclip.duration)
cc = vclip.set_audio(audio
.set_duration(vclip.duration)
.volumex(0.3)
.audio_fadein(1.0)
.audio_fadeout(1.0)
)
cc.write_videofile(os.path.join(folder, "demo.mp4"), fps=60, codec="libx264", bitrate="20000k", threads=6)
答案 0 :(得分:0)
您需要根据vclip
的音频创建复合音频片段,并将其设置为音频。诸如此类(未测试):
composite = CompositeAudioClip(clicp.audio + [audio])
# set audio returns a new instance...
final = vclip.set_audio(composite)
final.writevideofile(...)