快速完成视频的剪辑合成

MoviePy(完整文档)是一个用于视频编辑的 Python 库:剪切、连接、插入标题、视频合成(又称非线性编辑)、视频处理和创建自定义特效。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
from moviepy.editor import ImageClip, AudioFileClip, VideoFileClip, concatenate_videoclips

# 文件列表
file_list = ['d:/图片/image1.png', 'd:/图片/video1.mp4', 'd:/图片/image1.png', 'd:/图片/video2.mp4']

# 创建剪辑对象列表
clips = []
for file in file_list:
if file.endswith('.jpg') or file.endswith('.png'):
clips.append(ImageClip(file, duration=5))
elif file.endswith('.mp4') or file.endswith('.avi'):
clips.append(VideoFileClip(file))

# 将所有剪辑合并为一个剪辑
final_clip = concatenate_videoclips(clips)

# 音频文件
audio_file = 'd:/图片/audio.mp3'

# 创建AudioFileClip对象
audio_clip = AudioFileClip(audio_file)

# 将音频剪辑添加到视频剪辑中
final_clip = final_clip.set_audio(audio_clip)

# 保存合成后的视频
final_clip.write_videofile("d:/output.mp4", codec='libx264', audio_codec='aac')