难题:如何在不转换为GD的情况下访问Imagick中的ffmpeg_php getFrame?
我有成千上万的电影剪辑需要在Imagick中逐帧处理。我目前正在使用ffmpeg php获取帧,并通过Imagick处理每个帧。Imagick无法(至少我不知道如何)直接访问帧,因此我必须将帧转换为GD并将其捕获为二进制字符串。这对于超过百万帧的数千个剪辑来说是缓慢的。如何在Imagick中访问/转换ffmpeg getFrame中的帧?或其他快速/肮脏的转换方式?提前谢谢难题:如何在不转换为GD的情况下访问Imagick中的ffmpeg_php getFrame?,php,ffmpeg,imagemagick,frame,Php,Ffmpeg,Imagemagick,Frame,我有成千上万的电影剪辑需要在Imagick中逐帧处理。我目前正在使用ffmpeg php获取帧,并通过Imagick处理每个帧。Imagick无法(至少我不知道如何)直接访问帧,因此我必须将帧转换为GD并将其捕获为二进制字符串。这对于超过百万帧的数千个剪辑来说是缓慢的。如何在Imagick中访问/转换ffmpeg getFrame中的帧?或其他快速/肮脏的转换方式?提前谢谢 $movie = new ffmpeg_movie('any.avi', 0); $im = new Imagick(
$movie = new ffmpeg_movie('any.avi', 0);
$im = new Imagick();
ob_start();
imagejpeg($movie->getFrame($i)->toGDImage());
$im->readImageBlob(ob_get_contents());
ob_end_clean();
// do Imagick process....
echo $im_im;
对于Imagick学员来说没有那么难,请参见:
<?php
$im = new imagick();
$im->newPseudoImage( 200, 200, "ffmpeg:test1.mpg[40]" );
$im->setImageFormat( "png" );
header( "Content-Type: image/png" );
echo $im;
?>
以及完整链接
希望有帮助。这个问题属于stackoverflow,而不是这里。