我正在使用以下命令:
ffmpeg -i port001.jpg -vf "scale=100:-1" /tmp/1/port_converted_100-1.jpg
它在横向图片上工作正常,但它会自动旋转纵向图片。有没有什么办法可以避免旋转?
答案1
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
此工具会根据方向标签自动重新调整图像的方向:
mkdir images
cp *.jpg images
cd images
exifautotran *.jpg
* 如果票号#6945 已修复,则此方法将变得毫无意义。
查看 JPG 图像中的 exif 方向标签
您可以使用以下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 调整图像大小以适应特定尺寸的框。