Вы можете найти документацию на домашней странице FFmpeg.
fps
Фильтр имеет несколько вариантов, один из которых fps
. Итак, чтобы объявить эту опцию, вы должны позвонить:
-vf fps=fps=1/60
↑ ↑ ↑
| | |
| | |__ value
| |______ option
|__________ filter
Вы могли бы также написать -vf fps="fps=1/60"
, конечно.
Таким образом, при использовании 1/60
это означает 1/60 кадров в секунду или 1 кадр в 60 секунд. В любом случае разница между этим и -r 1/60
заключается в том, что фильтр применяется перед любой -r
опцией. Обе команды, которые вы дали, должны работать теоретически, однако -r
одна создает слишком много выходных кадров для меня (но я не первый, кто заметил ). Палка с fps
фильтром.
Обратите внимание, что существует другой фильтрframerate
, который похож fps
, но не тот же. Вместо дублирования или отбрасывания кадров для достижения целевой частоты кадров, он будет интерполировать кадры, то есть объединять соседние кадры для создания новых изображений.
Если вы проанализируете команду, то обнаружите, что image2
это значение параметра -f
. Это определяет формат вывода. В общем, вы можете использовать его ffmpeg
следующим образом:
ffmpeg -f входной формат -i входной файл -f выходной формат выходного файла
В вашем примере, мы сказали , ffmpeg
чтобы использовать в image2
мультиплексор , который позволяет выводить отдельные файлы изображений из видео, указав шаблон как %02d
на имя вывода.
Это -f image2
лишнее, так как мультиплексор должен выбираться автоматически при использовании формата вывода изображения.
У image2
демультиплексора также есть framerate
опция, позволяющая указать предполагаемую частоту кадров входного файла. Например, если у вас есть слайд-шоу, которое состоит из одного изображения каждую секунду, используйте -framerate 1
в качестве параметра ввода. Смотрите здесь для некоторых примеров.