Все статьи

Повернуть видео через CLI

ffmpeg transpose поворачивает на 90°; hflip,vflip — на 180°.

Открыть онлайн-конвертер

Какие пакеты установить

Нужен только ffmpeg. Для MP4 — libx264, для WebM — libvpx-vp9.

ffmpeg
apt install
sudo apt-get update
sudo apt-get install -y ffmpeg

Как вызвать команду

90° по часовой — transpose=1, 90° против часовой или 270° по часовой — transpose=2, 180° — hflip,vflip. Пример: ffmpeg -i input.mp4 -vf "transpose=1,scale=trunc(iw/2)*2:trunc(ih/2)*2" -c:v libx264 -preset medium -crf 23 -pix_fmt yuv420p -c:a aac -b:a 128k output.mp4. Чётные размеры нужны для yuv420p.

ffmpeg
ffmpeg -y -i input.mp4 -vf "transpose=1,scale=trunc(iw/2)*2:trunc(ih/2)*2" -c:v libx264 -preset medium -crf 23 -pix_fmt yuv420p -c:a aac -b:a 128k -movflags +faststart output.mp4

Пример Dockerfile

Соберите минимальный образ Ubuntu с нужными пакетами и запускайте конвертацию в контейнере.

Dockerfile
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 && docker run
docker build -t rotate-video .
docker run --rm -v "$PWD:/work" -w /work rotate-video \
  ffmpeg -y -i input.mp4 -vf "transpose=1,scale=trunc(iw/2)*2:trunc(ih/2)*2" -c:v libx264 -preset medium -crf 23 -pix_fmt yuv420p -c:a aac -b:a 128k -movflags +faststart output.mp4

Примеры команд

Команды ниже можно запускать локально после установки пакетов или внутри контейнера из Dockerfile.

Пример 1
ffmpeg -y -i input.mp4 -vf "transpose=1,scale=trunc(iw/2)*2:trunc(ih/2)*2" -c:v libx264 -preset medium -crf 23 -pix_fmt yuv420p -c:a aac -b:a 128k -movflags +faststart output.mp4
Пример 2
ffmpeg -y -i input.mp4 -vf "transpose=2,scale=trunc(iw/2)*2:trunc(ih/2)*2" -c:v libx264 -preset medium -crf 23 -pix_fmt yuv420p -c:a aac -b:a 128k -movflags +faststart output.mp4