moviepy第一天|模糊视频中卓别林的头,并添加一个文本生成的结尾clip,同时保留音频

Posted 程序媛一枚~

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了moviepy第一天|模糊视频中卓别林的头,并添加一个文本生成的结尾clip,同时保留音频相关的知识,希望对你有一定的参考价值。

MoviePy(完整文档)是一个用于视频编辑的Python库:剪切,串联,标题插入,视频合成(又名非线性编辑),视频处理和创建自定义效果。有关一些使用示例,请参阅库。
MoviePy可以读取和写入所有最常见的音频和视频格式,包括GIF,并在Windows / Mac / Linux上运行,使用Python 2.7 +和3(或仅Python 3.4 +从v.1.0)。

这篇博客将介绍如何使用moviepy将模糊视频中卓别林的头,并添加一个文本生成的结尾clip,同时保留音频。
基础视频是卓别林电影中截取的一小段,

pip install moviepy

1. 效果图

效果图如下:

丰富的背景及字体 gitf效果图如下:

结尾添加的文本片如图:
灰色背景,文本也为灰色(此处背景色,文字大小,文字颜色,文字均可修改);

透明背景,蓝色字体如下:
紫色背景,红色更大的字体效果图如下:

2. 源码

# 模糊视频中卓别林的头,并添加一个文本生成的结尾clip,同时保留音频
# python headblur.py
from moviepy import *
from moviepy.video.tools.interpolators import Trajectory
from moviepy.video.tools.tracking import manual_tracking  # noqa 401

# 加载视频块,卓别林电影的(6'51 - 7'01的子视频)
clip = VideoFileClip("../media/chaplin.mp4")

# MANUAL TRACKING OF THE HEAD
# the next line is for the manual tracking and its saving
# to a file, it must be commented once the tracking has been done
# (after the first run of the script for instance).
# Note that we save the list (ti, xi, yi), not the functions fx and fy
# manual_tracking(clip, fps=6, savefile="blurred_trajectory.txt")

# 手动追踪前边已经追踪过,则加载跟踪数据并将其转换为轨迹插值器
traj = Trajectory.from_file("../media/traj.txt")

# 模糊卓别林切片的头
clip_blurred = clip.fx(vfx.headblur, traj.xi, traj.yi, 25)

# 生成文本,灰色背景
txt = TextClip(
    # "Hey you! \\n You're blurry!",
    "Hey you! \\n You're blurry! this is a test",
    # color="grey70",
    color="red",  # 字体颜色
    size=clip.size,
    # bg_color="transparent",# 黑色背景
    # bg_color="grey20",
    bg_color="purple",
    font="Century-Schoolbook-Italic",
    font_size=50,
)

# 将卓别林片段与文本合并,并添加片段的音频
final = concatenate_videoclips([clip_blurred, txt.with_duration(3)]).with_audio(
    clip.audio
)

# 写入视频时,提高比特率以使得视频不要太难看
final.write_videofile("blurredChaplinBlue.mp4")

参考

以上是关于moviepy第一天|模糊视频中卓别林的头,并添加一个文本生成的结尾clip,同时保留音频的主要内容,如果未能解决你的问题,请参考以下文章

Moviepy模块之视频去除声音添加音乐

Moviepy模块之视频添加图片水印

Moviepy模块之视频添加文本水印

python 视频合并

moviepy第2天|对视频添加圆圈渐变大小的结尾及文字

MoviePy:减慢视频的渲染速度