2014-07-22 104 views
0

我正在嘗試一個簡單的測試,以瞭解如何通過PHP轉換視頻與ffmpeg,因爲他們上傳到我的網站(到.mp4)。然而 我是失去了一些東西,因爲我的簡單測試無所事事....轉換視頻與PHP和ffmpeg

代碼(簡體)

$videoFile = '/home/xxx/public_html/dev/videos/1746/sample.avi'; 
exec("ffmpeg -i $videoFile -vcodec h264 -acodec aac -strict -2 /home/xxx/public_html/dev/videos/1746/test.mp4"); 

我也有trired

system("ffmpeg -i $videoFile -vcodec h264 -acodec aac -strict -2 /home/xxx/public_html/dev/videos/1746/test.mp4"); 

shell_exec("ffmpeg -i $videoFile -vcodec h264 -acodec aac -strict -2 /home/xxx/public_html/dev/videos/1746/test.mp4"); 

另外,如果我嘗試

echo exec('ffmpeg -formats'); 

我沒有得到任何輸出

以上都不是皈依的測試工作,並沒有創建test.mp4文件。 我有錯誤報告打開,但沒有得到任何錯誤。

任何建議將受到歡迎請

+0

好,安裝在所有的ffmpeg?它是否在shell會話中起作用? – mario

+0

我沒有shell訪問,但它安裝(好吧,我認爲),如果我嘗試echo('ffmpeg - 版本');我得到很多庫和版本號 – Ford

+0

echo exec('ffmpeg -version');給我這個「libpostproc 51. 2. 0/51. 2. 0」 – Ford

回答

0

試圖改變這樣的 EXEC(「ffmpeg的 - 格式>> out.log」)輸出 並查看它。

+0

重定向stderr將是有道理的。 – mario

+0

剛剛嘗試過這一點,我沒有得到日誌文件(我認爲它會把out.log放在與php頁面相同的位置,但我也檢查了根目錄) – Ford

+0

@mario「重定向stderr」是什麼意思? (對不起) – Ford

0

指定ffmpeg可執行文件的完整路徑並解決該問題。

如:在/ usr/local/bin目錄/ ffmpeg的