python使用ffmpeg合并多张图片成视频

python使用ffmpeg合并多张图片成视频

注意:需要在本地有ffmpeg,并且配置环境变量

下载链接如下:https://download.csdn.net/download/qq_30273575/87898080

FFmpeg 将多张图片合成视频

可以使用 FFmpeg 库来将多张图片合成视频,下面是一个简单的示例:

在代码中,需要提供存储图片的文件夹路径 images_path 和最终生成的视频文件名 video_name。

FFmpeg 命令中的参数 -framerate 指定了图片的帧率,

-i 指定了图片的文件名,

图片文件名按照顺序命名为 1.jpg、2.jpg 等,图片名称根据你本地电脑文件配置即可

# 参数 -c:v libx264 指定了视频的编码格式,-r 指定了视频的帧率,-pix_fmt yuv420p 指定了图像的格式。

上述示例中使用的是 MP4 视频格式,如果需要使用其他格式,可以在 video_name 中更改文件扩展名。

import os

images_path = r'D:/1/mm'

video_name = r'D:/1/mm/output.mp4'

fps = 2 # 2 表示每秒2帧
os.system(f'ffmpeg -y -framerate {fps} -i "{images_path}/%d.jpg" -c:v libx264 -r {fps} -pix_fmt yuv420p "{video_name}"')

给图片批量重命名

import os.path

def rename(img_folder, num):

img_list = os.listdir(img_folder)

img_list.sort()

for img_name in img_list: # os.listdir(): 列出路径下所有的文件

os.path.join() 拼接文件路径

src = os.path.join(img_folder, img_name) # src:要修改的目录名

dst = os.path.join(img_folder, str(num) + '.jpg') # dst: 修改后的目录名 注意此处str(num)将num转化为字符串,继而拼接

num = num + 1

os.rename(src, dst) # 用dst替代src

def main():

img_folder0 = r'D:/1/mm' # 图片的文件夹路径 直接放你的文件夹路径即可

num = 1

rename(img_folder0, num)

if name == "main":

main()

相关推荐
zzzzzz3102 小时前
当产品经理说这个很简单:我用Python自动化处理奇葩需求的实战指南
python·pycharm·产品经理
雪隐2 小时前
个人电脑玩AI-06让5060 Ti给你打工——不光能画画,Qwen3-TTS还能学人说话,连我老板都信了!
人工智能·后端·python
兵慌码乱14 小时前
面向桌面端的资产管理系统分层架构设计与核心模块实现
python·系统架构·sqlite·pyqt5·数据库设计·桌面应用开发·mvc架构
hboot15 小时前
AI工程师第三课 - 机器学习基础
python·scikit-learn·kaggle
顾林海20 小时前
Agent入门阶段-编程基础-Python:流程控制
python·agent·ai编程
呱呱复呱呱1 天前
Django CBV 源码解读:一个请求是怎么找到你的 get() 方法的
python·django
曲幽1 天前
刚部署的 LibreTranslate 频频翻车?我掏出了 20 年前的 StarDict 词典,用 FastAPI 搭了个本地词典翻译 API
python·fastapi·web·translate·goldendict·libretranslate·stardict·pystardict
荣码1 天前
用Streamlit给AI应用套个界面,10行代码出Web页面
java·python
兵慌码乱2 天前
基于Python+PyQt5+SQLite的药房管理系统实现:事务一致性与界面解耦全流程解析
python·sqlite·信号与槽·pyqt5·数据库设计·桌面应用开发·事务处理
金銀銅鐵2 天前
[Python] 体验用欧几里得算法计算最大公约数的过程
python·数学