ffmpeg:来自图像的视频 - 处理零长度图像文件

ffmpeg: video from images - handling a zero length image file

我有一个 shell 脚本,它使用 ffmpeg 从网络摄像头图像创建延时视频。通常情况下,它工作得很好:

/usr/bin/ffmpeg -loglevel info  -framerate 4 \
     -pattern_type glob -i $ipath/'*.jpg' \
    -c:v libx264 -crf 30 -y -pix_fmt yuv420p $temp &>>$log

但是如果图像是零长度文件,这会令人窒息:

-rw-r--r-- 1 pi pi  156636 Sep 29 04:35 image_022.jpg
-rw-r--r-- 1 pi pi  156533 Sep 29 04:35 image_023.jpg
-rw-r--r-- 1 pi pi  159302 Sep 29 04:35 image_024.jpg
-rw-r--r-- 1 pi pi       0 Sep 29 04:35 image_025.jpg
-rw-r--r-- 1 pi pi  157055 Sep 29 04:35 image_026.jpg
-rw-r--r-- 1 pi pi  156851 Sep 29 04:35 image_027.jpg
-rw-r--r-- 1 pi pi  155793 Sep 29 04:35 image_028.jpg
-rw-r--r-- 1 pi pi  160647 Sep 29 04:35 image_029.jpg

在这种情况下,视频仅包含长度为零的 JPEG 帧。

我意识到我可以测试每个网络摄像头图像的文件长度,但必须有更简单、更有效的方法。

有吗?

FFmpeg 在遇到大小为零的文件时终止读取图像序列。没有继续的选项。

将上一张图像复制到大小为零的文件中。