nokimaro
@nokimaro
Меня невозможно остановить, если я смогу начать.

Как сделать 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 пикселя от исходной высоты картинки

/usr/bin/ffmpeg -y -i "i.mp4" -acodec copy -vcodec mpeg4 -b:v 330k -vf "crop:in_w:in_h-2" -vf "scale=320:178,pad=320:240:0:31:black,unsharp" -f mp4 "o.mp4"
Получаю видео 319x240
  • Вопрос задан
  • 4971 просмотр
Пригласить эксперта
Ответы на вопрос 1
Anonym
@Anonym
Программирую немного )
Попробуйте использовать libx264, а не mpeg4
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы