1

Прямо сейчас я использую это, чтобы попытаться масштабировать видео 720p до 480p, проблема в том, что автоматическая ширина выбирает нечетное число.

В настоящее время я использую -vf "scale=trunc(oh*a*2)/2:480 и он по-прежнему выбирает 853 для ширины. Какие-нибудь советы?

1 ответ1

3

Эта проблема

Фильтру масштабирования в ffmpeg может быть предоставлено только одно измерение, и он может автоматически вычислять необъявленное измерение, если вы используете -1 в качестве значения, например, с -vf scale=640:-1 , но это может закончиться нечетным числом.

ffmpeg использует libx264 для кодирования видео H.264. Этот кодер требует mod2 для ширины и высоты для подвыборки цветности 4:2:0; Это означает, что ширина и высота должны делиться на 2.

Решение

Используйте -2 . Будет:

  • Автоматически вычислять правильное значение по отношению к объявленному измерению, сохраняя соотношение сторон.

  • Сделайте вывод делимым на 2. Он отрегулирует выход при необходимости.

пример

ffmpeg -i input.avi -vf scale=-2:480 output.mp4

Также см

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .