.png)
Я пытаюсь увеличить размер холста некоторых видео с контентом по центру и 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
Вам нужно использовать 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). СмотритеВП9илиH.264руководства по кодированию для получения дополнительной информации о том, как изменить качество для этих конкретных кодеков.