gpt4 book ai didi

video - 以 ffmpeg -i %04d.png 模式重复图像

转载 作者:行者123 更新时间:2023-12-04 22:46:53 25 4
gpt4 key购买 nike

我正在以 FPS=25 制作 20 秒的视频,其中 500 帧为 0000.png , 0001.png , ..., 0499.png .这有效:

ffmpeg -framerate 25 -i images/%04d.png out.mp4
但实际上视频中只有一些变化,在我的例子中,在 0000、0122、0288、0312、0450 帧。与此同时,PNG 相同 .
问题:当只有 5 个不同的文件就足够了时,生成 500 个 PNG 文件总是很慢!我只想生成这 5 个 PNG 文件,并从中生成视频。
当我用 images/ 尝试上面的命令时包含 仅限 0000.png , 0122.png , 0288.png , 0312.png , 0450.png 而不是其他 495 个 ,显然它失败了:

[image2 @ 00000000006d4040] Could not open file : images/0001.png


问:有没有办法告诉ffmpeg在使用 -i images/%04d.png 时忽略丢失的帧并使用最新的可用帧而不是失败?
如果没有,有什么替代方法可以生成只有这 5 个 PNG 的视频,并且应该在精确的时间范围内到达?

最佳答案

方法一:concat过滤器
使用 -t 声明持续时间输入选项,然后与 concat filter 连接.

ffmpeg -loop 1 -framerate 25 -t 4.88 -i 0000.png -loop 1 -framerate 25 -t 6.64 -i 0122.png -loop 1 -framerate 25 -t 0.96 -i 0288.png -loop 1 -framerate 25 -t 00:00:05.52 -i 0312.png -filter_complex "[0][1][2][3]concat=n=4:v=1:a=0,format=yuv420p" output.mp4
方法2:连接解复用器
使用 duration 声明持续时间 concat demuxer 中的指令输入文件列表,然后与 concat demuxer 连接。
这可能是最快的方法。
  • 制作 input.txt包含以下内容:
    file 0000.png
    duration 4.88
    file 0122.png
    duration 6.64
    file 0288.png
    duration 0.96
    file 0312.png
    duration 5.52
  • 连接:
    ffmpeg -f concat -i input.txt -vf format=yuv420p output.mp4

  • 方法3:修剪过滤器
    此方法允许您以帧为单位声明持续时间(和/或如果您愿意,可以使用时间值)。
    使用带有 trim filter 的帧作为持续时间的示例并与 concat filter 连接:
    ffmpeg -loop 1 -framerate 25 -i 0000.png -loop 1 -framerate 25 -i 0122.png -loop 1 -framerate 25 -i 0288.png -loop 1 -framerate 25 -i 0312.png -filter_complex "[0]trim=start_frame=0:end_frame=121,setpts=PTS-STARTPTS[v0];[1]trim=start_frame=122:end_frame=287,setpts=PTS-STARTPTS[v1];[2]trim=start_frame=288:end_frame=311,setpts=PTS-STARTPTS[v2];[3]trim=start_frame=312:end_frame=449,setpts=PTS-STARTPTS[v3];[v0][v1][v2][v3]concat=n=4:v=1:a=0,format=yuv420p" output.mp4

    关于video - 以 ffmpeg -i %04d.png 模式重复图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66274201/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com