在 ffmpeg 幻灯片中使用多个文件作为输入,无需 glob

在 ffmpeg 幻灯片中使用多个文件作为输入,无需 glob

我正在尝试使用 ffmpeg 使用图像目录制作幻灯片。在 Linux 上,我可以直接使用,-pattern_type=glob但在 flutter_ffmpeg(用于 Flutter 应用的 ffmpeg)上,glob 不受支持。图像不是连续的,它们的日期格式如下:

2020-04-09T14:16:52.png 2020-04-09T14:18:53.png 2020-04-09T14:20:54.png 2020-04-09T14:22:55.png 2020-04-09T14:24:56.png 2020-04-09T14:26:57.png 2020-04-09T14:28:58.png 2020-04-09T14:30:59.png 2020-04-09T14:33:00.png 2020-04-09T14:35:01.png 
2020-04-09T14:17:53.png 2020-04-09T14:19:54.png 2020-04-09T14:21:55.png 2020-04-09T14:23:56.png 2020-04-09T14:25:57.png 2020-04-09T14:27:58.png 2020-04-09T14:29:59.png 2020-04-09T14:32:00.png 2020-04-09T14:34:01.png 2020-04-09T14:36:02.png 

如果我像这样使用每个图像作为输入:

ffmpeg -i 2020-04-09T14:30:59.png -i 2020-04-09T14:27:58.png -i 2020-04-09T14:28:58.png output.mp4

output.mp4 每次都会被覆盖,并且只包含一张图片。

如何在不使用 glob 的情况下使用所有文件?

答案1

按顺序重命名,或使用连接解复用器

  1. 制作input.txt

    file '2020-04-09T14:16:52.png'
    duration 5
    file '2020-04-09T14:18:53.png'
    duration 5
    file '2020-04-09T14:20:54.png'
    duration 5
    
  2. 跑步ffmpeg

    ffmpeg -f concat -i input.txt -vf format=yuv420 -movflags +faststart output.mp4
    

另请参阅FFmpeg Wiki:连接

相关内容