MoviePy 是一个用于视频编辑的 Python 库,支持视频剪辑、合成、特效、添加音频、文本等功能,适用于自动化视频处理和动态图像生成。
主要特点:
剪辑与合并:裁剪视频、合成多个视频
文本 & 图像:在视频上添加文本、水印、图片
音频处理:给视频配音、添加背景音乐
特效:变速、反转、淡入淡出等
支持格式:MP4、GIF、AVI、MOV、WEBM 等
安装 MoviePy
使用 pip 安装:
pip install moviepy
MoviePy 基本用法
1️⃣ 创建一个简单的视频
from moviepy.editor import *
# 创建一个 5 秒的红色背景视频
clip = ColorClip(size=(1920, 1080), color=(255, 0, 0), duration=5)
clip.write_videofile("red_video.mp4", fps=24)
2️⃣ 剪切视频
video = VideoFileClip("input.mp4").subclip(10, 20) # 裁剪 10-20 秒
video.write_videofile("output.mp4")
3️⃣ 合并多个视频
clip1 = VideoFileClip("video1.mp4")
clip2 = VideoFileClip("video2.mp4")
final_clip = concatenate_videoclips([clip1, clip2])
final_clip.write_videofile("merged.mp4")
4️⃣ 添加文本
text = TextClip("Hello, MoviePy!", fontsize=70, color='white')
text = text.set_position('center').set_duration(5)
video = ColorClip(size=(1920, 1080), color=(0, 0, 0), duration=5)
final = CompositeVideoClip([video, text])
final.write_videofile("text_video.mp4", fps=24)
5️⃣ 添加音频
video = VideoFileClip("video.mp4")
audio = AudioFileClip("audio.mp3").set_duration(video.duration)
final = video.set_audio(audio)
final.write_videofile("video_with_audio.mp4")
6️⃣ 制作 GIF
clip = VideoFileClip("video.mp4").subclip(0, 3) # 取前 3 秒
clip.write_gif("output.gif")
MoviePy 高级用法
✅ 视频特效(慢速、加速、反转)
video = VideoFileClip("input.mp4")
slow_motion = video.fx(vfx.speedx, 0.5) # 降速 50%
fast_motion = video.fx(vfx.speedx, 2.0) # 加速 2 倍
reverse_video = video.fx(vfx.time_mirror) # 反转播放
slow_motion.write_videofile("slow.mp4")
fast_motion.write_videofile("fast.mp4")
reverse_video.write_videofile("reverse.mp4")
✅ 视频淡入淡出
video = VideoFileClip("input.mp4").fadein(2).fadeout(2) # 2 秒淡入淡出
video.write_videofile("fade.mp4")
✅ 加滤镜
from moviepy.video.fx.all import lum_contrast
video = VideoFileClip("input.mp4").fx(lum_contrast, 0.5, 50) # 提高对比度
video.write_videofile("contrast.mp4")
MoviePy 适合用在哪些地方?
✅ 自动生成视频(如新闻、社交媒体内容)
✅ 短视频剪辑(TikTok、Instagram Reels)
✅ 数据可视化 & 动态信息图表
✅ AI 生成视频(结合 DALL·E、Stable Diffusion)
✅ Python 脚本处理视频批量转换