2012-02-17 50 views
1

我試圖通過PHP表單檢測上傳的iPhone視頻文件(.mov)的方向,以便我可以使用FFMPEG進行更正(很多上傳的視頻都是顯示在他們身邊)。我似乎無法找到訪問服務器上上傳文件方向的方法。有任何想法嗎?從服務器檢測iPhone視頻的方向

+0

http://stackoverflow.com/questions/2814626/programatically-access-orientation-of-an-iphone-video – cspray 2012-02-17 19:35:47

+0

@ craig1231咦?那麼,由於瀏覽器是客戶端,因此不應該允許它與運行PHP的服務器進行交互? iPhone當然可以[向網絡服務器發送請求和數據](http://stackoverflow.com/questions/3249897/get-content-of-webservice)。 – cspray 2012-02-17 19:41:45

+0

對不起,只是澄清了問題,用戶上傳文件從他們的電腦通過HTML/PHP的形式 – 2012-02-17 19:42:40

回答

8

使用的MediaInfo

$ mediainfo test.mp4 | grep Rotation 
Rotation       : 90° 

您可以重複使用exec()捕捉到了這個系統調用的輸出,以及(順時針90度)申請定向修復:

$ ffmpeg -i test.mp4 -vf "transpose=1" testRotated.mp4 

如果你有 - -enable_vfilters

$ ffmpeg -vfilters "rotate=90" -i test.mp4 testRotated.mp4 
+0

是的,但這是假設它被記錄在肖像 – user2387149 2014-02-07 23:53:31

0

我不是最好的正則表達式,但這裏是我如何去做

exec(ffmpeg -i uploaded.mov,$output) 

然後,一旦你有輸出做pregmatch就可以了,像這樣

preg_match('/(\d+)x(\d+)/', $output, $dims); 

然後檢查,看看是否$變暗[1]大於$變暗[2],如果是那麼它的風景如果不如它的肖像。

我沒能完全測試它,但沿着這些線的東西應該爲你工作。

+0

尺寸告訴你任何關於方向。它可能在某些情況下有效,但如果您正確地將相機顛倒或相機使用肖像,則不適用。 – PiTheNumber 2014-03-17 09:13:43