在视频处理中常会遇见需要将两段视频剪切拼接的问题。怎样用moviepy解决呢?
目录
一、视频剪辑
二、 视频拼接
三、视频合成
1.subclip
from moviepy.editor import *
aviFileName1 = r'待处理视频1.mp4'
aviFileName2 = r'待处理视频2.mp4'
aviFileNameResult = r'D:\录屏视频\合成、带字幕.mp4'
video1 = VideoFileClip(aviFileName1).subclip(t_start=3,
t_end=(8,30))
#将第一个视频从第3秒剪到8分30秒。时分秒用,隔开。比如一小时24分钟30秒,写成(1,24,30)
2.subclip
video2 = VideoFileClip(aviFileName2).cutout(0, 5) # 剪掉0到5秒
finalclip = concatenate_videoclips([video1, video2])
finalclip.write_videofile("my_concatenate.mp4")
效果:先播放video1,在播放video2
CompositeVideoClip将视频合成。
final = CompositeVideoClip([video1, video2]) #video2会覆盖在video1之上
final = CompositeVideoClip([video1, video2.set_start(5).crossfadein(1)]) #先播放video1,在第五秒开始video2播放,并以“渐入”的特效显示
指定位置,将两个视频在同一画面播放。假设我们已经选用了合适的尺寸的两个视频,计算尺寸使视频不会覆盖。
video = CompositeVideoClip([
video1.set_pos((0,150),
video2.set_pos((100,150))
])
CompositeVideoClip通常用于版权(logo)添加,字幕合成等。
logo添加:使用python的moviepy做视频版权、logo添加
字幕添加:使用moviepy为视频添加字幕