
PyQt+moviepy音视频剪辑实战
文章平均质量分 95
介绍moviepy的功能,并结合PyQt开发简单的音视频剪辑图形界面程序作为PyQt实战的内容。关于PyQt请访问本人专栏《使用PyQt开发图形界面Python应用》或《PyQt入门知识目录》专栏
LaoYuanPython
CSDN 2020年博客之星TOP3。博客主要关注音视频剪辑、数字图像处理、图形界面开发等Python相关知识!
另有高数、图像处理、OpenCV、Python以及架构类等电子书,如需要请扫描博客左下部二维码加微公号咨询。
展开
-
PyQt+moviepy音视频剪辑实战文章目录
本专栏为moviepy音视频开发的免费专栏,基于老猿阅读moviepy1.03版本的源代码以及大量测试验证的基础上,介绍moviepy主要音视频剪辑相关类的方法、以及一些音视频剪辑合成处理的场景化支撑能力和部分剪辑合成实现的案例或工具开发。原创 2020-05-17 21:02:12 · 6959 阅读 · 0 评论 -
Moviepy进行视频resize缩放报错:AttributeError: module ‘PIL.Image‘ has no attribute ‘ANTIALIAS‘
本文介绍了Moviepy进行视频resize缩放报错:AttributeError: module 'PIL.Image' has no attribute 'ANTIALIAS'的问题原因及四种解决办法,包括修改moviepy的resize函数、升级moviepy、降级pillow以及用自定义函数替换resize函数,但由于moviepy2.0 相较以前的版本有非常大的变化,因此具体怎么处理需要结合大家的实际情况综合考虑。原创 2025-03-23 09:14:34 · 987 阅读 · 0 评论 -
使用科大讯飞语音在线合成服务实现中文文本转语音全攻略
本文介绍了在科大讯飞创建文本转语音应用的详细步骤,并提供了官网平台demo下载的方法,但下载的代码存在3个影响运行的问题,老猿将其总结了下,并给出了完善建议,大家按照建议进行处理,就能真正完成一个中文文本转语音的示例了。原创 2025-01-01 15:30:22 · 2527 阅读 · 3 评论 -
Moviepy+OpenCV-python 结合进行音视频剪辑处理的一种建议模式
本文简单介绍了 Moviepy 库和 OpenCV-python 库,并讨论了 Moviepy 结合 OpenCV-python 进行视频剪辑的适用的一些场景,同时给出了这种剪辑处理模式的推荐实现方案,对使用 Python 进行视频剪辑处理感兴趣的同仁可以按照该模式去进行尝试。原创 2022-02-22 19:34:32 · 3576 阅读 · 2 评论 -
OpenCV-Python+Moviepy 结合进行视频特效处理
本文介绍了制作视频雪花飘落特效和灯光秀的原理、实现的思想以及流程,并利用 Python+OpenCV+Moviepy 提供了关键的实现代码,可以供大家理解图像融合、图像制作视频、Moviepy 视频变换的完整案例。原创 2021-11-05 07:32:55 · 11356 阅读 · 4 评论 -
对视频剪辑应用灰度图像变换+Moviepy生成灰度视频处理遇到几个有意思的问题
本文通过介绍将视频帧转换为灰度图像,再构建黑白视频的处理过程所遇到的问题及解决办法,确认了无论是从输入黑白视频的像素值还是将黑白视频输出到视频文件的处理过程来看,黑白视频的帧图像不是二维的灰度图,而是对应三维的彩色图像格式,其像素值为RGB三元组格式,只是R、G、B三个分量的值都是为对应灰度图的灰度值。原创 2021-09-22 20:19:36 · 2123 阅读 · 2 评论 -
音视频剪辑 DIY:用 Python 快速入门音视频剪辑
本文介绍了 Python Moviepy 音视频剪辑库的安装、主要功能以及部分示例代码,可以看到 Moviepy 能从文件或音视频流中装载音视频剪辑,并对装载的音视频剪辑进行各种变换和合成,代码开发简单易懂,很容易掌握,感兴趣的朋友不妨尝试一下。原创 2021-09-16 23:14:57 · 4976 阅读 · 9 评论 -
Moviepy音视频开发:生成过场剪辑显示特定信息和倒计时信息
本文通过代码构建了一段实现倒数计时的过场影片段,可以用于拼接多个视频时作为过场使用。原创 2021-07-14 21:35:56 · 1078 阅读 · 16 评论 -
n行Python代码系列:三行代码实现视频声音替换
本文介绍了使用Python+Moviepy三行代码实现将视频的音频替换为指定音频的示例代码,并介绍了moviepy的功能及安装以及相关处理的关键函数及语法。原创 2021-04-25 07:34:19 · 3159 阅读 · 5 评论 -
n行Python代码系列:两行代码实现彩色视频转换为灰度视频
本文介绍了使用Python+Moviepy 两行代码实现将彩色视频转换为黑白视频的方法,并介绍了moviepy的功能及安装以及相关处理的关键函数及语法。原创 2021-04-14 08:09:43 · 3528 阅读 · 2 评论 -
用Python+Moviepy+OpenCV制作灯光秀短视频
本文完整介绍了用Python+OpenCV+Moviepy制作一个庆祝武汉重启一周年的武汉灯光秀短视频的实现思路、过程、关键函数等,有助于理解OpenCV的图像操作、Moviepy生成视频的实现。原创 2021-04-12 11:29:23 · 4221 阅读 · 28 评论 -
Moviepy音视频剪辑:视频添加雪花飘落特效
本文介绍了制作视频雪花飘落特效的原理、实现的思想以及流程,并利用Python+OpenCV+Moviepy提供了关键的实现代码,是一个供大家理解图像融合、Moviepy视频变换的完整案例。原创 2021-04-09 09:33:44 · 6215 阅读 · 24 评论 -
n行Python代码系列:三行程序实现从视频截取子窗内容输出
本文介绍了使用Python+Moviepy三行代码实现截取MP4视频部分子窗口对应内容输出到视频文件的实现方法,通过这种方法可以截取视频的中间矩形窗内对应视频输出,从而可以剔除视频四周的一些无用信息。这种方法使用了Moviepy的视频对象的操作函数VideoFileClip、crop和write_videofile,具体语法在本文中也进行了介绍。原创 2021-03-16 07:23:38 · 3195 阅读 · 14 评论 -
n行Python代码系列:三行程序实现MP4视频转GIF动画文件
本文介绍了使用Python+Moviepy三行代码实现MP4视频文件转gif动画,并介绍了相关处理的关键函数及语法,实际上所有FFmpeg格式的视频文件Moviepy都能处理。原创 2021-03-05 13:04:03 · 4369 阅读 · 22 评论 -
pyinstaller打包执行文件报错NameError: name ‘defaultParams‘ is not defined问题解决方案
本文介绍了pyinstaller打包exe执行文件执行报错NameError: name 'defaultParams' is not defined,该问题是由于matplotlib对应版本存在问题导致的,可以通过修改对应版本的代码或降低matplotlib解决。原创 2021-03-05 12:41:31 · 4479 阅读 · 1 评论 -
Python 3.8+moviepy报错:TypeError: ‘module‘ object is not callable
本节介绍了moviepy打包报错原有《 moviepy应用pyinstaller打包后执行报错AttributeError: module audio/video.fx.all has no attribute 'fadein'、crop》中的解决办法存在Python3.8.5的环境下的`TypeError: 'module' object is not callable`问题,以及更新的解决办法。原创 2021-03-05 12:24:44 · 3138 阅读 · 10 评论 -
实现两视频叠加时上层剪辑透明部分不遮挡下层内容的两种方案
本文介绍了实现两视频叠加时上层剪辑透明部分不遮挡下层内容的遮罩模式和OpenCV图像运算模式两种方案,在相关链接中提供了完整的代码,并对比了两种实现方式的差异。阅读本文有助于大家理解视频mask遮罩、OpenCV图像处理运算以及音视频剪辑合成的方法。原创 2020-10-21 21:35:45 · 5223 阅读 · 6 评论 -
OpenCV图像运算+Moviepy实现视频旋转叠加
☞ ░ 前往老猿Python博客 https://blog.csdn.net/LaoYuanPython ░一、引言在《OpenCV-Python常用图像运算:加减乘除幂开方对数及位运算》介绍了OpenCV主要的图像运算,视频是由一帧帧图像构成,通过OpenCV和Moviepy的灵活运用,可以实现一些特殊的特效。本文将介绍通过OpenCV图像运算+Moviepy实现视频叠加透明效果。二、程序实现本案例实现一个可以在视频上面叠加一个旋转视频或旋转图片的通用方法,支持两个内容大小不同的视频叠加。为了支原创 2020-10-21 21:46:38 · 4359 阅读 · 1 评论 -
Python音视频开发:消除抖音短视频Logo的图形化工具实现
本文介绍了使用PyQt开发一个消除视频Logo的GUI工具的过程,该工具支持选择对应视频文件,选择其中的Logo图标进行消除处理。原创 2020-09-08 22:45:02 · 4522 阅读 · 1 评论 -
Python音视频开发:消除抖音短视频Logo和去电视台标
详细介绍了消除视频Logo图标的几种方法以及涉及的背景知识,并提供了一套Python+Moviepy+OpenCV实现的消除视频Logo的代码。原创 2020-09-08 22:13:07 · 3280 阅读 · 7 评论 -
Python音视频剪辑库MoviePy1.0.3中文教程导览及可执行工具下载
关于moviepy的两个专栏是老猿阅读moviepy库当前最新版本1.0.3的文档、源代码以及大量测试的基础上总结的MoviePy学习教程,本文将两个专栏的核心知识点,包括重要类的相关方法及作用、视频音频剪辑变换方法、场景式的支撑能力进行了导览式介绍,并给出了相关知识点教程的原文链接。同时介绍了使用PyQt+moviepy实现的图形化视频剪辑工具的开发过程,并提供多视频合成(含顺序拼接和同屏播放)、从视频中选择多时间段范围的视频拼接、将视频转动画或图片文件的工具的win7和win10版本可执行文件下载。原创 2020-08-23 22:30:48 · 10418 阅读 · 32 评论 -
Moviepy音视频开发:视频转gif动画或jpg图片exe图形化工具开发案例
本文详细介绍了使用Moviepy将视频转为动画或图片的方法以及详细开发过程,针对这些过程提供了关键部分的源代码,相信大家通过这些介绍可以掌握视频转动画或图片工具的开发。同时老猿还提供了一个图形化界面的视频转动画或图片的win7和win10下运行的工具,大家免费下载该工具后可以选择要转换的视频、设置相关控住参数后即可免费长期使用该工具进行视频转动画或图片。原创 2020-08-23 13:59:41 · 1757 阅读 · 2 评论 -
moviepy音视频开发:使用credits1给视频加片头片尾字幕
本文介绍了使用credits1给视频加字幕的功能,对credits1函数的语法、参数、返回值及使用注意事项进行了详细介绍,并介绍了credits1使用的字幕文本文件的格式控制方式,并提供了完整案例。大家可以通过本文的介绍熟练地使用credits1给视频加片头片尾字幕。原创 2020-08-04 22:47:28 · 3655 阅读 · 0 评论 -
moviepy音视频开发:使用volumex调节音量大小及其花式用法
音频数据的音量体现为声音的振幅,振幅越大则声音越大,具体到音频帧数据上,体现为声音的绝对值越大则振幅越大音量越大,调节音量大小的本质是调整帧数据的绝对值大小。本文介绍了moviepy使用函数volumex调节音量大小的原理、调用方法、案例等内容,并提供了几种调节音量的特殊场景。原创 2020-08-03 20:06:32 · 3148 阅读 · 4 评论 -
moviepy音视频开发:audio_normalize调整剪辑音量大小到正常
☞ ░ 前往老猿Python博文目录 ░概述audio_normalize函数用于将一个剪辑的音量大小调整到正常,调整的思路就是将剪辑中音频帧数据的最大值取出来,当其值小于1时,表示剪辑的音量偏小。以1为参考,将所有剪辑帧数据的值都乘以1和剪辑帧数据最大值的比例,即表示音量调整到了正常。在audio_normalize文档字符串中介绍时,说明当剪辑的最大音量为0db,即可达到的最大音量。这句解释虽然与程序实现无关,但这个概念需要澄清一下。具体原因请参考《音量(DB)为什么都是负值》。调用语法:原创 2020-08-02 23:40:10 · 2074 阅读 · 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 · 2718 阅读 · 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 · 3415 阅读 · 0 评论 -
moviepy音视频开发:音频拼接函数concatenate_audioclips介绍
☞ ░ 前往老猿Python博文目录 ░concatenate_audioclips函数用于将多个音频剪辑进行拼接合成一个顺序播放的剪辑。调用语法:concatenate_audioclips(clips)说明:clips参数用于存放需要顺序拼接的音频剪辑,合成后 clips参数内保存在前面的剪辑先播放,后面的剪辑后播放;合成剪辑的时长是所有参与合成剪辑的时长和;合成剪辑的fps取所有参与合成剪辑的fps的最大值。该函数进行拼接处理时是调用CompositeAudioClip类进行的,原创 2020-08-02 11:52:55 · 2452 阅读 · 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 · 1533 阅读 · 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 · 2501 阅读 · 0 评论 -
moviepy音视频开发:音频文件存取类AudioFileClip属性和方法介绍
☞ ░ 前往老猿Python博文目录 ░一、概述AudioFileClip是AudioClip的直接子类,用于从一个音频文件或音频数组中读入音频到内存构建音频剪辑。但AudioFileClip并不将整个音频文件装入内存,而是将部分内容读入和保存到内存,读入的部分包括当前最后一个读取的帧以及该帧前面和后面的部分帧,因此可以快速地向前或向后读取声音。本文将介绍AudioFileClip的相关方法。二、构造方法调用语法:__init__(self, filename, buffersize=2000原创 2020-08-01 20:49:37 · 3809 阅读 · 0 评论 -
moviepy音视频开发:音频剪辑基类AudioClip
☞ ░ 前往老猿Python博文目录 ░一、背景知识介绍1.1、声音三要素: 音调:人耳对声音高低的感觉称为音调(也叫音频)。音调主要与声波的频率有关。声波的频率高,则音调也高。 音量:也就是响度。人耳对声音强弱的主观感觉称为响度。响度和声波振动的幅度有关。一般说来,声波振动幅度越大则响度也越大。 音色:也就是音品。音色是人们区别具有同样响度、同样音调的两个声音之所以不同的特性,或者说是人耳对各种频率、各种强度的声波的综合反应。音色与声波的振动波形有关,或者说与声音的频谱结构有关。更多关于声原创 2020-07-30 22:02:44 · 3363 阅读 · 0 评论 -
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 · 1523 阅读 · 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 · 1047 阅读 · 0 评论 -
moviepy音视频剪辑:AudioClip帧处理时报TypeError: only size-1 arrays can be converted to Python scalar错
☞ ░ 前往老猿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**((int(100000*t))%3)*0.99] clip = AudioClip(make_frame, duration=5原创 2020-07-28 23:26:02 · 1365 阅读 · 4 评论 -
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 · 2354 阅读 · 0 评论 -
moviepy音视频剪辑:使用fl_time报错OSError: MoviePy error: failed to read the first frame of video file
专栏:Python基础教程目录专栏:使用PyQt开发图形界面Python应用专栏:PyQt+moviepy音视频剪辑实战专栏:PyQt入门学习老猿Python博文目录老猿学5G博文目录在moviepy中使用fl_time进行诸如快播、慢播、倒序播放等时间特效处理时报错:OSError: MoviePy error: failed to read the first frame of video file F:\video\WinBasedWorkHard_src.mp4. That mig.原创 2020-06-01 18:39:09 · 3927 阅读 · 0 评论 -
moviepy音视频剪辑:TextClip.list(font)和search搜索字体报错UnicodeDecodeError:utf-8 codec cannott decode byte 问题
☞ ░ 前往老猿Python博文目录 ░在moviepy2.0.0.Dev版本中,执行如下语句:from moviepy.editor import *TextClip.search('gb', 'font')报错:Traceback (most recent call last):File "F:/study/python/project/moviepyTest/moviepyTest.py", line 45, inTextClip.search('gb', 'font')File原创 2020-06-29 13:00:38 · 1821 阅读 · 0 评论 -
moviepy音视频剪辑:使用fl_time进行时间特效处理报错ValueError: Attribute duration not set
专栏:Python基础教程目录专栏:使用PyQt开发图形界面Python应用专栏:PyQt+moviepy音视频剪辑实战专栏:PyQt入门学习老猿Python博文目录老猿学5G博文目录在使用moviepy的fl_time方法进行时间特效处理时报错:ValueError: Attribute ‘duration’ not set出现报错的原因有2种,一是因为未设置剪辑的duration属性,二是虽然调用了set_duration设置剪辑的duration,但set_duration方法不是改.原创 2020-06-01 18:37:33 · 2012 阅读 · 0 评论 -
Python+moviepy音视频剪辑:视频帧数据的本质、Clip的fl方法进行变换处理的原理以及滚屏案例
本文详细介绍了视频帧的数据存储本质、moviepy的剪辑基类Clip的帧变换方法fl的原理,并通过实现视频播放从下往上滚动的案例详细介绍了帧内容变换处理的实现。文章内容深入浅出、条理清晰、案例详尽,适合所有对moviepy感兴趣的人员。原创 2020-06-02 20:00:38 · 5456 阅读 · 7 评论