网站的论坛怎么做的,网站强制分享链接怎么做的,wordpress文章在哪里,合同下载 公司网站一、MoviePy 安装及配置
在 Python 有一个音视频开发模块 MoviePy#xff0c;MoviePy 依赖于 FFmepg#xff0c;使用 MoviePy 可以对音视频进行编辑#xff1b;例如视频合成、视频处理、视频特效等。
在 Python 下直接使用 pip 工具进行安装即可#xff1a;
pip install…一、MoviePy 安装及配置
在 Python 有一个音视频开发模块 MoviePyMoviePy 依赖于 FFmepg使用 MoviePy 可以对音视频进行编辑例如视频合成、视频处理、视频特效等。
在 Python 下直接使用 pip 工具进行安装即可
pip install moviepy如果是在 windows 系统下使用 MoviePy 还需要额外安装 ImageMagick否则将会出现如下错误 以上提示告诉我们的关键信息是我们可能没有安装 ImageMagick 需要将其安装并且配置安装后的文件地址则可以正常使用。ImageMagick 可以搜索引擎搜索或者微信关注 [李兰清的代码小屋] 回复 ImageMagick 获取下载链接。
安装完 ImageMagick 后我们打开 Python 文件目录搜索 MoviePy找到 MoviePy 目录在其下文件中找到 config_defaults.py 文件。
打开该文件对其进行配置 ImageMagick 根目录下 magick.exe 所在的位置信息 这样之后在使用 MoviePy 将会省心很多。
二、MoviePy 基础播放
在 MoviePy 中有一个视频剪辑类 VideoFileClip它继承于基类 VideoClip。我们可以使用 VideoFileClip 直接对某一视频或 GIF 进行加载
clip VideoFileClip(rC:\Users\mx\Desktop\demo.mp4)
clip VideoFileClip(rC:\Users\mx\Desktop\demo.gif)加载了视频对象后我们可以使用该对象的 subclip 方法对视频进行剪辑subclip 方法接收两个参数 t_start 与 t_endt_start 默认为 0 。t_start 表示对该视频截取片段从第几秒开始t_end 表示结束的时间位置例如如下代码
clip VideoFileClip(rC:\Users\mx\Desktop\hmbb.mp4).subclip(10,20)VideoFileClip 首先获取到了 hmbb.mp4 这个视频对象随后调用 subclip 截取第 10 秒到第 20 秒的视频内容。如果想从视频末尾截取直接在 t_end 参数传入负数即可
clip VideoFileClip(rC:\Users\mx\Desktop\hmbb.mp4).subclip(0,-2)以上代码 0,-2 表示该视频从结尾裁剪 2 秒。最后将视频导出即可
from moviepy.editor import *clip VideoFileClip(rC:\Users\mx\Desktop\hmbb.mp4).subclip(10,22)
clip.write_videofile(rC:\Users\mx\Desktop\myHolidays_edited.webm)以上代码是这部分完整的代码最终使用 write_videofile 导出媒体文件可以在导出路径中填写视频的后缀名进行默认转码。
最终导出文件后将会出现一个 12 秒视频为导出的结果 我们还可以通过 volumex 方法更改视频对象的音量大小
clip clip.volumex(1.2)三、MoviePy 文字添加
对视频添加文字可以使用 TextClip 类该类创建时可以传入多个参数对需要创建的文字进行修饰在此先简单的介绍几个基本传入参数。首先看看基本代码示例在此注意使用 TextClip 必须安装 ImageMagick在 windows 操作系统上需要对其进行配置配置方法查看第一点内容
txt_clip TextClip(I am 1_bit ,fontsize70,colorwhite)以上代码示例创建了 TextClip 对象该对象的的第一个参数需要接收一个写入的字符串该字符串则为添加到视频中的字符串在 TextClip 类的原型中参数名为 txt接下来在以上示例中传入了 fontsize 设置了其字体大小为 70并且设置了颜色 color 为白色 white。那此时如何将该 TextClip 对象的文本添加至视频中呢先不急我们此时还要将该 TextClip 对象的位置进行设置如何进行显示是非常必要的。查看示例
txt_clip txt_clip.set_pos(center).set_duration(3)以上代码使用 txt_clip 调用 set_pos 方法设置该文本显示在视频的区域为 center 中部而 set_duration 表示显示的次序时间传入 3表示显示 3 秒。
接下来我们应该使用 CompositeVideoClip 类对两者进行装载。代码示例如下
video CompositeVideoClip([clip, txt_clip])此时生成了一个 CompositeVideoClip 的对象 video我们可以调用 video 中的 write_videofile 方法将装载后的视频进行输出从而得到最终的结果。代码示例如下
video.write_videofile(rC:\Users\mx\Desktop\hi.webm)在 write_videofile 后传入地址输出路径即可最终将会出现一个输出视频。该部分完整代码如下
from moviepy.editor import *clip VideoFileClip(rC:\Users\mx\Desktop\hmbb.mp4).subclip(10,20)
clip clip.volumex(10.2)txt_clip TextClip(I am 1_bit,fontsize70,colorwhite)
txt_clip txt_clip.set_pos(center).set_duration(10)video CompositeVideoClip([clip, txt_clip])
video.write_videofile(rC:\Users\mx\Desktop\hi.webm)三、TextClip 的其他参数设置
我们完成了基本的视频导入及输出后我们可以在创建 TextClip 时传入更多的参数对需要显示的文字进行更深入的修饰。首先我们可以查看 TextClip 中 init 方法原型
def __init__(self, txtNone, filenameNone, sizeNone, colorblack,bg_colortransparent, fontsizeNone, fontCourier,stroke_colorNone, stroke_width1, methodlabel,kerningNone, aligncenter, interlineNone,tempfilenameNone, temptxtNone,transparentTrue, remove_tempTrue,print_cmdFalse):我们在此简单的对 bg_color、stroke_color、stroke_color 、stroke_width、kerning 进行讲解。
bg_color
bg_color 可以设置该文本内容的背景色直接传参为指定颜色即可。代码示例如下
txt_clip TextClip(I am 1_bit,fontsize70,colorwhite,bg_colorred)导出后播放内容如下 stroke_color 与 stroke_width
stroke_color 表示对文本描边的颜色可以通过颜色标识进行设置。示例代码如下
txt_clip TextClip(I am 1_bit,fontsize70,colorwhite,bg_colorred,stroke_colorgreen)也可以通过 stroke_width 设置描边宽度单位为像素。代码示例如下
txt_clip TextClip(I am 1_bit,fontsize70,colorwhite,bg_colorred,stroke_colorgreen,stroke_width2.1)kerning
可以使用 kerning 设置字母间距代码示例如下
txt_clip TextClip(I am 1_bit,fontsize70,colorwhite,bg_colorred,stroke_colorgreen,kerning2)