我希望使用mp4
从ffmpeg-php
文件中获取图片。
我有
$str_command= '/usr/bin/ffmpeg -i /test/ts.mp4 -r 1 -ss 00:00:10 -t 00:00:01 -s 300x300 -f image2 /test/images/';
shell_exec($str_command);
但是,我收到一条错误消息
Buffering several frames is not supported. Please consume all available frames before adding a new one.
我在网上花了好几个小时但却找不到答案。任何人都可以帮我这个吗?非常感谢!
答案 0 :(得分:3)
你检查过PHP的ffmpeg库吗?我之前使用它,它抽象出所有复杂的命令行调用,就像你试图运行的那样。您可以使用$ movie-> getFrame($ n)来获取帧对象,使用$ frame-> toGDImage()将其输出为图像。
例如,
$movie = new ffmpeg('/path/to/movie.mp4');
$frame10 = $movie->getFrame(10);
$image = $frame10->toGDImage();
// Now display the image
header('Content-Type: image/jpeg');
imagejpeg($image);
// Or save it to a file
$saved = imagejpeg($image, '/path/to/new/file.jpg');
上的文档