我正在使用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);
我可以从中获得返回值吗?请帮助我:)。
答案 0 :(得分:3)
执行命令的输出,如果发生错误,则为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);