2014-10-11 96 views
0

我正在使用ffmpeg從視頻獲取縮略圖。它的工作正常。但是shell_exec函數返回null。shell_exec返回null ffmpeg用於生成視頻縮略圖

我的命令,

$return=shell_exec('C:\ffmpeg\bin\ffmpeg.exe -i D:\wamp\www\test\demo.mov -f image2 -vframes 1 D:\wamp\www\test\test.jpg'); 
var_dump($return); 

我可以從中得到的返回值?請幫我:)

回答

3

PHP documentation

從執行命令的輸出或NULL,如果發生錯誤或 該命令不產生輸出。

注意:當發生錯誤或程序不產生輸出時,此函數可以返回NULL。使用此功能無法檢測執行失敗 。當需要訪問 程序退出代碼時,應使用exec()。

因此,無論你的程序失敗,或者它是成功的,但沒有輸出。使用exec而不是shell_exec來幫助您區分這兩種情況。 exec返回退出代碼 - 如果它爲0,則表示成功,非零表示失敗。

exec('C:\ffmpeg\bin\ffmpeg.exe -i D:\wamp\www\test\demo.mov -f image2 -vframes 1 D:\wamp\www\test\test.jpg', $output, $exit_code); 
var_dump($output); 
var_dump($exit_code); 
+0

Thanks @Martin Konecny。它工作正常:) – Manu 2014-10-11 07:04:34