ffmpeg 如果输入文件不可用,则需要跳过选项

ffmpeg 如果输入文件不可用,则需要跳过选项

我正在从 n 个非连续图像制作视频。因此我使用以下命令从 ffmpeg 创建视频:

ffmpeg.exe -y -r 1 -f concat -safe 0 -i "D:\filelist.txt" -c:v libx264 -vf "setpts=1*PTS" d:\out.mp4 -hide_banner

filelist.txt 文件包含以下条目:

file '\1\1562776864008\1562776864.jpg'
file '\1\1562776864008\1562776865.jpg'
file '\1\1562776864008\1562776866.jpg'
file '\1\1562776864008\1562776867.jpg'

上述命令有效。如果目录中有所有文件可用。

如果任何一个文件丢失,我就会得到以下输出并且无法继续为剩余文件创建视频:

      cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
[concat @ 000002c6724eb5c0] Impossible to open '\1\1562776864008\1562776865.jpg'
D:filelist.txt: No such file or directory

我的要求是从图像创建视频。目录中可能缺少一些图像。当图像不可用时,意味着需要继续为剩余图像创建视频。

答案1

ffmpeg 没有跳过丢失文件的选项。更好的解决方案是:

  1. 不要将不存在的文件写入你的.txt文件
  2. 创建一个脚本,遍历.txt文件并删除引用不存在文件的每一行

这样,ffmpeg 将能够正确打开每个指定的输入文件。

相关内容