Quick recipes¶
Effects and filters¶
Blurring all frames of a video¶
from skimage.filters import gaussian
from moviepy import VideoFileClip
def blur(image):
""" Returns a blurred (radius=2 pixels) version of the image """
return gaussian_filter(image.astype(float), sigma=2)
clip = VideoFileClip("my_video.mp4")
clip_blurred = clip.image_transform( blur )
clip_blurred.write_videofile("blurred_video.mp4")
Cutting videos¶
Scene detection¶
Compositing videos¶
Add a title before a video¶
Art of Gif-making¶
clip.fx( vfx.time_symmetrize)
# find a subclip
T = clip
Useless but fun¶
Getting the average frame of a video¶
from moviepy import VideoFileClip, ImageClip
clip = VideoFileClip("video.mp4")
fps = 1.0 # take one frame per second
total_image = sum(clip.iter_frames(fps, dtype=float, logger='bar'))
average_image = ImageClip(total_image / clip.n_frames)
average_image.save_frame("average_test.png")