WebPへ変換
$img = new Imagick($filepath); $frames = $img->getNumberImages(); if ($frames > 1) { if ($file_ext === 'gif') { // アニメ GIF s_webp -> ffmpeg webp -> gif2webp o_webp -> gif2webp } // アニメ WebP s_webp -> アニメ WebP → PNG → ffmpeg(静止画) webp = o_webp -> そのままコピー(PHP の copy) } else { if ($file_ext === 'gif') { // 静止 GIF s_webp -> ffmpeg webp -> 静止GIF → PNG → cwebp o_webp -> 静止GIF → PNG → cwebp } // JPEG/PNG/静止 WebP s_webp -> ffmpeg webp -> cwebp o_webp -> cwebp }
※ cwebp が GIF をサポートしていない場合
※ ffmpeg で Animated WebP をデコードできない場合