相关动态
用Python+Moviepy+OpenCV制作灯光秀短视频
2024-11-10 18:29

本文介绍结合Python+OpenCV+Moviepy实现的思路和过程,Python+OpenCV实现的思路和过程将在另外的博文中单独介绍。

用Python+Moviepy+OpenCV制作灯光秀短视频

二、实现思路

2.1、视频内容设计

老猿是个没有艺术细胞的人,因此这个视频内容只能说仅能代表是个视频而已,对最终的内容表现大家就不需要过多评价。

在创作该视频前,对视频进行了简单规划,将创作视频分为片头、视频内容和片尾三部分

  1. 片头:5秒时间,展现一幅黄鹤楼的照片,并带上“武汉重启一周年灯光秀”的标题
  2. 视频内容:全长35秒,每隔2秒随机展现一张武汉灯光秀景观图,并在视频中附上向上滚动的文字“热烈庆祝武汉重启一周年!”、“武汉万岁!中国万岁!”,并在视频的左下角和右下角用红绿蓝三色画三条向上晃动的线条表示彩色激光
  3. 片尾:25秒,每隔2秒随机展现武汉的一张风景照,并展现“制作:老猿Python”等制作信息。
2.2、开发设计
2.2.1、视频图片处理

视频中用到的图片都来源于互联网,为了确保视频输出,所有图片都调整到了统一大小。 在程序中通过全局变量将片头使用图像使用了全局变量进行保存,视频内容使用图像、片尾使用图像分别通过两个全局生成器进行访问,两个全局生成器能从列表中顺序取出图片,并在到达列表结尾时回到第一个元素。当然生成器访问的方法也可以不使用生成器而使用多个全局变量来实现。

2.2.2、灯光效果处理

在视频内容部分,左下角和右下角发射的彩色激光,采用在背景图片中根据时间动态绘制彩色线条,实现彩色激光晃动照射的效果,为了限制晃动范围,设定了激光终点的x值的最小值和最大值。激光终点的位置根据时间动态计算,并在到达x值的最小值或最大值时自动回扫。

2.2.3、帧图像的生成

为了符合Moviepy剪辑get_frame函数仅带一个时间参数t的要求,上面介绍的图像处理,全部集中在一个帧图像生成函数中处理,该函数仅带一个参数时间t。

帧图像生成函数判断时间来决定现在生成的内容是片头、内容还是片尾,然后据此来进行帧图像的生成。生成时,需要判断图像是否切换,因此需要记录上一次切换的时间和切换后的图像,确保未达到切换时间前用上次图像作为帧图像的背景,达到切换时间要求后切换新的图像作为后续帧图像生成的背景。为此在该函数中使用了两个全局变量来记录当前帧图像背景图片和上次切换时间。

2.2.4、输出到视频

为了将视频输出到文件,通过Moviepy构建剪辑,指定帧图像生成函数,并给视频附加音频,然后使用剪辑输出的方法将视频输出到指定文件,最终得到一个完整的视频。

三、具体实现

3.1、总流程
  1. 加载片头图像,构造视频内容、片尾需要使用图像访问的生成器
  2. 构建帧图像生成函数,根据帧图像生成逻辑生成帧图像
  3. 加载并绑定音频音频、指定帧率、时长、帧图像生成函数构造视频剪辑对象
  4. 将视频剪辑输出到文件。
3.2、定义两个图片获取生成器函数

两个图片获取生成器为构造视频内容、片尾提供背景图像

 
3.3、全局变量初始化

全局变量主要是视频片头使用图片hhlImg、两个生成器,以及preImg,preTime用于记录上次切换视频图片的图片和切换时间。

 
3.4、实现给背景图像添加彩色激光照射效果

lightShowImg函数实现给背景图像指定点发射彩色激光的特效,激光发射点固定,由参数lightStartPos指定,终点随参数t在一定范围内变化,终点x坐标受参数minX, maxX控制,同一个发射源的三激光之间的间距受参数distance控制。

 
3.4、帧图片生成

makeframe函数实现帧图片生成,带一个参数t表示当前帧对应的剪辑时间,在函数内根据剪辑时间来判断是生成片头内容、灯光秀内容还是片尾内容生成t时刻对应帧图像返回。

 
3.5、制作视频文件

函数buildVideo用于制作视频文件

 

调用buildVideo函数即可完成视频制作。

3.6、视频效果

四、小结

本文完整介绍了用Python+OpenCV+Moviepy制作一个庆祝武汉重启一周年的武汉灯光秀短视频的实现思路、过程、关键函数等,有助于理解OpenCV的图像操作、Moviepy生成视频的实现。

更多相关moviepy知识的介绍请参考《https://blog.csdn.net/LaoYuanPython/article/details/108184832 Python音视频剪辑库MoviePy1.0.3中文教程导览及可执行工具下载》的导览式介绍。

写博不易,敬请支持

如果阅读本文于您有所获,敬请点赞、评论、收藏,谢谢大家的支持

关于老猿的付费专栏

  1. 付费专栏《https://blog.csdn.net/laoyuanpython/category_9607725.html 使用PyQt开发图形界面Python应用》专门介绍基于Python的PyQt图形界面开发基础教程,对应文章目录为《 https://blog.csdn.net/LaoYuanPython/article/details/107580932 使用PyQt开发图形界面Python应用专栏目录》
  2. 付费专栏《https://blog.csdn.net/laoyuanpython/category_10232926.html moviepy音视频开发专栏 )详细介绍moviepy音视频剪辑合成处理的类相关方法及使用相关方法进行相关剪辑合成场景的处理,对应文章目录为《https://blog.csdn.net/LaoYuanPython/article/details/107574583 moviepy音视频开发专栏文章目录》
  3. 付费专栏《https://blog.csdn.net/laoyuanpython/category_10581071.html OpenCV-Python初学者疑难问题集》为《https://blog.csdn.net/laoyuanpython/category_9979286.html OpenCV-Python图形图像处理 》的伴生专栏,是笔者对OpenCV-Python图形图像处理学习中遇到的一些问题个人感悟的整合,相关资料基本上都是老猿反复研究的成果,有助于OpenCV-Python初学者比较深入地理解OpenCV,对应文章目录为《https://blog.csdn.net/LaoYuanPython/article/details/109713407 OpenCV-Python初学者疑难问题集专栏目录 》
  4. 付费专栏《https://blog.csdn.net/laoyuanpython/category_10762553.html Python爬虫入门 》站在一个互联网前端开发小白的角度介绍爬虫开发应知应会内容,包括爬虫入门的基础知识,以及爬取CSDN文章信息、博主信息、给文章点赞、评论等实战内容。

前两个专栏都适合有一定Python基础但无相关知识的小白读者学习,第三个专栏请大家结合《https://blog.csdn.net/laoyuanpython/category_9979286.html OpenCV-Python图形图像处理 》的学习使用。

对于缺乏Python基础的同仁,可以通过老猿的免费专栏《https://blog.csdn.net/laoyuanpython/category_9831699.html 专栏:Python基础教程目录)从零开始学习Python。

    以上就是本篇文章【用Python+Moviepy+OpenCV制作灯光秀短视频】的全部内容了,欢迎阅览 ! 文章地址:http://dgaty.xhstdz.com/news/5549.html 
     栏目首页      相关文章      动态      同类文章      热门文章      网站地图      返回首页 物流园资讯移动站 http://dgaty.xhstdz.com/mobile/ , 查看更多   
最新文章
密码技术应用员理论知识题及答案.docVIP
PAGEPAGE1密码技术应用员理论知识题及答案单选题1.密码系统试运行报告中,记录的每个问题均应具备唯一标识,其作用是()。A、描
外链自动增加:全面解析和战略规划198
引言外链是搜索引擎优化 (SEO) 至关重要的组成部分,可以提高网站在搜索结果页面 (SERP) 中的排名。然而,有时网站可能会经历外
OpenAI 与马斯克“恩怨”再升级!公开历史邮件,揭秘“控制权”争夺战
OpenAI 与马斯克的法律战已持续数月,核心争议点在于 OpenAI 是否背离了其最初的非营利使命,即让 AI 研究成果惠及所有人。上个
AI智能写作助手:一站式文案创作与优化解决方案,覆多种场景需求
1. 文案生成器是一款利用先进的人工智能技术帮助客户快速生成创意文案的工具。它免费采用可以按照使用者输入的关键词或主题,自
07 高性能系统架构设计
本课时讲解大家常听到的高性能系统架构。 高性能系统架构,主要包括两部分内容,性能测试与性能优化。性能优化又可
百度营销黑帽seo【百度seo营销公司】
在当今数字化的时代,搜索引擎优化(SEO)已经成为了企业网站推广的重要手段,百度作为中国(黑帽seo)的搜索引擎,拥有庞大的用户
1000亿美元!微软与OpenAI的“AI超级霸权”野心
财联社及科创板日报旗下产品——未来已来,AI前沿,独家、深度、专业!
Wordpress哪个主题对SEO和页面速度友好,谷歌排名高?
在我多年的网站建设与优化实践中,我发现选择一个合适的WordPress主题对于网站的SEO表现和页面速度至关重要。特别是在谷歌这样的
'智能AI文案助手:一键快速生成创意内容的软件工具'
随着人工智能技术的不断发展在各个领域的应用日益广泛。在内容创作领域一键生成文案的软件逐渐崭露头角成为众多创意工作者的得力
相关文章