ffmpeg将图片合成为视频,利用python的os库实现图片合成视频

首先,确保已经安装了ffmpeg工具

sudo apt-get update
sudo apt-get install ffmpeg

执行:

ffmpeg -y -pattern_type glob -i 'input/*.jpg' -r 30 -s 1280x720 -c:v libx264 -pix_fmt yuv420p output/output.mp4
  • -y表示覆盖输出文件,如果该文件已经存在;
  • -pattern_type glob表示使用glob模式读取文件,这样可以顺序读取input中所有后缀为.jpg的图片文件;
  • -i 'input/*.jpg'指定输入文件的格式和路径;
  • -r 30表示设置输出视频的帧率为每秒30帧;
  • -s 1280x720表示设置输出视频的分辨率为1280x720;
  • -c:v libx264表示使用 H.264 视频编码器进行编码;
  • -pix_fmt yuv420p表示使用 yuv420p 彩色空间格式;
  • output/output.mp4 表示写出到的文件名。

这个命令执行成功之后,就会在output文件夹下生成一个名为output.mp4的视频文件。

以下是如何在Python中使用os库执行上述命令:

import os

input_folder = "input"
output_folder = "output"
output_filename = "output.mp4"
output_resolution = "1280x720"
framerate = 30

# 构造 FFmpeg 命令
ffmpeg_cmd = (
    f"ffmpeg -y -pattern_type glob -i '{input_folder}/*.jpg' "
    f"-r {framerate} -s {output_resolution} "
    f"-c:v libx264 -pix_fmt yuv420p "
    f"{output_folder}/{output_filename}"
)

# 执行命令
os.system(ffmpeg_cmd)

这里,我们将构造FFmpeg命令和执行命令分别放到了两个步骤中,以便于您更好地理解如何使用os库执行外部命令。在实际应用中,您可以将这两个步骤合并成一段代码。

另外,再给大家一段按文件夹排序批量命名图片的python代码:

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 = '/home/pi/Desktop/4/'  # 图片的文件夹路径    直接放你的文件夹路径即可
    num = 1
    rename(img_folder0, num)


if __name__ == "__main__":
    main()

PS:引用请注明出处,谢谢~

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

菌菌的快乐生活

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值