moviepy主要用来处理视频,整理一下常用的方法,希望对大家有用
导入moviepy
from moviepy.editor import *
vfc = VideoFileClip(path)# path为输入视频路径
由此得到了一个VideoFileClip的对象,可通过对此对象的操作,得到想要的输出视频结果。
vfc.subclip(time_1, time_2)# time_1和time_2为需要剪切视频时长的两个端点,不需要time_1在time_2之前
concatente_videoclips(vfc_list, method='compose')# vfc_list为VideoFileClip的对象组成的list
注意:method=‘compose’是必要的,它使得各种编码方式不同的视频也可以进行拼接,否则,如果输入编码方式不同的视频会报错。
vfc.crop(x_center=x_center, y_center=y_center, width=width, height=height)
vfc.resize(newsize=(width, height))
clip = ImageSequenceClip(pic_list, fps=fps)
clip_1.set_position([0, 0]) clip_2.set_position([clip_1.w, 0]) CompositeVideoClip([clip_1, clip_2], size=(clip_1.w+clip_2.w, clip_1.h))
注意:.set_position([x1, y1])中的x1,y1为视频左上角的坐标
clip.write_videofile(path, codec='mpeg4', verbose=False, audio=False)
其中,verbose为打印详细信息与否,audio为是否写入声音。