Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Оптимальное сжатие анимированного gif  (Прочитано 4554 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн pterodaktil

  • Автор темы
  • Активист
  • *
  • Сообщений: 785
  • "Suum cuique" (Каждому свое)
    • Просмотр профиля
Собираю на сервере анимации движения облаков. Проблема в том, что  картини получается здоровая (2 мега).
Предварительно скачиваемые картинки оптимизируются командой convert -adaptive-resize 450 -colors 128 sat.gif sat.gif
Собираю анимацию командой
convert -delay 20 [список картинок] -loop 0 animation.gifКак уменьшить размер картинки?

Опция -layers Optimize  увеличивает размер

Пользователь решил продолжить мысль 14 Сентября 2013, 12:34:39:
Исследую как  лучше сжать   анимацию.

Конвертация в png, его оптимизация. дает выигрыш только на одиночных кадрах.
Исходный gif 80,5Кб,
optipng -o6 *png дает 77,6Кб
optipng -o6 *png && advpng -z -4 *png && advdef -z -4 *png дает 70.0Кб

При сборке анимации, размер получается такой-же как и при сборке из gif

Небольшое уменьшение размер дает сборка gif c параметром -fuzz 10%, но она видимо режет качество сборки

Пока нашел лучший вариант, уменьшающий объем итоговой анимации на четверть без заметной потери качества.

gifsicle --optimize -O3 --colors 50 anim.gif > animation.gif
« Последнее редактирование: 14 Сентября 2013, 14:07:46 от pterodaktil »
Одним из примеров громоздкой и бесполезной надстройки является интегрированная система WINDOWS фирмы Microsoft.

(c)Т.Э.Кренкель, А.Г.Коган, А.М. Тараторин. "Персональные ЭВМ в инженерной практике"

Оффлайн pterodaktil

  • Автор темы
  • Активист
  • *
  • Сообщений: 785
  • "Suum cuique" (Каждому свое)
    • Просмотр профиля
Re: Оптимальное сжатие анимированного gif
« Ответ #1 : 15 Сентября 2013, 13:17:12 »
нашел еще способ уменьшить картинку.

gifsicle --optimize -O3 --use-colormap palette anim.gif > animation.gifгде palette - файл палитры. Подобрать палитру можно с помощью http://www.optiview.com/

Итого: исходный файл 1928826 байт
оптимизированный командой

gifsicle --optimize -O3 --colors 50 anim.gif > animation.gif- 1327142 байт (69% оригинала)
С оптимизированной 32 цветовой палитрой
gifsicle --optimize -O3 --use-colormap palette anim.gif > animation.gif- 1259281 байт (65% оригинала)
Для инфракрасной картинки подходит палитра всего в 16 цветов и выигрыш от палитры гораздо более ощутимый.

Исходник 2001563 байт
gifsicle --optimize -O3 --colors 50 anim.gif > animation.gif - 1423235 байт (71% оригинала)
С оптимизированной 16 цветовой палитрой

gifsicle --optimize -O3 --use-colormap palette anim.gif > animation.gif- 1096180 байт (55% оригинала)
Одним из примеров громоздкой и бесполезной надстройки является интегрированная система WINDOWS фирмы Microsoft.

(c)Т.Э.Кренкель, А.Г.Коган, А.М. Тараторин. "Персональные ЭВМ в инженерной практике"

Оффлайн pterodaktil

  • Автор темы
  • Активист
  • *
  • Сообщений: 785
  • "Suum cuique" (Каждому свое)
    • Просмотр профиля
Re: Оптимальное сжатие анимированного gif
« Ответ #2 : 23 Сентября 2013, 13:55:41 »
Решил посмотреть а что будет при кодировании в видео. h264 выдавал  видео порядка 500 кб

В итоге  остановился на варианте c 2-х проходным кодированием в webm. Видео получается размером ~ 200 кб (изначально  gif весил 2Мб, заоптимизированный gif 1 Мб).
ffmpeg -f image2 -r 3 -i sat%02d.gif   -vcodec libvpx  -qmin 10 -qmax 40  -pass 1 -an -y  -r 10 animation.webm
ffmpeg -f image2 -r 3 -i sat%02d.gif   -vcodec libvpx  -qmin 10 -qmax 40  -pass 2 -an -y  -r 10 animation.webm
Одним из примеров громоздкой и бесполезной надстройки является интегрированная система WINDOWS фирмы Microsoft.

(c)Т.Э.Кренкель, А.Г.Коган, А.М. Тараторин. "Персональные ЭВМ в инженерной практике"

Оффлайн oermolaev

  • Старожил
  • *
  • Сообщений: 1479
    • Просмотр профиля

Оффлайн Grigory Smirnov

  • Старожил
  • *
  • Сообщений: 1339
  • Дайте мне исходники, и я переверну Землю.
    • Просмотр профиля
    • Дафтер
Re: Оптимальное сжатие анимированного gif
« Ответ #4 : 23 Сентября 2013, 20:06:58 »
Спасибо, буду использовать второй вариант. Он пока оптимален.

 

Страница сгенерирована за 0.018 секунд. Запросов: 22.