Предполагая среду linux (или cygwin на windows), я нашел единственный способ выполнить 2 команды.
Сначала, чтобы получить основной размер видео и выполнить математику на них (примечание: x/20 == x*0.05
:
val=`ffmpeg.exe -i 1.mp4 2>&1 | grep Video: | sed 's_.*, \([0-9]*x[0-9]*\) .*_\1_' | awk 'BEGIN {FS="x"} {print int($1/20)"x"int($2/20)}'`
Второй масштабировать и наложить видео
ffmpeg -i 1.mp4 -i logo.png -filter_complex "[1:v] scale=$val [logo1]; [0:v][logo1] overlay=0:0" -y -b 1600k -c:v libx264 -profile high -level 4.1 -c:a libfaac -q:a 128k 2.mp4
Кроме того, вы можете просто заменить $val
во второй строке первым выражением (включая обратные кавычки) и получить тот же результат, но я считаю, что немного проще читать команду разбиения на две части.