Я пытаюсь увеличить размер холста некоторых видео с центрированным контентом и добавив 50% отступов с каждой стороны. Я использую FFMPEG в первую очередь. У меня также есть Handbrake и VirtualDub под рукой. Я открыт для использования чего-то другого, если оно выполнит свою работу.

Я не хочу уменьшать оригинальное видео.

Вот код, который я не смог получить:

ffmpeg -i input.webm -vf "pad=width=ow*2:height=oh*2:x=ow/2:y=oh/2:color=black" output.webm

1 ответ1

3

Вам нужно использовать iw/ih вместо ow/oh:

ffmpeg -i <input> -vf "pad=iw*2:ih*2:iw/2:ih/2" <output>

В противном случае, пэд-фильтр не может рассчитать, какой размер вы хотите, поскольку ширина / высота вывода будут определены только после заполнения.

Имена опций не нужны, равно как и определение черного цвета фона (это значение по умолчанию).

Если ваш выходной файл имеет более низкое качество, чем входной, это происходит потому, что ffmpeg перекодирует видео с помощью кодера по умолчанию для выбранного выходного формата (например, libvpx-vp9 для .webm или libx264 для .mp4) со значением по умолчанию настройки качества. Что вам, вероятно, следует сделать, это выбрать достаточно высокую скорость передачи данных (с двухпроходным кодированием) или достаточно хороший коэффициент постоянного качества (CRF). См. Руководства по кодированию VP9 или H.264 для получения дополнительной информации о том, как изменить качество для этих конкретных кодеков.

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