这个模块里提供了许多现成的转换函数, 就讲讲这些函数的作用及使用。 这边会通过代码加效果来展示每个函数的作用, 使讲解得更加清楚。
一般来说: 其定义虽然是: moviepy.video.fx.all.XXX(clip, param1, param2, param3)
我们可以这样使用
# 伪代码
from moviepy.editor import *
video = VideoFileCip('../xxx/xxx.mp4')
out = video.fx(vfx.XXX, param1, param2, param3).fx(vfx.YYY, param1, param2)...
out.write_videofile('../xxx/xxx_out.mp4')
因为不是所有的函数都是有用的, 下面就讲解一些常用的函数。
1, colorx
控制亮度
# coding:utf-8
from moviepy.editor import *
video = VideoFileClip('../demo/result.mp4')
out = video.fx(vfx.colorx, 0.8)
out.write_videofile('../demo/result_colorx.mp4')
-- | 处理1 | 处理2 |
---|---|---|
亮度 | 0.8 | 0.2 |
图片 |
2, crop
crop(clip, x1=None, y1=None, x2=None, y2=None, width=None, height=None, x_center=None, y_center=None)
返回一个矩形剪辑区域, 参数比较多, 可以有多种组合效果, 剪辑比较灵活
# coding:utf-8
from playutil import *
video = VideoFileClip('../demo/result.mp4')
out = video.fx(vfx.crop, x_center=video.w/2, y_center=video.h/2, width=video.w, height=video.h/3*2)
# out.write_videofile('../demo/result_colorx.mp4')
这是一个视频不同时间的截图, 忽略下, 主要看他的剪辑范围
剪辑前 | 剪辑后 |
---|---|
3, fadein, fadeout
这一对api 表示剪辑逐渐显示和逐渐消失
他们都有2个参数: 第一个参数为消失或者消失持续的时间, 第二个参数为消失后显示的颜色和显示前的颜色
# coding:utf-8
import cv2
from moviepy.editor import *
from playutil import *
video = VideoFileClip('../demo/result.mp4').set_start(0).set_duration(1)
out = video.fx(vfx.fadein, 1).set_fps(3)
out.write_videofile('../demo/result_colorx.mp4')
# out.write_gif('../demo/fade.gif')