2

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

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

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

2 ответа2

7

Используйте фильтр select:

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

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

1

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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .