Mp4视频旋转元数据

时间:2014-02-17 16:19:39

标签: android ios html5 rotation mp4

我开发了一个android / ios视频​​共享应用程序,可以录制视频并将其上传到亚马逊s3。兼容android / ios以mp4格式记录H264 / AAC编解码器。

用户可能拍摄肖像或风景和应用程序,从传感器获取信息,设置文件的旋转(iOS上的mediarecorder.setOrientationHint和类似的东西)

来自iOS的视频在Android上运行良好,反之亦然。问题是当我想在网络浏览器上播放视频时。支持mp4格式(即chrome)的浏览器显示视频但忽略旋转元数据。当我在linux上用mplayer播放这些视频时,会发生同样的事情。

首先想到的解决方案是

ffmpeg -i in.mp4 -vf transpose=<rotation value> out.mp4

浏览器是否有理由忽略旋转元数据?这是一个错误吗?我可以在录制视频时做些什么来解决这个问题吗?

以下分别来自iOS和Android的2个示例。

Thansk

ios video android video

1 个答案:

答案 0 :(得分:0)

方法1:如果宽高比不是水平的,则旋转HTML元素 Chrome HTML5 Video Flipping Portrait Sideways

方法2:重新编码iPhone-Video
Displaying vertical videos with html5 on chrome

方法3:在iOS设备上正确设置方向(高级)
iOS AVFoundation: Setting Orientation of Video

方法4:问这个人他是否找到了答案 Use FFmpeg to rotate the video based on its <rotate> metadata? Why does Android put the wrong metadata?