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,同时保留音频的主要内容,如果未能解决你的问题,请参考以下文章