在 ffmpeg 中,为什么旋转 90 度会导致列出旋转 270 度?

在 ffmpeg 中,为什么旋转 90 度会导致列出旋转 270 度?

我有一个没有旋转元数据的文件 ggg.mp4。

C:\vidz>dir ggg.mp4
12/03/2020  17:50         9,304,867 ggg.mp4

C:\vidz>mediainfo ggg.mp4 | find "Rot"

C:\vidz>ffmpeg -i ggg.mp4 2>&1 | find "rotate"

然后我尝试创建一个文件,其中包含 90 度的旋转元数据

C:\vidz>ffmpeg -i ggg.mp4 -c copy -metadata:s:v:0 rotate=90 ggg2.mp4

C:\vidz>ffmpeg -i ggg2.mp4 2>&1 | find "rotate"
      rotate          : 270

C:\vidz>mediainfo ggg2.mp4 | find "Rot"
Rotation                                 : 270

C:\vidz>

为什么会有这种差异?90 比 270

添加

C:\vidz>ffmpeg -i ggg2.mp4 2>&1 | find "rotat"
      rotate          : 270
      displaymatrix: rotation of 90.00 degrees

C:\vidz>

有关的-https://softwarerecs.stackexchange.com/questions/72473/is-there-a-media-player-that-c​​an-be-told-to-aignore-rotational-metadata-bpay-a

答案1

整个读数将显示如下内容,

Metadata:
  rotate          : 270
  handler_name    : VideoHandler
Side data:
  displaymatrix: rotation of 90.00 degrees

第一次读数使用旧的旋转 API,并按顺时针测量。显示矩阵是有符号的,+ve 按逆时针测量,正如 CLI 参数一样。

相关内容