shell_exec返回null ffmpeg以生成视频缩略图

时间:2014-10-11 06:41:55

标签: php ffmpeg shellexecute

我正在使用ffmpeg从视频中获取缩略图。它的工作正常。但是shell_exec函数返回null。

我的命令是,

$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);

我可以从中获得返回值吗?请帮助我:)。

1 个答案:

答案 0 :(得分: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);