Я впервые начал с установки FFMpeg и ImageMagick на свой локальный сервер (while ssh'd
).
Я провел некоторое исследование и подумал, что могу сначала получить Mp4-> GIF, преобразовав mp4 -> png, а затем png -> gif.
Итак, я попытался запустить
ffmpeg -i input.mp4 -r 10 man/output%05d.png
, Он успешно создал PNG из Mp4. Затем я попытался запустить этот 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)
А ТАКЖЕ GIF* rw+ CompuServe graphics interchange format
Что я делаю неправильно? Я на правильном пути или совершенно не в курсе?
Каков наиболее оптимальный способ создания GIF-файлов из MP4 в PHP с использованием FFMpeg, Imagick или обоих?
Задача ещё не решена.
Других решений пока нет …