moviepy音视频开发专栏
文章平均质量分 93
《moviepy音视频开发专栏》为收费专栏,基于老猿阅读moviepy1.03版本的源代码以及大量测试验证的基础上,详细介绍moviepy主要音视频剪辑相关类的方法、以及一些音视频剪辑合成处理的场景化支撑能力和部分剪辑合成实现的案例或工具开发。
LaoYuanPython
CSDN 2020年博客之星TOP3。博客主要关注音视频剪辑、数字图像处理、图形界面开发等Python相关知识!
另有高数、图像处理、OpenCV、Python以及架构类等电子书,如需要请扫描博客左下部二维码加微公号咨询。
展开
-
Python MoviePy中文教程导览及可执行音视频剪辑工具下载
关于moviepy的两个专栏是老猿阅读moviepy库当前最新版本1.0.3的文档、源代码以及大量测试的基础上总结的MoviePy学习教程,本文将两个专栏的核心知识点,包括重要类的相关方法及作用、视频音频剪辑变换方法、场景式的支撑能力进行了导览式介绍,并给出了相关知识点教程的原文链接。同时介绍了使用PyQt+moviepy实现的图形化视频剪辑工具的开发过程,并提供多视频合成(含顺序拼接和同屏播放)、从视频中选择多时间段范围的视频拼接、将视频转动画或图片文件的工具的win7和win10版本可执行文件下载。原创 2020-08-25 22:41:14 · 1787 阅读 · 2 评论 -
moviepy音视频开发专栏文章目录
《moviepy音视频开发专栏》为收费专栏,基于老猿阅读moviepy1.03版本的源代码以及大量测试验证的基础上,详细介绍moviepy主要音视频剪辑相关类的方法、以及一些音视频剪辑合成处理的场景化支撑能力和部分剪辑合成实现的案例或工具开发。原创 2020-07-25 11:33:50 · 6523 阅读 · 6 评论 -
Moviepy输出视频MP4文件Windows媒体播放器播放无画面只有声音问题的解决办法
本文介绍了Moviepy输出视频MP4文件Windows媒体播放器播放无画面只有声音问题,分析了产生问题的原因,给出了解决办法,并提供了将ppt结合多个语音文件生成MP4文件的完整实现代码。原创 2022-12-11 10:27:59 · 3452 阅读 · 13 评论 -
用Python快速将ppt制作成配音视频课件的方法
本文介绍了一种ppt视频课件快速制作的方法,通过将ppt输出成一张张图片,然后逐页配音,最后使用Moviepy将其合成输出,课件制作又快又好。由于采用了分页录音的方式,对于讲解不好的地方很快就可以更换,因此比期望一次性录播然后剪辑的效果要好很多,同时输出的视频文件小、输出快。原创 2021-06-17 21:48:12 · 3009 阅读 · 37 评论 -
Moviepy时间变换time_mirror再遇‘OSError: MoviePy error: failed to read the first frame of video file‘解决示例代码
一、引言在《https://blog.csdn.net/LaoYuanPython/article/details/106478711 moviepy音视频剪辑:使用fl_time报错OSError: MoviePy error: failed to read the first frame of video file》老猿介绍了使用fl_time进行时间变换遇到的OSError报错,并给出了解决办法,在付费专栏文章《https://blog.csdn.net/LaoYuanPython/article/原创 2021-04-23 22:46:42 · 1691 阅读 · 0 评论 -
moviepy音视频剪辑:使用mask遮罩实现视频叠加透明效果
☞ ░ 前往老猿Python博客 https://blog.csdn.net/LaoYuanPython ░一、引言在《moviepy音视频剪辑:mask clip遮罩剪辑、遮片、蒙版的作用以及其包含的构成内容》中介绍:“mask遮罩是一种只有灰度值的像素构成的帧组成的剪辑,其作用就是在带mask的剪辑与其他剪辑合成时确认是否显示带mask剪辑的对应像素。”本文实现一个使用mask遮罩剪辑实现叠加视频的透明效果。二、程序实现本案例实现一个可以在视频上面叠加一个旋转视频或旋转图片的通用方法,支持两原创 2020-10-21 21:55:02 · 6873 阅读 · 12 评论 -
使用OpenCV图像运算+Moviepy实现视频叠加案例
本文详细了使用OpenCV图像运算+Moviepy实现视频叠加后,最终结果剪辑中的上层剪辑和下层剪辑叠加后,上层剪辑背景色部分被下层剪辑内容所呈现替代的方案。通过该实现案例的介绍,可以理解OpenCV图像运算在图像处理中的作用,并在多个剪辑制作特效中使用该方法制作视频特效。原创 2020-10-21 21:33:57 · 3184 阅读 · 10 评论 -
moviepy音视频剪辑:使用mask遮罩剪辑实现叠加透明效果详解
本文介绍了通过moviepy设置mask遮罩的剪辑和另外的剪辑叠加后实现上层剪辑和下层剪辑叠加后,上层剪辑背景色部分被下层剪辑内容所呈现替代的方案。通过该实现案例的介绍,可以理解遮罩剪辑的作用,并在多个剪辑制作特效中使用该方法制作视频特效。原创 2020-10-21 21:32:47 · 6121 阅读 · 5 评论 -
Python音视频开发:消除抖音短视频Logo的图形化工具实现过程详解
本文介绍了使用PyQt开发一个消除视频Logo的GUI工具的过程,该工具支持选择对应视频文件,选择其中的Logo图标进行消除处理。原创 2020-09-08 21:55:38 · 2549 阅读 · 4 评论 -
Python音视频开发:消除抖音短视频Logo和去电视台标的实现详解
详细介绍了消除视频Logo图标的几种方法以及涉及的背景知识,并提供了一套Python+Moviepy+OpenCV实现的完整的消除视频Logo的代码。原创 2020-09-08 21:06:56 · 2249 阅读 · 0 评论 -
Moviepy音视频开发:开发视频转gif动画或jpg图片exe图形化工具的案例
本文详细介绍了使用Moviepy将视频转为动画或图片的方法以及详细开发过程,针对这些过程提供了关键部分的源代码,相信大家通过这些介绍可以掌握视频转动画或图片工具的开发。同时老猿还提供了一个图形化界面的视频转动画或图片的win7和win10下运行的工具,大家免费下载该工具后可以选择要转换的视频、设置相关控住参数后即可免费长期使用该工具进行视频转动画或图片。原创 2020-08-23 13:48:45 · 1443 阅读 · 0 评论 -
敬请各位付费专栏的订阅者花点时间移步帮忙做个调查,谢谢!
老猿有2个付费专栏,一个是使用PyQt开发图形界面Python应用,一个是moviepy音视频开发专栏。由于CSDN付费专栏订阅是不区分专栏的,老猿无法区分是因为哪个专栏得到大家认可的,因此敬请大家配合做个调查,非常感谢!大家调查回复时,根据下面的顺序在评论区回复对应数字即可,谢谢!使用PyQt开发图形界面Python应用moviepy音视频开发专栏以上两个都是。另外大家学习上有任何疑问,可以直接在对应文章下面的评论区提问,老猿一定尽力解答,也可以加微信:jwp163,说明是“CSDN专栏”即原创 2020-08-20 17:55:45 · 1552 阅读 · 20 评论 -
moviepy音视频开发:使用volumex调节音量大小及其花式用法
音频数据的音量体现为声音的振幅,振幅越大则声音越大,具体到音频帧数据上,体现为声音的绝对值越大则振幅越大音量越大,调节音量大小的本质是调整帧数据的绝对值大小。本文介绍了moviepy使用函数volumex调节音量大小的原理、调用方法、案例等内容,并提供了几种调节音量的特殊场景。原创 2020-08-03 20:06:32 · 3063 阅读 · 4 评论 -
moviepy音视频开发:audio_normalize调整剪辑音量大小到正常
☞ ░ 前往老猿Python博文目录 ░概述audio_normalize函数用于将一个剪辑的音量大小调整到正常,调整的思路就是将剪辑中音频帧数据的最大值取出来,当其值小于1时,表示剪辑的音量偏小。以1为参考,将所有剪辑帧数据的值都乘以1和剪辑帧数据最大值的比例,即表示音量调整到了正常。在audio_normalize文档字符串中介绍时,说明当剪辑的最大音量为0db,即可达到的最大音量。这句解释虽然与程序实现无关,但这个概念需要澄清一下。具体原因请参考《音量(DB)为什么都是负值》。调用语法:原创 2020-08-02 23:40:10 · 2006 阅读 · 0 评论 -
moviepy音视频开发:audio_loop实现音频内容循环重复
☞ ░ 前往老猿Python博文目录 ░概述moviepy的audio_loop函数用于将音频剪辑内容循环一定次数,返回值是原剪辑内容重复指定次数对应的剪辑。调用语法:audio_loop(audioclip, nloops=None, duration=None)说明: audioclip:原音频剪辑 nloops:重复的次数 duration:将音频重复一定次数使得音频的总时长超过duration 当duration参数有值时,nloops的值将被强制设置为nloops = in原创 2020-08-02 23:18:13 · 2636 阅读 · 0 评论 -
moviepy音视频开发:audio_fadein、fadeout实现声音淡入淡出
☞ ░ 前往老猿Python博文目录 ░一、概述为了支持一些常规的音频变换处理,moviepy提供了一系列常用的变换函数,开发者可以直接使用这些方法进行变换,这些函数都在moviepy.audio.fx包下,基本上一个函数就是一个文件。audio_fadein和audio_fadeout函数就是这些函数中的两个,这2个函数为moviepy提供声音渐变处理:audio_fadein函数是在剪辑的开头声音从无逐渐上升到正常,audio_fadeout是在剪辑的结尾声音从正常逐渐变到无声。这种淡入淡出原创 2020-08-02 22:26:41 · 3292 阅读 · 0 评论 -
moviepy音视频开发:音频拼接函数concatenate_audioclips介绍
☞ ░ 前往老猿Python博文目录 ░concatenate_audioclips函数用于将多个音频剪辑进行拼接合成一个顺序播放的剪辑。调用语法:concatenate_audioclips(clips)说明:clips参数用于存放需要顺序拼接的音频剪辑,合成后 clips参数内保存在前面的剪辑先播放,后面的剪辑后播放;合成剪辑的时长是所有参与合成剪辑的时长和;合成剪辑的fps取所有参与合成剪辑的fps的最大值。该函数进行拼接处理时是调用CompositeAudioClip类进行的,原创 2020-08-02 11:52:55 · 2398 阅读 · 10 评论 -
moviepy音视频开发:音频合成类AudioArrayClip介绍
☞ ░ 前往老猿Python博文目录 ░AudioArrayClip类是AudioClip的直接子类,用于从一个numpy音频数组构建音频剪辑。AudioArrayClip类只有一个构造方法,在构造方法内定义了一个内嵌函数make_frame,该make_frame函数作为AudioArrayClip构建音频帧的方法。1、构造方法调用语法:__init__(self, array, fps)2、参数说明: array:音频数组,该数组可能是一维数组(单声道声音,每个帧数据就是一个单独的浮点数)原创 2020-08-02 11:32:34 · 1488 阅读 · 0 评论 -
moviepy音视频开发:音频合成类CompositeAudioClip介绍
☞ ░ 前往老猿Python博文目录 ░CompositeAudioClip是AudioClip的直接子类,用于将几个音频剪辑合成为一个音频剪辑。CompositeAudioClip类只有一个构造方法,在构造方法内定义了一个内嵌函数make_frame,该make_frame函数作为CompositeAudioClip构建帧的方法。1、构造方法语法:__init__(self, clips))2、说明: 参数clips为一个列表,列表中的元素为AudioClip对象,这些对象构建的Compos原创 2020-08-01 23:36:19 · 2432 阅读 · 0 评论 -
moviepy音视频开发:音频文件存取类AudioFileClip属性和方法介绍
☞ ░ 前往老猿Python博文目录 ░一、概述AudioFileClip是AudioClip的直接子类,用于从一个音频文件或音频数组中读入音频到内存构建音频剪辑。但AudioFileClip并不将整个音频文件装入内存,而是将部分内容读入和保存到内存,读入的部分包括当前最后一个读取的帧以及该帧前面和后面的部分帧,因此可以快速地向前或向后读取声音。本文将介绍AudioFileClip的相关方法。二、构造方法调用语法:__init__(self, filename, buffersize=2000原创 2020-08-01 20:49:37 · 3719 阅读 · 0 评论 -
moviepy音视频开发:音频剪辑基类AudioClip详解
一、音频的参数采样率(Sample Rate):每秒从连续信号中提取并组成离散信号的采样个数,它用赫兹(Hz)来表示。一般音乐CD的采样率是44100Hz,所以视频编码中的音频采样率保持在这个级别就完全足够了,通常视频转换器也将这个采样率作为默认设置。常用的音频采样频率有8kHz、11.025kHz、22.05kHz、16kHz、37.8kHz、44.1kHz、48kHz等,采样频率越高音质越好,但资源消耗越高。22.05kHz的采样频率是常用的, 44.1kHz已是CD音质, 超过48kHz或96kH原创 2020-07-30 21:54:05 · 3110 阅读 · 3 评论 -
moviepy AudioClip的max_volume方法报错ValueError: operands could not be broadcast together with shapes(2,)
☞ ░ 前往老猿Python博文目录 ░在《moviepy音视频剪辑:AudioClip的max_volume方法报TypeError: bad operand type for abs(): ‘list‘错》介绍了调用max_volume时报TypeError的处理方法,使用该处理措施后max_volume使用缺省参数调用时处理正常了,但后来参数stereo为True时发现还是存在问题。一、环境操作系统:win7 64位moviepy:1.0.3numpy:1.19.0Python:3.7.原创 2020-07-29 07:41:28 · 1491 阅读 · 0 评论 -
moviepy AudioClip帧处理ValueError: The truth value of array with more than one element is ambiguous
☞ ░ 前往老猿Python博文目录 ░一、环境操作系统:win7 64位moviepy:1.0.3numpy:1.19.0Python:3.7.2二、应用代码及报错信息程序代码if __name__ == '__main__': import numpy as np make_frame = lambda t: 2 * [t*(-1) if t<0 else t] clip = AudioClip(make_frame, duration=5,f原创 2020-07-28 23:33:22 · 1013 阅读 · 0 评论 -
moviepy音视频剪辑:AudioClip的max_volume方法报TypeError: bad operand type for abs(): ‘list‘错
☞ ░ 前往老猿Python博文目录 ░一、环境操作系统:win7 64位moviepy:1.0.3numpy:1.19.0二、应用代码及报错信息应用代码import numpy as npfrom moviepy.editor import *make_frame = lambda t: 2*[np.sin(440 * 2 * np.pi * t)]clip = AudioClip(make_frame, duration=5,fps=24000)clip.max_volum原创 2020-07-28 22:37:28 · 2324 阅读 · 0 评论 -
moviepy音视频剪辑:使用autoTrack、manual_tracking+headblur实现半自动追踪人脸打马赛克
一、引言在《moviepy1.03音视频剪辑:使用manual_tracking和headblur实现追踪人脸打马赛克》介绍了使用手动跟踪跟踪人脸移动轨迹和使用headblur对人脸进行打马赛克。实际上,moviepy除了使用manual_tracking手动追踪,另外还提供了autoTrack自动追踪的方式,该方式提供需要匹配的跟踪对象的图像数组,自动在剪辑对应帧中去查找跟踪对象。对于一个较长的剪辑来说,自动追踪可以避免选择多个帧来手动跟踪目标对象。对一个较长剪辑来说,结合手动跟踪和自动跟踪实现一种原创 2020-07-19 23:05:11 · 1314 阅读 · 0 评论 -
moviepy音视频剪辑:使用fl_time进行诸如快播、慢播、倒序播放等时间特效处理的原理、代码实现以及需要注意的坑
在《moviepy音视频剪辑:moviepy中的剪辑基类Clip的属性和方法详解》介绍了fl_time方法返回一个新剪辑,新剪辑是调用剪辑的一个浅拷贝,但新剪辑的时间线被调整,实际上这个方法就是对剪辑进行一个基于时间特效的处理,如快播、慢播、倒序播放等。代码实例: clipVideo = VideoFileClip(r"F:\video\WinBasedWorkHard_src.mp4") duration = clipVideo.duration end = clipVideo.原创 2020-06-01 18:33:29 · 3361 阅读 · 6 评论 -
PyQt+moviepy音视频剪辑实战2:实现一个剪裁视频文件精华内容留存工具
一、引言最近网上会议很多,网上会议工具大多提供了录播的功能,有些会议内容比较精彩,但中间穿插有些无用的内容,或者有些只有几段精彩,大部分内容可以去除。这就需要对该录播文件进行剪辑,取其精华留存,这样可以节约后续重温或者给其他人共享的时间。本文介绍的开发方法就是要实现...原创 2020-05-17 17:34:04 · 1444 阅读 · 0 评论 -
PyQt+moviepy音视频剪辑实战1:多视频合成顺序播放或同屏播放的视频文件
专栏:Python基础教程目录专栏:使用PyQt开发图形界面Python应用专栏:PyQt入门学习老猿Python博文目录老猿学5G博文目录一、引言在《moviepy音视频剪辑:音视频的加载和输出》、《moviepy音视频剪辑:多个视频合成一个视频》、《moviepy音视频剪辑:使用VideoFileClip、AudioFileClip和write_videofile、write_audiofile进行音视频的加载和输出》和《moviepy音视频剪辑:使用concatenate_videoc.原创 2020-05-15 23:04:52 · 2271 阅读 · 2 评论 -
Python+moviepy使用manual_tracking和headblur函数10行代码实现视频人脸追踪打马赛克
☞ ░ 前往老猿Python博文目录 ░一、背景知识1.1、headblur简介追踪人脸打马赛克需要使用headblur函数。调用语法:headblur(clip,fx,fy,r_zone,r_blur=None)说明:其中参数fx和fy是两个函数,该函数带参数t,用于确认t时刻需要模糊化范围的中心点位置,moviepy将对以中心点为圆心半径r_zone的圆范围内的图像进行模糊化处理,模糊化处理时的卷积核大小由r_blur指定。关于r_blur参数的作用请大家参考《moviepy音视频剪辑:原创 2020-07-14 12:25:13 · 2677 阅读 · 0 评论 -
moviepy音视频剪辑:视频半自动追踪人脸打马赛克
一、引言在《moviepy1.03音视频剪辑:使用manual_tracking和headblur实现追踪人脸打马赛克》介绍了使用手动跟踪跟踪人脸移动轨迹和使用headblur对人脸进行打马赛克。实际上,moviepy除了使用manual_tracking手动追踪,另外还提供了autoTrack自动追踪的方式,该方式提供需要匹配的跟踪对象的图像数组,自动在剪辑对应帧中去查找跟踪对象。对于一个较长的剪辑来说,自动追踪可以避免选择多个帧来手动跟踪目标对象。对一个较长剪辑来说,结合手动跟踪和自动跟踪实现一种原创 2020-07-19 22:52:08 · 1777 阅读 · 0 评论 -
moviepy音视频剪辑:追踪人脸打马赛克的三种实现方式
一、引言在moviepy官网的案例《Tracking and blurring someone’s face》和CSDN的moviepy大神ucsheep《MoviePy - 中文文档4-MoviePy实战案例-追踪人脸,打马赛克》都提供了追踪人脸并给影片中卓别林脸部打马赛克的样例,二者代码完全相同。但老猿按照同样的方法实现却报ImportError错:from moviepy.video.tools.tracking import manual_tracking, to_fxfyImportErr原创 2020-07-12 22:50:48 · 3019 阅读 · 0 评论 -
moviepy音视频剪辑:多个视频合成一个视频
一、视频合成概述视频合成,也称为非线性编辑,实际上是在一个新剪辑中播放几个剪辑。请注意视频剪辑通常带有音频和遮罩(放到视频轨道上的图片视频音乐我们通常都称为素材,遮罩作用于素材上,用来遮挡或显示素材的部分内容。通常黑白相间的图片或者视频都可以作为遮罩使用,遮罩白色部分显示素材内容,遮罩黑色部分遮挡消除素材内容),它们也是剪辑。当您将这些剪辑组合在一起时,通过将剪辑的原声和遮罩组合在一起,将自动生成最终剪辑的原声和遮罩。所以大多数时候你不需要担心混音和面具。两种简单的剪辑合成方法是将它们拼接起来(在一个原创 2020-05-14 21:56:23 · 3418 阅读 · 0 评论 -
moviepy音视频剪辑:音视频的加载和输出
一、概述在本地进行音视频处理时,首先要从视频文件进行音视频加载,最后要将处理结果输出到文件。本节介绍moviepy的音视频的加载和输出方法。二、视频加载2.1、视频加载方法要从视频文件中加载视频非常简单,使用VideoFileClip类的构造方法即可完成加载。其构造方法语法如下:__init__(self, filename, has_mask=False, audio=True, audio_buffersize=200000,原创 2020-05-13 22:08:01 · 2413 阅读 · 0 评论 -
moviepy音视频剪辑:视频变换处理与内容相关的变换函数介绍
一、引言在《moviepy音视频剪辑:moviepy中的剪辑基类Clip详解》介绍了剪辑基类的fl、fl_time、fx方法,在《moviepy音视频剪辑:视频剪辑基类VideoClip的属性及方法详解》介绍了fl_image和subfx方法,在《Python+moviepy音视频剪辑:视频帧数据的本质、Clip的fl方法进行变换处理的原理以及滚屏案例》及《moviepy音视频剪辑:使用fl_time进行诸如快播、慢播、倒序播放等时间特效处理的原理和可能遇到的坑》分别介绍了fl和fl_time进行视频剪原创 2020-07-15 22:07:14 · 1652 阅读 · 0 评论 -
moviepy音视频剪辑:与大小相关的视频变换函数详解
一、引言在《moviepy音视频剪辑:moviepy中的剪辑基类Clip详解》介绍了剪辑基类的fl、fl_time、fx方法,在《moviepy音视频剪辑:视频剪辑基类VideoClip的属性及方法详解》介绍了fl_image和subfx方法,在《Python+moviepy音视频剪辑:视频帧数据的本质、Clip的fl方法进行变换处理的原理以及滚屏案例》及《moviepy音视频剪辑:使用fl_time进行诸如快播、慢播、倒序播放等时间特效处理的原理和可能遇到的坑》分别介绍了fl和fl_time进行视频剪原创 2020-07-09 21:51:03 · 2390 阅读 · 0 评论 -
moviepy音视频剪辑:与time时间线相关的变换函数freeze_region、make_loopable、speedx、time_mirror、time_symmetrize详解及使用案例
本节详细介绍了moviepy提供的与时间线相关的变换函数,这些函数本质上是调用fl_time函数完成变换的,只是提供了一些更典型场景的时间线变换处理函数,有了这些经典时间线变换场景支持的函数,开发者可以更快的实现诸如倍速、倒序、循环播放等基本的时间特效。原创 2020-07-01 22:08:19 · 1600 阅读 · 0 评论 -
moviepy音视频剪辑:颜色相关变换函数blackwhite、colorx、fadein/out、gamma_corr、invert_colors、lum_contrast、mask_color详解
本文详细介绍了moviepy与颜色变换相关的blackwhite、colorx、fadeinout、gamma_corr、invert_colors、lum_contrast、mask_color函数的功能和使用方法,这些函数可以在某些剪辑中用于制造特殊的特效。原创 2020-06-30 23:01:25 · 2018 阅读 · 0 评论 -
moviepy音视频剪辑:视频基类VideoClip子类VideoFileClip、CompositeVideoClip、ImageSequenceClip介绍及使用案例
☞ ░ 前往老猿Python博文目录 ░一、引言在《moviepy音视频剪辑:moviepy中的剪辑相关类及关系》介绍了VideoClip主要有六个直接子类(VideoFileClip、 ImageSequenceClip、CompositeVideoClip、ImageClip、DataVideoClip、UpdatedVideoClip)和两个间接子类(ColorClip, TextClip)。在《moviepy音视频剪辑:视频基类VideoClip子类DataVideoClip、UpdatedV原创 2020-06-22 00:33:29 · 3870 阅读 · 0 评论 -
moviepy音视频剪辑:视频基类VideoClip子类DataVideoClip、UpdatedVideoClip、ImageClip、ColorClip、TextClip及使用案例
一、概述在《moviepy音视频剪辑:moviepy中的剪辑相关类及关系》介绍了剪辑相关类及关系,其中VideoClip有多个直接子类和间接子类。本文中将介绍的DataVideoClip、UpdatedVideoClip、ImageClip、ColorClip、TextClip都是VideoClip的子类,其中DataVideoClip、UpdatedVideoClip在前面文中未进行介绍,之所以将这几个类在此一并介绍,是因为这几个类都在VideoClip类相同的模块文件VideoClip.py中。二原创 2020-06-21 13:37:07 · 2017 阅读 · 9 评论 -
moviepy音视频剪辑:视频剪辑基类VideoClip详解
本文是笔者基于moviepy.video.VideoClip.py的文档字符串以及源代码,结合查阅资料和验证测试,断断续续持续了一个多星期探索的结果。详细介绍了视频剪辑基类VideoClip的构造方法、属性和相关处理方法,其中很多方法如save_frame、write_videofile、write_images_sequence、write_gif可以用于输出视频中的对应数据,而subfx、fl_image、add_mask、on_color、set_opacity等是进行视频变换的重要方法。原创 2020-06-11 00:05:41 · 4041 阅读 · 0 评论