Вытащить определенные кадры из видео

ffmpeg -i video.mp4 -c:v libwebp -lavfi "select='eq(n\,1)',scale=-1:'min(720,ih)'" -vsync vfr -start_number 1 img%d.webp

Пытаюсь вытащить 1 кадр, получается, но не понимаю почему запускается процесс. То есть кадр получила, файл есть, но процесс на этом не останавливается, продолжает обработку видео...

Как выполнить, допустим необходим 1 и 20 кадр. Как обратиться к видео, именно к данным кадрам и на выходе получить 2 файла? И завершить на этом процесс...


Ответы (1 шт):

Автор решения: Fox Fox

Я нашёл такое и попробовал, вроде получилось что-то:

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

ffmpeg -i input_video.mp4 -vf "select=eq(n\,frame_number)" -vsync vfr -q:v 2 output_frame.jpg

Замените input_video.mp4 на имя вашего видеофайла, frame_number на номер кадра, который вы хотите извлечь, и output_frame.jpg на имя выходного файла.

Команда для извлечения несколько кадров по номерам не сработала. Так что, для такого нужно поштучно извлекать кадры в цикле.

→ Ссылка