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()