当前位置:   article > 正文

python+moviepy音视频处理(三):视频特效方法-vfx模块_moviepy 特效

moviepy 特效

目录

vfx调用方法

变速moviepy.video.fx.accel_decel

黑白特效moviepy.video.fx.blackwhite

闪烁特效moviepy.video.fx.blink

色彩增幅moviepy.video.fx.colorx

裁剪moviepy.video.fx.crop

尺寸均匀moviepy.video.fx.even_size(剪裁视频像素为偶数)

淡入淡出moviepy.video.fx.fadein\fadeout

冷冻特效moviepy.video.fx.freeze_region\freeze

视频剪辑的伽玛校正moviepy.video.fx.gamma_corr

局部模糊特效moviepy.video.fx.headblur

色彩反转moviepy.video.fx.invert_colors

循环moviepy.video.fx.loop

亮度/对比度调整moviepy.video.fx.lum_contrast

结尾逐渐淡入使自己可循环moviepy.video.fx.make_loopable

页边距moviepy.video.fx.margin

遮罩moviepy.video.fx.mask_and\mask_or\mask_color

镜像moviepy.video.fx.mirror_x\mirror_y

油画特效moviepy.video.fx.painting

缩放moviepy.video.fx.resize

旋转moviepy.video.fx.rotate

滚动moviepy.video.fx.scroll

倍速moviepy.video.fx.speedx

倒放moviepy.video.fx.time_mirror

正播倒播自动合成moviepy.video.fx.time_symmetrize

moviepy.video.fx.supersample


vfx调用方法

方法一:

  1. from moviepy.editor import VideoFileClip, vfx
  2. video = VideoFileClip('video.mp4', audio=False)
  3. factor = 2 # 倍速播放倍数
  4. final_duration = 1 # 倍速播放持续时间
  5. newclip = (video.fx(vfx.speedx, factor, final_duration))
  6. newclip.write_videofile('1.mp4')

方法二:

  1. newclip = vfx.speedx(video, factor, final_duration)
  2. newclip.write_videofile('1.mp4')

变速moviepy.video.fx.accel_decel

  1. # def accel_decel(clip, new_duration=None, abruptness=1.0, soonness=1.0):
  2. # 參數:
  3. # new_duration:最后视频时长,默认是clip原时长
  4. # abruptness:加速时间
  5. # soonness:加速持续时间
  6. newclip = vfx.accel_decel(video, new_duration=None, abruptness=10, soonness=10)

黑白特效moviepy.video.fx.blackwhite

  1. # def blackwhite(clip, RGB=None, preserve_luminosity=True):
  2. # 參數:
  3. # RGB:可选"CRT_phosphor",一组特殊值:[0.2125, 0.7154, 0.0721]
  4. # preserve_luminosity:是否保持亮度,即preserve_luminosity是否与RGB的和保持为1
  5. newclip = vfx.blackwhite(video)
  1. # def blink(clip, d_on, d_off):
  2. # 參數:
  3. # 仅在composite clips中生效
  4. # d_on:每d_on秒显示
  5. # d_off:每s_off秒消失
  6. video = VideoFileClip('video.mp4').set_opacity(.5)
  7. newclip = vfx.blink(video, d_on=2, d_off=3)

色彩增幅moviepy.video.fx.colorx

  1. # def colorx(clip, factor):
  2. # 參數:
  3. # factor:增幅系数
  4. video = VideoFileClip('demo_video.mp4').set_opacity(.5)
  5. newclip = vfx.colorx(video, factor=.8)

裁剪moviepy.video.fx.crop

  1. # def crop(clip, x1=None, y1=None, x2=None, y2=None, width=None, height=None, x_center=None, y_center=None,):
  2. # 參數:
  3. # 可以任意参数值组合完成裁剪...
  4. # x1、y1表示裁剪区域的左上角坐标
  5. # x2、y2表示裁剪区域的右下角坐标
  6. # width、height表示裁剪区域宽度、高度
  7. # x_center、y_center表示裁剪区域中心坐标
  8. # (所有的坐标都以像素为单位,值为浮点数)

尺寸均匀moviepy.video.fx.even_size(剪裁视频像素为偶数)

def even_size(clip):  # 裁剪剪辑,使尺寸均匀

淡入淡出moviepy.video.fx.fadein\fadeout

  1. # def fadein(clip, duration, initial_color=None): # 淡入
  2. # 參數:
  3. # duration:变化时长
  4. # initial_color:初始颜色(介于0和1之间的数字)
  5. #
  6. # def fadeout(clip, duration, final_color=None): # 淡出
  7. # 參數:
  8. # duration:变化时长
  9. # final_color:终止颜色(介于0和1之间的数字)
  10. newclip = vfx.fadein(video, duration=5, initial_color=.5)
  11. newclip = vfx.fadeout(video, duration=3, final_color=.5)

冷冻特效moviepy.video.fx.freeze_region\freeze

  1. # 局部冷冻特效
  2. # def freeze_region(clip, t=0, region=None, outside_region=None, mask=None):
  3. # 參數:
  4. # t:冻结时刻
  5. # region:冻结区域
  6. # outside_region:非冻结区域
  7. # mask:
  8. # 冷冻特效
  9. # def freeze(clip, t=0, freeze_duration=None, total_duration=None, padding_end=0):
  10. # 參數:
  11. # t:冻结时刻
  12. # freeze_duration:冻结持续时间
  13. # total_duration:总持续时间
  14. # padding_end:

视频剪辑的伽玛校正moviepy.video.fx.gamma_corr

  1. def gamma_corr(clip, gamma):
  2. 參數:
  3. gamma:CRT的影像亮度呈现线性

局部模糊特效moviepy.video.fx.headblur

  1. # def headblur(clip, fx, fy, r_zone, r_blur=None):
  2. # 參數:
  3. # fx、fy:模糊原点坐标
  4. # r_zone:模糊半径
  5. # r_blur:模糊强度

色彩反转moviepy.video.fx.invert_colors

# def invert_colors(clip):

循环moviepy.video.fx.loop

  1. # def loop(clip, n=None, duration=None):
  2. # 參數:
  3. # n:循环次数
  4. # duration:持续时间

亮度/对比度调整moviepy.video.fx.lum_contrast

  1. # def lum_contrast(clip, lum=0, contrast=0, contrast_thr=127):
  2. # 參數:
  3. # lum:亮度
  4. # contrast:对比度
  5. # contrast_thr:

结尾逐渐淡入使自己可循环moviepy.video.fx.make_loopable

  1. # def make_loopable(clip, cross):
  2. # 參數:
  3. # cross:淡入持续时间

页边距moviepy.video.fx.margin

  1. # def margin(clip, mar=None, left=0, right=0, top=0, bottom=0, color=(0, 0, 0), opacity=1.0):
  2. # 參數:
  3. # mar:外边框的宽度像素,mar指定了有效值,left、right、top、bottom设定不起作用
  4. # left,right,top,bottom:边框左、右、顶和底的宽度
  5. # color:边框颜色
  6. # opacity:边框透明度,0完全透明,1完全不透明

遮罩moviepy.video.fx.mask_and\mask_or\mask_color

  1. # def mask_and(clip, other_clip):
  2. # def mask_or(clip, other_clip):
  3. # def mask_color(clip, color=None, thr=0, s=1):

镜像moviepy.video.fx.mirror_x\mirror_y

  1. # def mirror_x(clip, apply_to="mask"):
  2. # def mirror_y(clip, apply_to="mask"):

油画特效moviepy.video.fx.painting

# def painting(clip, saturation=1.4, black=0.006):

缩放moviepy.video.fx.resize

# def resize(clip, newsize=None, height=None, width=None, apply_to_mask=True):

旋转moviepy.video.fx.rotate

# def rotate(clip, angle, unit="deg", resample="bicubic", expand=True):

滚动moviepy.video.fx.scroll

# def scroll(clip, w=None, h=None, x_speed=0, y_speed=0, x_start=0, y_start=0, apply_to="mask"):

倍速moviepy.video.fx.speedx

# def speedx(clip, factor=None, final_duration=None):

倒放moviepy.video.fx.time_mirror

# def time_mirror(self):

正播倒播自动合成moviepy.video.fx.time_symmetrize

#  def time_symmetrize(clip):

moviepy.video.fx.supersample

#  def supersample(clip, d, nframes):
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/人工智能uu/article/detail/734416
推荐阅读
相关标签
  

闽ICP备14008679号