PS
так и не смог я осилить
gifsicle , но нашёл более универсальный способ через
ffmpeg ,
можно как вырезать из видео так и изменить gif .
вырежем 5сек. фрагмент , начиная c 90сек. из Full HD видео 1920*1080 38.240 fps 3 000 Kbps
ffmpeg -ss 90 -t 5 -i "video.mp4" "default.gif"
файл анимации получился очень большой 28,1 МБ (28102149 байт)
добавим параметры ,чтобы уменьшить кол-во кадров и разрешение.
ffmpeg -ss 90 -t 5 -i "video.mp4" -vf fps=10,scale=720:-1 -y "fps10-720p.gif"
файл стал намного меньше 2,4 МБ (2428084 байт)
по умолчанию , без параметров
-gifflags -transdiff , созданная анимация будет оптимизирована,
и если нам это не нужно ,то добавим их в команду
ffmpeg -ss 90 -t 5 -i "video.mp4" -vf fps=10,scale=720:-1 -gifflags -transdiff -y "without_optimmize.gif"
поэтому теперь файл стал немного больше 3,9 МБ (3924420 байт)
таким же способом можно преобразовать один gif файл в другой ,изменяя нужные параметры,
к примеру: возьмём самый первый файл default.gif 28,1 МБ (28102149 байт)
у меня в нём 192 кадра ≈ (38.240 fps x 5сек.) ,если хочу удалить каждый 4 ,
то считаем (38-38/4 ≈ 29 ) и подставляем в параметр fps=29
ffmpeg -i "default.gif" -vf fps=29:-1 -y "default_to_29fps.gif
а через параметры
trim=start_frame=12:end_frame=431 ,можно задать начало/конец покадрово,
ffmpeg -ss 90 -t 5 -i "video.mp4" -vf trim=start_frame=12:end_frame=73,fps=10,scale=720:-1 -y "frames_12-73.gif"
остальное , команды/примеры ffmpeg , можно подсмотреть
ту-та и
зде-ся
,