2011-04-27 79 views
0

我使用的ffmpeg的PHP上傳視頻,並從的ffmpeg-php和了shell_exec

「OGV」 視頻轉換, 「MP4」, 「AVI」, 「flv」 和 「奧格」, 「 MPG」, 「WMV」, 「ASF」 和 「MOV」

格式

「的flv」, 「奧格」 和 「FLV」 格式。

 $command1='ffmpeg -i '.$Source." -ar 44100 -ab 128k -s wvga -aspect 4:3 -f FLV -y ".$dest; 
     $command2="ffmpeg -i ".$Source." -acodec libfaac -ab 128k -ac 2 -vcodec libx264 -vpre slow -threads 10 -s wvga -aspect 4:3 -f mp4 -y ".$dest; 
     $command3="ffmpeg -i ".$Source." -acodec libvorbis -ab 128k -ac 2 -vcodec libtheora -threads 10 -s wvga -aspect 4:3 -f ogg -y ".$dest; 
     @shell_exec($command1.";".$command2.";".$command3); 

.MOV這是行不通的應用,沒有錯誤的顯示雖然噹噹的.ogv視頻應用這些命令它工作正常,但:

我做這個當我將這個命令粘貼到終端時,它工作正常。

提示:腳本由cron作業運行。

有沒有關於這個問題的建議?

回答

0

在轉換髮生之前,腳本很可能沒有足夠的時間。

增加腳本的執行時間。

雖然它不是推薦的生產解決方案。您可能需要運行後臺進程來執行轉換,並使用PHP腳本來上傳視頻。

+0

或腳本內存不足 – Devraj 2011-04-27 12:05:28

+0

對不起,我忘了提及這個腳本是由cron作業運行的,所以我猜它與執行時間無關 – 2011-04-27 13:30:48

+0

我猜想它的更多環境。在Cron中運行時,可能找不到ffmpeg – Devraj 2011-04-27 23:41:05

0
  1. 當你在crontab之外運行問題部分會發生什麼?

  2. 您是否將您的crontab項的輸出保存到文件?即

    59 12 1 1 * {myPhpScript; }> /tmp/myPhpScript.log 2> & 1` ...

(閉合 '}' 前述分號是關鍵的)

此捕獲任何stdout或stderr消息發送到日誌文件。

我希望這會有所幫助。

P.S.因爲你似乎是一個新手,如果你得到一個可以幫助你的答案,請記得把它標記爲已接受,並且/或者給它一個+(或 - )作爲有用的答案。