Способ 1: фиксированная шкала размеров с отступами:
ffmpeg -i inputfile.mov -filter_complex 'scale=578:462, pad=720:576:71:57' outputfile.mp4
Это предполагает ввод и вывод размера SD PAL. Это просто использует фиксированный размер колодки.
Метод 2: Процентное масштабирование с наложением поверх черного, созданного фильтром:
ffmpeg -y -i inputfile.mov -f lavfi -i color=c=black:s=1920x1080 \ -filter_complex "[0:v]scale=w=0.80*iw:h=0.80*ih[scaled]; \ [1:v][scaled]overlay=x=0.10*main_w:y=0.10*main_h:eof_action=endall[out]; \ [0:a]anull[aud]" \ -map "[out]" -map "[aud]" \ -strict -2 \ outputfile.mp4
Предполагается, что входной и выходной размеры будут в формате Full HD (1920x1080). Масштабирование составляет 80 процентов. Таким образом, позиция наложения составляет 20 процентов внутри, но, поскольку эти 20 разделены на обе стороны поровну, наложение использует 10 процентов основной ширины и добавляет это к позиции x.
eof_action
Требуется, так что, когда заканчивается видеофайл обработка может остановиться. В противном случае сгенерированный черный (фон) -f lavfi
будет только продолжать.