难题:如何在不转换为GD的情况下访问Imagick中的ffmpeg_php 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(

我有成千上万的电影剪辑需要在Imagick中逐帧处理。我目前正在使用ffmpeg php获取帧,并通过Imagick处理每个帧。Imagick无法(至少我不知道如何)直接访问帧,因此我必须将帧转换为GD并将其捕获为二进制字符串。这对于超过百万帧的数千个剪辑来说是缓慢的。如何在Imagick中访问/转换ffmpeg getFrame中的帧?或其他快速/肮脏的转换方式?提前谢谢

$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,而不是这里。