2014-02-17 108 views
6

我開發了一個android/ios視頻​​共享應用程序,它可以記錄視頻並將其上傳到亞馬遜s3。爲了兼容兼容H264/AAC編解碼器的mp4格式的android/ios記錄。Mp4視頻旋轉元數據

的用戶可能會拍攝縱向還是橫向的應用程序,從傳感器獲得的信息,設置文件的旋轉(mediarecorder.setOrientationHint在Android和iOS上的類似的東西)

從iOS的在影片播放罰款android,反之亦然。問題是我想在網絡瀏覽器上播放視頻。支持mp4格式(即chrome)的瀏覽器顯示視頻,但忽略旋轉元數據。當我在Linux上使用mplayer播放這些視頻時,會發生同樣的事情。

,想到的第一個解決方案是

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

是否有一個原因,瀏覽器會忽略旋轉元數據?這是一個錯誤嗎?錄製視頻時我可以做些什麼來解決這個問題嗎?

以下是iOS和Android的兩個示例。

Thansk

ios video android video

回答

0

方法1:旋轉HTML元素如果縱橫比不是水平
Chrome HTML5 Video Flipping Portrait Sideways

方法2:重新編碼的iPhone視頻
Displaying vertical videos with html5 on chrome方法3:在步驟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?