2009-10-12 5 views
3

У меня есть видео, которое я хотел бы преобразовать в образы фреймов каждые 2 сек.Какая фрейм ffmpeg получается при уменьшении частоты кадров

E.g. Если видео длиной в 7 секунд при 15 кадрах в секунду я хотел бы получить кадры 1, 31, 61, 91.

Команда:

ffmpeg -i foo.mp4 -r 0.5 -f image2 -vcodec mjpeg foo%d.jpg

, кажется, делать то, что я хочу, но какой кадр это получается? 1, 31, 61, 91 или 30, 60, 90 или 13, 43, 73, 103?

+0

+1 для публикации того, что сработало для вас! Могу ли я спросить, зачем вам нужна такая точность? Я не понял этого изначально. –

+0

Я биолог, и я пытался захватить состояние эксперимента каждые две секунды. для сопоставления с другими данными. Один или два кадра, вероятно, не были бы проблемой, но я мог бы понять это правильно, почему бы и нет? – Peter

ответ

1

Первое изображение будет с самого первого кадра.

Обратите внимание, что вы очень хорошо можете получить изображение или еще два, что вы ожидаете. Я считаю, что это связано с округлением и/или тем, что ffmpeg создает окончательные изображения. Например: ваше видео действительно длилось 7 лет? Или это длится 7,63 с?

+1

В тестах ffmpeg, используя его для создания фильмов из пронумерованных изображений, он последователен после первых нескольких кадров (например, захватывает каждые 60), но в течение первых двух секунд захваченные кадры не были равномерно распределены ... – Peter

1

я в конечном итоге делает следующее в основном заимствованы из FFmpeg учебника:

ffmpeg -v 3 -vsync 0 -sameq -i movie.mpr -f image2 "images-%03d.jpeg" 

Это дает мне каждый кадр фильма, как JPEG, пронумерованных от 1 до конца фильма. Затем я отфильтровал эти файлы с использованием языка сценариев, зная, что частота кадров составляет 30 кадров в секунду, чтобы захватить каждый 60-й кадр.

 Смежные вопросы

  • Нет связанных вопросов^_^