Python实现将多张图片合成MP4视频并加入背景音乐


Posted in Python onApril 28, 2022

实现的思路:将准备好的图片通过opencv读取出来,并将其设置好帧数等参数后合成为无声视频。

最后通过moviepy编辑视频将背景音乐加入到视频中。

Python实现将多张图片合成MP4视频并加入背景音乐

Python实现将多张图片合成MP4视频并加入背景音乐

开始之前还是需要说明一下非标准库的来源,因为有些库的名称和需要导入模块的名称不一定就是一样的。

import os  # python标准库,不需要安装,用于系统文件操作相关
import cv2  # python非标准库,pip install opencv-python 多媒体处理
from PIL import Image  # python非标准库,pip install pillow,图像处理
import moviepy.editor as mov  # python非标准库,pip install moviepy,多媒体编辑

要使用到什么模块已经叙述了,若是没有的话安装一下就可以了。接下来第一步就是将图片素材准备好来编写如何将图片转换成视频。

def image_to_video(image_path, media_path):
    '''
    图片合成视频函数
    :param image_path: 图片路径
    :param media_path: 合成视频保存路径
    :return:
    '''
    # 获取图片路径下面的所有图片名称
    image_names = os.listdir(image_path)
    # 对提取到的图片名称进行排序
    image_names.sort(key=lambda n: int(n[:-4]))
    # 设置写入格式
    fourcc = cv2.VideoWriter_fourcc('M', 'P', '4', 'V')
    # 设置每秒帧数
    fps = 2  # 由于图片数目较少,这里设置的帧数比较低
    # 读取第一个图片获取大小尺寸,因为需要转换成视频的图片大小尺寸是一样的
    image = Image.open(image_path + image_names[0])
    # 初始化媒体写入对象
    media_writer = cv2.VideoWriter(media_path, fourcc, fps, image.size)
    # 遍历图片,将每张图片加入视频当中
    for image_name in image_names:
        im = cv2.imread(os.path.join(image_path, image_name))
        media_writer.write(im)
        print(image_name, '合并完成!')
    # 释放媒体写入对象
    media_writer.release()
    print('无声视频写入完成!')

向合成后的无声视频中添加背景音乐,背景音乐可以选择从另外一段视频中提取音频。最后将提取到的音频文件添加到该无声视频中。

def set_music():
    '''
    合成视频设置背景音乐函数
    :return:
    '''
    print('开始添加背景音乐!')
    # 初始化视频文件对象
    clip = mov.VideoFileClip('./media.mp4')
    # 从某个视频中提取一段背景音乐
    audio = mov.AudioFileClip('./source.mp4').subclip(0, 83)
    # 将背景音乐写入.mp3文件
    audio.write_audiofile('./background.mp3')
    # 向合成好的无声视频中添加背景音乐
    clip = clip.set_audio(audio)
    # 保存视频
    clip.write_videofile('./media.mp4')
    print('背景音乐添加完成!')


# image_to_video('./images/', './media.mp4')
set_music()

上述代码块已经过素材完成测试,运行没有任何报错直接copy使用即可。

到此这篇关于Python实现将多张图片合成视频并加入背景音乐的文章就介绍到这了!


Tags in this post...

Python 相关文章推荐
详细解读Python的web.py框架下的application.py模块
May 02 Python
Python利用前序和中序遍历结果重建二叉树的方法
Apr 27 Python
Python从Excel中读取日期一列的方法
Nov 28 Python
利用Python实现原创工具的Logo与Help
Dec 03 Python
Django网络框架之HelloDjango项目创建教程
Jun 06 Python
python pptx复制指定页的ppt教程
Feb 14 Python
Python3开发环境搭建详细教程
Jun 18 Python
什么是Python包的循环导入
Sep 08 Python
Python大批量搜索引擎图像爬虫工具详解
Nov 16 Python
python中strip(),lstrip(),rstrip()函数的使用讲解
Nov 17 Python
Python实现邮件发送的详细设置方法(遇到问题)
Jan 18 Python
Python爬虫自动化爬取b站实时弹幕实例方法
Jan 26 Python
Python FuzzyWuzzy实现模糊匹配
Apr 28 #Python
PYTHON基于Pyecharts绘制常见的直角坐标系图表
PYTHON 使用 Pandas 删除某列指定值所在的行
Apr 28 #Python
详解PyTorch模型保存与加载
Apr 28 #Python
Python 图片添加美颜效果
Python 视频画质增强
python 单机五子棋对战游戏
You might like
PHP无限分类(树形类)的深入分析
2013/06/02 PHP
解析php通过cookies获取远程网页的指定代码
2013/06/25 PHP
thinkphp3.2.2前后台公用类架构问题分析
2014/11/25 PHP
Yii2创建表单(ActiveForm)方法详解
2016/07/23 PHP
PHP abstract 抽象类定义与用法示例
2018/05/29 PHP
JavaScript 的继承
2011/10/01 Javascript
JavaScript获取FCK编辑器信息的具体方法
2013/07/12 Javascript
js中对象的声明方式以及数组的一些用法示例
2013/12/11 Javascript
Javascript改变CSS样式(局部和全局)
2013/12/18 Javascript
JavaScript数组函数unshift、shift、pop、push使用实例
2014/08/27 Javascript
jQuery使用attr()方法同时设置多个属性值用法实例
2015/03/26 Javascript
JQuery中模拟image的ajaxPrefilter与ajaxTransport处理
2015/06/19 Javascript
js实现仿Discuz文本框弹出层效果
2015/08/13 Javascript
jquery京东商城双11焦点图多图广告特效代码分享
2015/09/06 Javascript
实例代码详解jquery.slides.js
2015/11/16 Javascript
微信小程序 欢迎页面的制作(源码下载)
2017/01/09 Javascript
BootstrapTable请求数据时设置超时(timeout)的方法
2017/01/22 Javascript
bootstrap IE8 兼容性处理
2017/03/22 Javascript
ReactNative实现图片上传功能的示例代码
2017/07/11 Javascript
Angular5中调用第三方库及jQuery的添加的方法
2018/06/07 jQuery
node中实现删除目录的几种方法
2019/06/24 Javascript
Python判断文件或文件夹是否存在的三种方法
2017/07/27 Python
Python机器学习k-近邻算法(K Nearest Neighbor)实例详解
2018/06/25 Python
Python HTML解析模块HTMLParser用法分析【爬虫工具】
2019/04/05 Python
python 实现将Numpy数组保存为图像
2020/01/09 Python
keras中的卷积层&池化层的用法
2020/05/22 Python
python 最简单的实现适配器设计模式的示例
2020/06/30 Python
英国图书音像网站:Hive.co.uk(图书、电子书、DVD、蓝光、音乐CD等)
2017/10/16 全球购物
世界上最大的在线学习和教学市场:Udemy
2017/11/08 全球购物
美术专业学生个人自我评价
2013/09/19 职场文书
师德师风事迹材料
2014/12/20 职场文书
离婚协议书范本
2015/01/26 职场文书
党支部评议意见
2015/06/02 职场文书
医院病假条怎么写
2015/08/17 职场文书
送给教师们,到底该如何写好教学反思?
2019/07/02 职场文书
创业计划书之闲置物品置换中心
2019/12/25 职场文书