在視頻處理中常會遇見需要將兩段視頻剪切拼接的問題。怎樣用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爲視頻添加字幕