Подтвердить что ты не робот

Извлечь эскиз из определенного кадра видео

Для определенного кадра мне нужно извлечь изображение (миниатюру) из видео с помощью ffmpeg.

например. Я могу сделать:

ffmpeg -i test.mp4 -ss 00:01:14.35 -vframes 1 out2.png

Я могу извлечь изображение с определенного времени (00: 01:14.35), но мне нужно извлечь изображение из определенного фрейма.

4b9b3361

Ответ 1

Чтобы перейти к определенному кадру, вы должны использовать выбор фильтра. Команда для извлечения кадра 100 из видео должна выглядеть так:

 ffmpeg -i in_video.avi -vf "select=gte(n\,100)" -vframes 1 out_img.png

Ответ 2

Используйте следующий метод

ffmpeg -ss 00:10:20 -t 1 -s 400x300 -i <INPUT_FILE> -f mjpeg <OUTPUT_FILE>

-ss, а приведенный ниже аргумент времени указывает ffmpeg, в какой точке вы хотите, чтобы снимок экрана был отключен. В этом примере ffmpeg сделает снимок на 10 и 20 секунд. -t сообщает ffmpeg, что вы хотите всего 1 снимок, -s - размер изображения, а -f сообщает ему сделать фотографию (но не ограничиваясь jpg). Например, чтобы создать скриншот png для Batman.avi в течение 1 часа, 12 минут и 30 секунд:

ffmpeg -ss 01:12:30 -t 1 -s 400x300 -i Batman.avi -f mjpeg Batman.png