FFMPEG: Как мне сохранить пропорции различных изображений, используемых в слайд-шоу? - PullRequest
0 голосов
/ 08 марта 2019

Я только начинаю с FFMPEG и пытаюсь использовать его для создания слайд-шоу. В идеале, я хотел бы получить его, где я могу ввести произвольное количество изображений, и каждое изображение показывается (например) 2 секунды, и они переходят к следующему. Каждое изображение также сохраняет свое исходное соотношение сторон и никоим образом не растягивается (конечно, его можно увеличивать / уменьшать для соответствия разрешению выходного видео).

Я начал с базовой команды, подобной следующей.

ffmpeg -r 1/9 -pattern_type glob -i "*.jpg" -c:v libx264 -y -pix_fmt yuv420p -vf scale="720:trunc(ow/a/2)*2" out.mp4

В этом примере первое изображение представляет собой широкое (альбомное) изображение, а некоторые другие представляют собой высокие (портретные) изображения. Портретные получаются сплющенными в выходном видео. Также изображения не отображаются одинаковое количество раз.

Несколько проблем, с которыми я столкнулся:

  1. Существует ошибка для width not divisible by 2, потому что изображения могут быть буквально любой произвольной ширины. Чтобы решить эту проблему, я пробовал различные варианты -vf, которые я нашел через поиск в Google (например, выше). Они позаботятся об ошибке, но не решат мою проблему с соотношением сторон.
  2. Все изображения кажутся растянутыми или согнутыми, чтобы соответствовать размерам первого входного изображения. На самом деле изображения имеют разные размеры (например, кадры в комиксах). Для них нет образца.

Существует ли команда ffmpeg, позволяющая просто делать снимки и создавать их в виде слайд-шоу, сохраняя при этом их исходные пропорции?

...