截取视频片段是比较常用的操作,也是必须要会操作。
使用成员函数subclip
截取视频片段为内存对象:
import time
from moviepy.editor import *
if __name__ == '__main__':
video_clip = VideoFileClip('some.mp4').subclip(10, 20)
# 截取视频全部,相当于没做处理
# video_clip = video_clip.subclip()
# 从视频的 `第10秒` 截取到 `结尾`
video_clip = video_clip.subclip(10)
# 从视频的 `第10秒` 截取到结尾的 `前两秒`
# video_clip = video_clip.subclip(10, -2)
# 从视频的 `第1分35秒` 截取到 `3分10秒`
# video_clip = video_clip.subclip((1, 35), (3, 10))
# 从视频的 `第1小时2分18秒` 截取到 `第2小时1分34秒`
# video_clip = video_clip.subclip((1, 2, 18), (2, 1, 34))
new_file = str(int(time.time())) + '_subclip.mp4'
video_clip.write_videofile(new_file)
使用ffmpeg tools
截取视频片段为文件:
from moviepy.video