Все статьи
Масштабировать видео через CLI
ffmpeg pad вписывает кадр в заданный размер; split и gblur заполняют поля размытым кадром.
Открыть онлайн-конвертерКакие пакеты установить
Нужен только ffmpeg. Для MP4 — libx264, для WebM — libvpx-vp9.
ffmpeg
sudo apt-get update
sudo apt-get install -y ffmpegКак вызвать команду
Вписать видео: scale=W:H:force_original_aspect_ratio=decrease, затем pad=W:H:(ow-iw)/2:(oh-ih)/2:color=0xRRGGBB. Для размытого фона разделите поток, растяните и размойте фон через gblur и наложите вписанное видео сверху.
ffmpeg -y -i input.mp4 -vf "scale=1920:1080:force_original_aspect_ratio=decrease,pad=1920:1080:(ow-iw)/2:(oh-ih)/2:color=0x000000,setsar=1" -c:v libx264 -preset medium -crf 23 -pix_fmt yuv420p -c:a aac -b:a 128k -movflags +faststart output.mp4Пример Dockerfile
Соберите минимальный образ Ubuntu с нужными пакетами и запускайте конвертацию в контейнере.
FROM ubuntu:24.04
RUN apt-get update && \
apt-get install -y --no-install-recommends \
ffmpeg && \
rm -rf /var/lib/apt/lists/*
WORKDIR /work
docker build -t scale-video .
docker run --rm -v "$PWD:/work" -w /work scale-video \
ffmpeg -y -i input.mp4 -vf "scale=1920:1080:force_original_aspect_ratio=decrease,pad=1920:1080:(ow-iw)/2:(oh-ih)/2:color=0x000000,setsar=1" -c:v libx264 -preset medium -crf 23 -pix_fmt yuv420p -c:a aac -b:a 128k -movflags +faststart output.mp4Примеры команд
Команды ниже можно запускать локально после установки пакетов или внутри контейнера из Dockerfile.
ffmpeg -y -i input.mp4 -vf "scale=1920:1080:force_original_aspect_ratio=decrease,pad=1920:1080:(ow-iw)/2:(oh-ih)/2:color=0x000000,setsar=1" -c:v libx264 -preset medium -crf 23 -pix_fmt yuv420p -c:a aac -b:a 128k -movflags +faststart output.mp4ffmpeg -y -i input.mp4 -filter_complex "[0:v]split=2[fg][bg];[bg]scale=1080:1920:force_original_aspect_ratio=increase,crop=1080:1920,gblur=sigma=20[bg2];[fg]scale=1080:1920:force_original_aspect_ratio=decrease[fg2];[bg2][fg2]overlay=(W-w)/2:(H-h)/2,setsar=1[vout]" -map "[vout]" -map 0:a:0? -c:v libx264 -preset medium -crf 23 -pix_fmt yuv420p -c:a aac -b:a 128k -movflags +faststart output.mp4