MoviePy は切り取りや結合、エフェクトをかけたりといった動画の加工を行うためのライブラリ。
$ pip install moviepy
VideoFileClip で動画を読み込み、CompositeVideoClip で TextClip など別の Clip を重ねる。次の例は 動画の開始 5 秒後から 3 秒間、左から 40%、上から 70% の位置に文字を表示させる。
from moviepy import VideoFileClip, TextClip, CompositeVideoClip, AudioFileClip, CompositeAudioClip
video = VideoFileClip("video.mp4")
txt_clip = TextClip(font="Arial Unicode.ttf", text="テスト", font_size=70, color='white') \
.with_start(5) \
.with_duration(3) \
.with_position((0.4,0.7), relative=True)
final_video = CompositeVideoClip([video, txt_clip])
final_video.write_videofile("result.mp4", codec='libx264', audio_codec='aac')

同様に CompositeAudioClip で音声を被せることができる。次の例は元動画の音量を 20 % にし、開始 5 秒後から音声ファイルの 1~3 秒部分を流す。
audio_clip = AudioFileClip("audio.mp3")
final_audio = CompositeAudioClip([
video.audio.with_volume_scaled(0.2), audio_clip.with_start(5).subclipped(1, 3)
])
final_video = video.with_audio(final_audio)