使用FFmpeg根据其<rotate>元数据旋转视频?为什么Android会输入错误的元数据?</rotate>

时间:2014-04-18 16:37:35

标签: android video ffmpeg rotation

我有一个用户上传视频的网站 对于我的网站,我还有一个Android应用程序 该网站创建了每个上传视频的缩略图(来自浏览器或Android)。

问题是,对于普通视频来说,一切正常,但对于Android,我的视频会旋转90°。

我认为Android有一个错误,因为当我看到FFmpeg视频的元数据时,对于正常录制的视频,我得到一个rotate = 90的值,而对于90°旋转的视频,我没有任何内容元数据(缩略图是正确的)。

为什么呢?

这是正常录制视频的图片(手机处于纵向模式)。

FFmpeg showing the rotate metadata in a normal recorded video

无论如何,我在视频中有元数据,我可以根据元数据的旋转值创建缩略图而不提取元数据,然后使用 ffmpeg 在此值上旋转视频吗?

提前谢谢。

1 个答案:

答案 0 :(得分:1)

在Android上,手持手机被认为是90度。这是android正在使用的约定:

风景:0 肖像:90 逆向景观:180 反向肖像:270

我知道这对手机没有意义,但它适用于平板电脑,平板电脑和Android手机之间没有区别。

因此文件中的元数据是正确的。实际问题是您的浏览器会忽略它们。问我here