我首先在本地服务器(while ssh'd
)上安装FFMpeg和ImageMagick。
我做了一些研究,并认为我可以先实现Mp4-> GIF,转换mp4 - > png然后,png - > GIF。
所以我试着跑步
ffmpeg -i input.mp4 -r 10 man/output%05d.png
。它成功地从Mp4创建了PNG。然后我尝试在localserver上运行这个php ..
$ php convertDoc.php
$animatedGif = new Imagick();
$path = "./man/";
$files = scandir($path);
for($i=2;$i<6;$i++) {
$image = new Imagick();
var_dump($files);
$image->readImage($path.$files[$i]);
$animatedGif->addImage($image);
}
$animatedGif->writeImages('testOutput.gif', true);
但我开始收到错误:
PHP致命错误:未捕获异常'ImagickException',并显示消息'此图像格式无解码委托
我查了convert -list configure
。我有DELEGATES bzlib mpeg fontconfig freetype jbig jng jpeg lzma png ps tiff wmf x xml zlib
我还检查了identify -list format
。我有PNG* rw- Portable Network Graphics (libpng 1.2.50)
AND GIF* rw+ CompuServe graphics interchange format
我做错了什么?我是在正确的方式还是完全脱离轨道?
使用FFMpeg或Imagick或两者都可以在PHP中使用MP4生成GIF的最佳方法是什么?