2012-05-11 48 views

回答

2

我不記得Android如何處理這個問題,但iPhone在mov文件元數據中記錄方向信息。根據錄製過程中相機的保持方式,視頻可能需要0,90,180或甚至270轉才能在轉換後直立播放。 到目前爲止,我還不知道ffmpeg是否有任何補充來解析這些元數據,因此您必須使用 ffprobe -show_streams或類似的東西手動執行此操作,然後適當設置旋轉角度。

更新:作爲kibitzer points out的ffmpeg現在所做的檢測,視頻旋轉,但還沒有提供自動旋轉修復。相反,您仍然需要解析旋轉信息,並使用transposevfliphflip視頻濾鏡的組合來正確旋轉視頻。

0

我使用的程序調用的MediaInfo誰顯示方位角,並把在FFmpeg選項:

室顫%ROTATE%

中的ffmpeg的情況下,95%的理解方向,但也有一些情況下,在一些硬件...

+0

將是很好,如果我讀了自己的元數據沒有必要,並使用在我的ffmpeg命令... :(現在我正在使用:ffmpeg -i VID_20120510_104204.3gp -y -f flv -ar 44100 VID_20120510_104204.flv –

+0

我使用這個:MediaInfo --Inform =「Video;%Rotation%」視頻.mp4 –

+0

選擇CLI:http://mediainfo.sourceforge.net/en/Download –

2

較新的ffmpeg返回旋轉:元數據頭(當您運行ffmpeg -i),指定視頻是旋轉的角度,所以你不必自己分析旋轉矩陣並可以通過使用ffmpeg的過濾器來旋轉視頻。

例如,如果ffmpeg的輸出旋轉:90那麼您可以運行類似:

ffmpeg -y -i rotated_vid.mov -vf "transpose=1" correct_video.avi