1

Привет, мир :) (первое сообщение, начальный уровень;))

Я пытаюсь написать небольшой скрипт msdos, чтобы просто изменить размер видео.

Сначала с помощью ffprobe я получаю iw , ih , DAR, SAR из источника, затем я выбираю желаемую высоту вывода oH. Я использую эту простую строку cmd, чтобы позволить ffmpeg вычислить ширину вывода и выполнить работу:

ffmpeg -i !in! -ss !t1! -to !t2! -filter:v scale=-2:!oH!,setsar=1,setdar=!dar! -c:a copy !out!

Я использую пример ширины вывода в простом случае, потому что вычисление легко, и значение -2 фильтра масштаба должно давать ширину вывода ow=trunc(oh*a/2)*2

Но жизнь не так проста! а иногда я добавляю / играю с другими опциями, такими как обрезка или другие эффекты и т. д. Автоматический расчет с -1 или -2 полезен, но мне нужно проверить, будут ли окончательные размеры, вычисленные с помощью ffmpeg, соответствовать ожиданиям, прежде чем я запустите весь скрипт.

Таким образом, мой вопрос: есть ли способ получить оценку некоторых данных выходного видео перед запуском ffmpeg, используя какой-либо инструмент ffmpeg?

  • Я не нашел ни одной опции "симуляция" (без кодирования), которая могла бы дать некоторые данные, по крайней мере те, которые являются предсказуемыми.

  • Я также подумал об использовании ffplay, поскольку он может принимать те же аргументы и обрабатывать видео "на лету", и пробовал разные значения -loglevel : ffplay -i!в! -vf "scale = -2 :!ой!"-уровень трассировки, но я нигде не могу найти выходные размеры ... хотя видео на самом деле играет ...

  • (последняя идея при написании: кажется, что ffmpeg может извлечь и обработать одну картинку из видео, тогда мне придется проанализировать ее; но это будет дополнительный шаг и больше времени для пакетного запуска)

любое предложение? благодарю вас!

0