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


 

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐