7

Мне нужно создать видео с замедленной съемкой с веб-камеры, которая была установлена под немного вертикальным углом, и мне нужно повернуть изображение примерно на 3 градуса против часовой стрелки. (Веб-камера находится в практически недоступном месте, и из-за погоды в конечном итоге ее могут выгнать, даже если мы исправим угол. Поэтому мне нужно исправить это в программном обеспечении.)

Я имел успех, используя инструмент преобразования ImageMagick с параметром командной строки:

  convert infile.jpg -distort ScaleRotateTranslate 750,50,-3  outfile.jpg

но, конечно, это мучительно медленно конвертировать. Я могу сделать абсолютно все остальное, что мне нужно сделать (обрезка и наложение логотипа на изображение) с использованием фильтров FFmpeg, но, похоже, не существует фильтра, который позволяет поворачивать изображение на произвольный угол, только на 90 или 180 градусов. ,

Возможно, есть какой-то общий фильтр линейного преобразования, который может это сделать?

Спасибо за любую помощь.

1 ответ1

12

Недавно в FFmpeg был добавлен фильтр rotate , который позволяет вращение на произвольный угол. Чтобы использовать его, вы можете собрать последнюю версию из git или скачать последнюю сборку снимка.

Угол указан в радианах; положительный по часовой стрелке и отрицательный против часовой стрелки. Если у вас есть градусы, умножьте на PI/180, чтобы преобразовать в радианы. Например, чтобы повернуть на 3 ° против часовой стрелки:

ffmpeg -i in.mp4 -vf "rotate=-3*PI/180" out.mp4

Проверьте документацию для более подробной информации и дополнительных примеров.

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