Как сделать ffmpeg ресайз видео 1280x714 в 320x240?
Имеется видео с разрешением 1280x714, SAR 1:1 DAR 640:357
Нужно из него получить на выходе файл с разрешением 320x240, желательно не обрезая, а добавляя чёрные полосы.
Что я пробывал:
1. Сделал расчёт пропорций уменьшенного изображения отталкиваясь от исходной ширины, т.е. 1280/320=4, следовательно высота картинки будет 714/4=178,5 ~= 179 плюс округление до ближайшего чётного вверх, т.е. высоту ставлю 180
2. расчитываю высоту чёрных полосок которые добавляю к видео 240-180=60 (30х2) /usr/bin/ffmpeg -y -i "i.mp4" -acodec copy -vcodec mpeg4 -b:v 330k -vf "scale=320:180,pad=320:240:0:30:black,unsharp" -f mp4 "o.mp4"
Получаю видео 323x240
3. Берём высоту 178 вместо 180 и чёрные полоски 62px (31x2) /usr/bin/ffmpeg -y -i "i.mp4" -acodec copy -vcodec mpeg4 -b:v 330k -vf "scale=320:178,pad=320:240:0:31:black,unsharp" -f mp4 "o.mp4"
Получаю видео 319x240
4. Пробую применить фильтр, который сперва обрежет исходное видео по высоте, дабы высота делилась на 4 без остатка. То есть 1280x714 -> 1280x712, при этом 1280/4 = 320, 712/4=178 и потом добавляю полоски -vf "crop:in_w:in_h-2" //минус 2 пикселя от исходной высоты картинки
Единственное возможное решение которое я нашёл, это добавление параметра -aspect 4:3 что принудительно заставит ffmpeg сжать или растянуть картинку до указанных размеров, но в таком случае мы получаем небольшую деформацию изображения.