我有一个没有旋转元数据的文件 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>
答案1
整个读数将显示如下内容,
Metadata:
rotate : 270
handler_name : VideoHandler
Side data:
displaymatrix: rotation of 90.00 degrees
第一次读数使用旧的旋转 API,并按顺时针测量。显示矩阵是有符号的,+ve 按逆时针测量,正如 CLI 参数一样。