2017-01-27 16 views
2

Использование avconv (или даже ffmpeg, поэтому я могу использовать его в качестве ссылки), как я могу создать видео с замедленным просмотром, используя только привязывающие/опорные кадры из другого видео? Большая часть информации, которую я нахожу, это о том, как создать видео с замедленным просмотром, объединяя изображения, и я хотел бы сделать это, извлекая кадры из видео. Скажем, если видео длится 30 секунд при 30 FPS, я бы хотел взять 60 из этих 900 кадров (900/60 = каждые 15 секунд), чтобы создать 2-секундное видео.Создание видео с другого времени

ответ

2

Для того, чтобы каждый 15-й кадр, используйте

ffmpeg -i in.mp4 -vf select='not(mod(n,15))',setpts=N/FRAME_RATE/TB out.mp4 

Другой способ заключается в использовании framestep фильтр

ffmpeg -i in.mp4 -vf framestep=15,setpts=N/FRAME_RATE/TB out.mp4 
+0

получили различные ошибки запуска обеих этих команд: «Отсутствует„)“или слишком много арг в 'mod (n' "и" Option "framestep 'not found" – odigity

+0

Для первой ошибки вам, вероятно, нужно избежать запятой, поэтому 'n \, 15' и для второго перепроверьте командную строку. используя очень старый ffmpeg (до добавления фильтра framestep), он бы пожаловался «нет такого фильтра», но вы получаете ошибку 'option', которая указывает на неверную команду. Используете ли вы его в оболочке или оболочке? Какая строка? – Mulvya

+0

Я запускаю Ubuntu 16.10 с ffmpeg 3.0.7, и я копирую и вставляю две строки команд в стенографическом режиме, только изменяя имена файлов входов и выходов. – odigity