【问题标题】:shell_exec returns null ffmpeg for generating video thumb imageshell_exec 返回 null ffmpeg 用于生成视频缩略图
【发布时间】:2014-10-11 06:41:55
【问题描述】:
我正在使用 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);
我可以从中获取返回值吗?请帮助我:)
【问题讨论】:
标签:
php
ffmpeg
shellexecute
【解决方案1】:
来自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);