Video 来自不均匀png图像序列的ffmepg视频

Video 来自不均匀png图像序列的ffmepg视频,video,ffmpeg,screencast,Video,Ffmpeg,Screencast,我将从一系列截图(.png文件)制作一个视频。对于每个屏幕截图,都有关于拍摄时间的关联时间戳信息。截图之间的时间间隔可能会有所不同,我们非常希望在视频中保留这种差异 是否有一种方法可以使用单个ffmpeg命令/API向其提供图像+时间(或帧)偏移序列,并获得一个视频文件作为输出? 现在,我必须为每个图像生成自定义长度的短视频文件,然后手动合并它们: ffmpeg -y -loop 1 -i image1.png -c:v libx264 -t 1.52 video1.avi ffmpeg -y

我将从一系列截图(.png文件)制作一个视频。对于每个屏幕截图,都有关于拍摄时间的关联时间戳信息。截图之间的时间间隔可能会有所不同,我们非常希望在视频中保留这种差异

是否有一种方法可以使用单个
ffmpeg
命令/API向其提供图像+时间(或帧)偏移序列,并获得一个视频文件作为输出? 现在,我必须为每个图像生成自定义长度的短视频文件,然后手动合并它们:

ffmpeg -y -loop 1 -i image1.png -c:v libx264 -t 1.52 video1.avi
ffmpeg -y -loop 1 -i image2.png -c:v libx264 -t 2.28 video2.avi
...
ffmpeg -y -loop 1 -i imageN.png -c:v libx264 -t 1.04 videoN.avi


ffmpeg -i "concat:video1.avi|video2.avi|...videoN.avi" -c copy output.avi

这很好,虽然间隔很大,但整个方法在我看来有点脆弱。

如果可以根据时间戳值对图像进行排序,并且图像大小相同,则可以使用以下命令获取视频:

ffmpeg -framerate X -i img%03d.png -c:v libx264 -r 30 -pix_fmt yuv420p out.mp4
请参阅以下url,该url为您提供了生成视频的各种命令选项:

ffmpeg -framerate X -i img%03d.png -c:v libx264 -r 30 -pix_fmt yuv420p out.mp4

使用


示例使用2、4和0.25秒

  • 制作一个文本文件,指示每个文件所需的持续时间:

    file 'image1.png'
    duration 1.52
    file 'image2.png'
    duration 2.28
    file 'image3.png'
    duration 1.04
    
    您可能需要重复最后的
    文件
    持续时间
    行,以使其显示最后一帧

  • 运行
    ffmpeg
    命令:

    ffmpeg -f concat -i input.txt -c:v libx264 -pix_fmt yuv420p -movflags +faststart output.mp4
    

  • 您是否可以根据时间戳对图像进行数字排序。然后我们可以使用ffmpeg中的某些命令来创建视频file@shri是的,我可以以任何方式操纵数据,这不会导致视频中所有图像的间隔相同吗?是的,因为帧速率将基于x值。但也提供了另一种选择。“ffmpeg还支持bash样式的全局绑定(*表示任意数量的字符)。如果图像是连续的,但不一定像前面的示例那样按数字顺序排列,则此选项非常有用。”在这种情况下,您可以尝试在不改变顺序的情况下输入并尝试。请您解释一下重复最后一行的原因好吗?假设我有一个png文件。我必须重复一遍,否则整部电影除了第一帧外都是黑色的。这真是奇怪的巴哈维奥。@MaximKornienko您能展示您的命令和完整的控制台输出吗?一个指向粘贴箱的链接就好了。