Как я могу извлечь последние 2000 изображений из видео?

2

Я прошел это руководство и обнаружил, что приведенные ниже команды должны давать максимум image-000.jpg для image-999.jpg.

ffmpeg -i video.webm -vf fps=1 image-%03d.png

Но после достижения image-999.jpgffmpeg продолжает создавать 1000, 1001, ... 99999.jpg,

Я пробовал с VLC, но VLC также дает миллионы изображений.

Проблема: мы работаем с последними 100 изображениями в любой момент. Поэтому для создания изображений мы используем ffmpeg. Но это создает много изображений после того, как время движется, поэтому я должен удалить старые изображения, так как использование диска будет увеличиваться.

vijayky88
источник
Вы имеете в виду последние 2000 кадров или последние 100? Или вы хотите только первые x кадров?
Slhck
последние 100 кадров или последние 2000 кадров или последние 999 кадров все в порядке
vijayky88
1
Простым решением будет поиск в видео с ffmpeg -ss 00:01:23 …и начать с этого как смещение. Тогда вы получите только «оставшиеся» кадры. Но это не очень точно, если вы не знаете точное время начала кадра, из которого вы хотите вырезать.
Slhck
Или посмотрите команды в этом вопросе: superuser.com/questions/866144/…
slhck
Спасибо за вашу попытку! в основном вход здесь RTSP живой эфир. и я всегда хотел, чтобы последние 100 кадров были декодированы в мои файлы. поэтому поиск не является решением.
vijayky88

Ответы:

1

Вы можете попробовать это:

ffmpeg -i input -q:v 3 -f segment -segment_format mjpeg -segment_wrap 100 -segment_time 0.001 out%d.jpg

Это ограничит вывод 100 файлами, но при этом будут повторно использоваться имена файлов, поэтому вам придется упорядочивать файлы по времени последнего изменения, чтобы знать порядок последних 100 кадров.

Gyan
источник
очень жаль, что у меня недостаточно голосов, чтобы проголосовать за этот ответ :(
vijayky88