文章目录

  • ​​1. 安装 moviepy​​
  • ​​2. 视频剪辑​​
  • ​​3. 视频拼接​​
  • ​​4. 逐帧变化​​
  • ​​5. 导出GIF​​


python 模块 moviepy 视频剪辑_ffmpeg

  • ​​python 3.10.0源码编译安装​​
  • ​​python pip 安装​​

打开新世界大门了,视频剪辑还能这样玩,我真tm奥特了。

1. 安装 moviepy

pip install moviepy

2. 视频剪辑

from moviepy.editor import*


# 剪辑50-60秒的音乐 00:01:20 - 01:07:10
video =CompositeVideoClip([VideoFileClip("E:\视频\美剧\边缘世界\边缘世界第一季01集.mp4").subclip(70,80)])


# 写入剪辑完成的音乐
video.write_videofile("E:\视频\美剧\边缘世界\边缘世界第一季01集_1.mp4")

3. 视频拼接

from moviepy.editor importVideoFileClip, concatenate_videoclips

clip1 =VideoFileClip("myvideo.mp4")

# 结合剪辑,你甚至能够完全自动化剪辑拼接视频的操作
clip2 =VideoFileClip("myvideo2.mp4").subclip(50,60)
clip3 =VideoFileClip("myvideo3.mp4")

final_clip = concatenate_videoclips([clip1,clip2,clip3])
final_clip.write_videofile("my_concatenation.mp4")

4. 逐帧变化

那你能完成针对每一帧图像的快速图像处理吗?PR 可是做得到的哦”

那当然可以,教你如何反转视频每一帧的绿色和蓝色通道:

from moviepy.editor importVideoFileClip

my_clip =VideoFileClip("videoplayback.mp4")


def scroll(get_frame, t):
"""
处理每一帧图像
"""

frame = get_frame(t)
frame_region = frame[:,:,[0,2,1]]
return frame_region


modifiedClip = my_clip.fl(scroll)

modifiedClip.write_videofile("test.mp4")

5. 导出GIF

from moviepy.editor import*

# 剪辑50-60秒的音乐 00:00:50 - 00:00:60
video = CompositeVideoClip([VideoFileClip("videoplayback.mp4").subclip(50,60)])

my_clip.write_gif('test.gif', fps=12)

参考: