Moviepy可以進行影片剪輯、合併、轉碼以及新增各種效果等操作。
讀取檔案
from moviepy.editor import mp
clip = mp.VideoFileClip('video.mp4')
print(clip.size) # 獲取解析度
print(clip.duration) #獲取總時長
影片剪輯
clip.subclip(10, 20) #剪下10s-20s
clip.write_videofile('new_video.mp4') # 儲存影片
影片倍速
video_1 = clip.speedx(2) #影片倍速
video_1.write_videofile('s2.mp4')
影片取幀
clip.save_frame("frame_2.png",t=2) # 儲存第2秒的第一幀
影片裁切
clip.crop(x1=0,y1=100,x2=400,y2=600) #畫幅裁切
clip.write_videofile('new_video.mp4')
儲存GIF
clip = VideoFileClip('./video.mp4').subclip(10, 20)
clip.write_gif('demo.gif',fps=15) # 生成之後的檔案大 GIF儲存
提取音訊
audio = clip.audio #提取影片音訊檔案
音訊剔除
video = clip.without_audio() #音訊剔除
# 新增文字
text = TextClip("Hello, World!", fontsize=30, color='white')
text = text.set_position('center').set_duration(5)
# 新增音樂
audio = AudioFileClip("music.mp3").subclip(0, 5)
# 將文字和音樂新增到影片中
final_video = CompositeVideoClip([clipped_video, text])
final_video = final_video.set_audio(audio)