如何用Python剪辑视频?
首先需要安装moviepy库。
pip install moviepy
如果pip安装太慢或者总是失败,可以使用镜像源安装:
pip install moviepy -i https://pypi.tuna.tsinghua.edu.cn/simple
安装完成后,将以下内容保存为一个.py文件:
from moviepy.editor import VideoFileClip, concatenate_videoclips
def clip_and_concatenate(input_video_path, output_video_path, clip_ranges):
clips = []
for start, end in clip_ranges:
# 截取指定时间段的视频
clip = VideoFileClip(input_video_path).subclip(start, end)
clips.append(clip)
# 拼接所有剪辑的视频片段
final_clip = concatenate_videoclips(clips)
# 输出合并后的视频
final_clip.write_videofile(output_video_path, codec='libx264')
if __name__ == "__main__":
input_video = "V010.mp4" # 输入视频文件的路径
output_video = "output_video_V010.mp4" # 输出视频文件的路径
clip_ranges = [(10, 15), (20, 25)] # 要截取的时间段,单位为秒
clip_and_concatenate(input_video, output_video, clip_ranges)
将这个.py文件放在视频的同路径下。
将脚本中的 input_video 改为你要剪辑的视频的名称。
output_video 是剪辑后视频的名称。
clip_ranges 是你要保存的视频段落,单位为秒。实例脚本将会把原视频中的第10秒至第15秒、第20秒至第25秒这两段裁剪出来,并且拼接成一个新的视频。也可以继续添加新的段落,例如
clip_ranges = [(10, 15), (20, 25), (30, 35)]
这样就在生成的视频中添加了第30秒至第35秒的段落。这些段落的顺序可以随意调换,例如:
clip_ranges = [(10, 15), (30, 35), (20, 25)]
这样第30至35秒的视频将会在生成的视频的第二段,而第20至25秒的视频会被放在生成视频的最后一段。
设置完成后运行这个脚本即可。
运行后可能会出现报错,有一些红色字体,但是没有关系,程序已经成功剪辑出视频了。