Я использую следующую команду:

ffmpeg -i port001.jpg -vf "scale=100:-1" /tmp/1/port_converted_100-1.jpg

Он отлично работает на пейзажных фотографиях, но автоматически поворачивает портретные фотографии. Есть идеи, как избежать вращения?

1 ответ1

0

Ориентировочный тег exif игнорируется ffmpeg

Это билет # 6945: ffmpeg не работает в формате JPEG EXIF.


Поворачивайте изображения перед использованием ffmpeg *

Вручную

jpegtran можно использовать для поворота изображений без потерь. Вы можете использовать его вручную для поворота или создать скрипт для поворота на основе тега Orientation.

jpegtran -rotate 90 input.jpg > output.jpg

Обратите внимание, что это лишит некоторые данные exif. Если вы хотите сохранить все это, добавьте -copy all затем удалите неправильный теперь тег Orientation с помощью exiftool:

exiftool -Orientation="" output.jpg

С exifautotran

Этот инструмент автоматически переориентирует изображения в соответствии с тегом Orientation:

mkdir images
cp *.jpg images
cd images
exifautotran *.jpg

* Если билет № 6945 исправлен, то этот метод станет спорным.

Просмотр тега ориентации exif в изображении JPG

Вы можете использовать exiftool для просмотра ориентации:

$ exiftool -Orientation -S image.jpg
  Orientation: Rotate 90 CW
$ exiftool -Orientation -n -S image.jpg
  Orientation: 6

Теперь вы можете масштабировать с помощью ffmpeg

ffmpeg -i input.jpg -vf "scale=100:-1" output

Для получения дополнительной информации о масштабировании см. Изменение размера изображений с помощью ffmpeg, чтобы поместиться в поле определенного размера.

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