背景音乐代码(Moviepy自动化视频处理)
无意间翻到有朋友在问,如何用moviepy给视频添加背景音乐,实现pr那种多音轨叠加的功能,于是写下这篇,希望有所帮助!!
本文将讲述的内容:1、为视频文件添加背景音乐2、支持视频原声音量调节3、支持背景音乐音量调节4、背景音乐循环播放,覆盖整个视频时长
用到的函数:
- 函数audio_loop用法:audio_loop(audioclip, nloops=None, duration=None)audioclip :音频文件nloops=None : 循环次数duration=None :循环持续时长作用:循环播放音频剪辑 返回播放给定剪辑的音频剪辑nloop次或在持续时间秒内。
- 函数CompositeAudioClip用法:CompositeAudioClip(audio_clip_lists)audio_clip_lists:音频文件列表,eg:[audio1,audio2]作用:通过组合多个AudioClips制作的剪辑,通过将多个音频片段放在一起而制成的音频片段。
代码示例:from moviepy.editor import *"""为视频添加一个背景音乐多轨音频合成"""#需添加背景音乐的视频video_clip = VideoFileClip(r'F:\test\video\aaa\moviepy中文手册\素材\video.mp4')#提取视频对应的音频,并调节音量video_audio_clip = video_clip.audio.volumex(0.8)#背景音乐audio_clip = AudioFileClip(r'F:\test\video\aaa\moviepy中文手册\素材\音频\察觉.mp3').volumex(0.5)#设置背景音乐循环,时间与视频时间一致audio = afx.audio_loop( audio_clip, duration=video_clip.duration)#视频声音和背景音乐,音频叠加audio_clip_add = CompositeAudioClip([video_audio_clip,audio])#视频写入背景音final_video = video_clip.set_audio(audio_clip_add)#将处理完成的视频保存final_video.write_videofile("video_result.mp4")