Как извлечь кадр из видео с помощью ffmpeg

Как извлечь кадр из видео с помощью ffmpeg

У меня есть видео, и я хочу извлечь35-й кадр из этого видео.

Я хочу, чтобы это было изображение в формате png, если это возможно.

Я знаю, что подобных вопросов много, но я не смог найти решения, использующего номер рамы.

решение1

Использоватьselectфильтр:

ffmpeg -i <input> -vf "select=eq(n\,34)" -vframes 1 out.png

отсчет начинается с 0, поэтому 35-й = n-е значение 34.

решение2

Два быстрых и грязных способа:

ИспользоватьFFmpegисполняемый файл с опцией seek. Сначала вам нужно будет преобразовать во время, например, если мне нужен кадр 150, а мое видео имеет частоту 29,97 FPS, команда будет ffmpeg -ss 00:00:05.01 -i myvideo.avi -frames:v 1 myimage.jpg. Это может быть немного неточно. Для поиска по точному кадру вам нужно будет использовать библиотеку FFmpeg сС++.

Другой «хакерский» способ — использоватьVLC медиаплеер. Проверьте меню Вид ->Расширенные возможности управления. Поставьте видео на паузу и нажмите кнопку «Покадровое воспроизведение» 34 раза.

Связанный контент