PHP-FFMpeg: ffprobe failed to execute command '/usr/local/bin/ffprobe' '-help' '-loglevel' 'quiet'
Q | A |
---|---|
Bug? | no |
New Feature? | no |
Version Used | 0b871e5 |
FFmpeg Version | 4.0.2 |
FFprobe Version | 4.0.2 |
OS | CentOS 6.5 |
Actual Behavior
I want to save a frame from video and I succeed saved a image when I use PHP CLI mode. But there is an error when I use php-fpm below:
<b>Fatal error</b>: Uncaught exception 'Alchemy\BinaryDriver\Exception\ExecutionFailureException' with message 'ffprobe failed to execute command '/usr/local/bin/ffprobe' '-help' '-loglevel' 'quiet'' in /home/web/dev/statics/vendor/alchemy/binary-driver/src/Alchemy/BinaryDriver/ProcessRunner.php:100
Stack trace:
#0 /home/web/dev/statics/vendor/alchemy/binary-driver/src/Alchemy/BinaryDriver/ProcessRunner.php(72): Alchemy\BinaryDriver\ProcessRunner->doExecutionFailure(''/usr/local/bin...')
#1 /home/web/dev/statics/vendor/alchemy/binary-driver/src/Alchemy/BinaryDriver/AbstractBinary.php(209): Alchemy\BinaryDriver\ProcessRunner->run(Object(Symfony\Component\Process\Process), Object(SplObjectStorage), false)
#2 /home/web/dev/statics/vendor/alchemy/binary-driver/src/Alchemy/BinaryDriver/AbstractBinary.php(137): Alchemy\BinaryDriver\AbstractBinary->run(Object(Symfony\Component\Process\Process), false, NULL)
#3 /home/web/dev/statics/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/FFProbe/OptionsTester.php(61): Alchemy\BinaryDriver\AbstractBinary->command(Array)
#4 /home/web/dev/statics/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/FFProbe/OptionsTester.php(43): FFMpeg\FFProbe\OptionsTester->retrieveHelpOutput()
#5 /home/web/dev/statics/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/FFProbe.php(237): FFMpeg\FFProbe\OptionsTester->has('-show_streams')
#6 /home/web/dev/statics/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/FFProbe.php(206): FFMpeg\FFProbe->probe('/home/web/dev/s...', '-show_streams', 'streams')
#7 /home/web/dev/statics/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/FFMpeg.php(92): FFMpeg\FFProbe->streams('/home/web/dev/s...')
#8 /home/web/dev/statics/upload.php(60): FFMpeg\FFMpeg->open('/home/web/dev/s...')
#9 /home/web/dev/statics/upload.php(32): frameFromVideo('/home/web/dev/s...')
#10 {main}
Next exception 'FFMpeg\Exception\RuntimeException' with message 'Your FFProbe version is too old and does not support `-help` option, please upgrade.' in /home/web/dev/statics/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/FFProbe/OptionsTester.php:63
Stack trace:
#0 /home/web/dev/statics/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/FFProbe/OptionsTester.php(43): FFMpeg\FFProbe\OptionsTester->retrieveHelpOutput()
#1 /home/web/dev/statics/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/FFProbe.php(237): FFMpeg\FFProbe\OptionsTester->has('-show_streams')
#2 /home/web/dev/statics/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/FFProbe.php(206): FFMpeg\FFProbe->probe('/home/web/dev/s...', '-show_streams', 'streams')
#3 /home/web/dev/statics/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/FFMpeg.php(92): FFMpeg\FFProbe->streams('/home/web/dev/s...')
#4 /home/web/dev/statics/upload.php(60): FFMpeg\FFMpeg->open('/home/web/dev/s...')
#5 /home/web/dev/statics/upload.php(32): frameFromVideo('/home/web/dev/s...')
#6 {main}
thrown in
<b>/home/web/dev/statics/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/FFProbe/OptionsTester.php</b> on line
<b>63</b>
Expected Behavior
I want to save a frame from video.
Steps to Reproduce
This is my code.
function frameFromVideo($video_path) {
$ffmpeg = FFMpeg\FFMpeg::create([
"ffmpeg.binaries" => "/usr/local/bin/ffmpeg",
"ffprobe.binaries" => "/usr/local/bin/ffprobe",
"timeout" => 0,
"ffmpeg.threads" => 12,
]);
$video = $ffmpeg->open($video_path);
$video->frame(FFMpeg\Coordinate\TimeCode::fromSeconds(1))->save($video_path . ".jpg");
}
Possible Solutions
I try to use php cli mode to exec php file and it was right. I try to change permission 0777 to ffmpeg and ffprobe and not work. It says ffprobe is too old but I download from official website, version is 4.0.2 (new release).
About this issue
- Original URL
- State: closed
- Created 6 years ago
- Comments: 25 (9 by maintainers)
php 5.4 is no longer supported you will get php 5.6 or php 7 if you fresh install it .
try to test ffmpeg, ffprobe on php 5.4 on your PC
i always test on PC because i run same version on production and local xD
And I can use php cli mode to exec php file to save a frame from video.