Конкатенировать input.txt, установить частоту кадров?

Конкатенировать input.txt, установить частоту кадров?
Конкатенировать input.txt, установить частоту кадров? - jonnysplsh @ Unsplash

Черт, аргументы ffmpeg, документация и даже вывод ошибок сбивают с толку. Что я хочу, так это собрать изображения в порядке, указанном в "input.txt", в видеофайл. Кто-то посоветовал мне использовать concat demuxer ранее, но как указать частоту кадров?

команда, которую дал мне человек, была ffmpeg -f concat -i input.txt -vf format=yuv420p -movflags +faststart output.mp4. Поскольку я собирал образы без -movflags +faststart, я опустил их для упрощения тестирования.

Я использовал полные пути для изображений, и это каким-то образом вызвало проблему безопасности. Я поискал в Google и нашел, что нужно добавить -safe 0. Итак, я попробовал ffmpeg -f concat -framerate 30 -safe 0 -i input.txt -vf output.mp4, но это привело к ошибке:

Option framerate not found.

Почему параметры такие сложные? Короче говоря, я хочу сделать следующее:

  • "input.txt" содержит по одному file 'full png path' на строку.
  • Использовать "input.txt" в качестве входного.
  • Частота кадров на выходе - 30
  • Имя выходного файла - "output.mp4" (формат видео - mp4).
  • В остальном используйте настройки по умолчанию

Какой правильный аргумент ffmpeg для этого?

-framerate Опция специфична для тех входных форматов, которые не хранят частоту кадров, например, сырые потоки или последовательности изображений.

В вашем случае, вы можете изменить временную шкалу кадров во время фильтрации.

ffmpeg -f concat -safe 0 -i input.txt -vf "settb=AVTB,setpts=N/30/TB,fps=30" output.mp4


NevaDev, 28 января 2023 г., 01:30