ffmpeg определяет порядок применения фильтра - PullRequest
0 голосов
/ 17 апреля 2020

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

ffmpeg -i vid -filter:v "crop={0}:{1}:{2}:{3}".format(str(width), str(height), str(x_min), str(y_min)) -c:a copy -crf 23 crop_vid

, за которым следует

ffmpeg -i crop_vid -vf 'scale={0}*iw:{0}*ih'.format(str(resize_factor)) -c:a copy -crf 23 os.path.join(img_path, '%04d.bmp')

Я запускаю их как подпроцессы из скрипта python, отсюда и частичная запись python. Могу ли я как-то запустить это как один скрипт, обеспечивающий порядок первого кадрирования, а затем масштабировать вместо запуска ffmpeg дважды?

1 Ответ

1 голос
/ 17 апреля 2020

Конечно, вам нужно указать фильтры в нужном порядке через запятую.

Итак -filter:v "crop=W:H:X:Y,scale=W:H"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...