LINUX.ORG.RU

ImageMagic почему для создания 5 сек gif требуется 18гб RAM?

 


1

1

архив для теста https://anonymousfiles.io/omw9lR0T/
распаковать(там 300 пустых png)
команда для создания гифки

convert -loop 0 -dispose 2 -delay 2 frames/*.png output.gif

в первый раз у меня все зависло так как оперативки не хватило, второй раз я запускал через cgexec и увидел это(чистый гном после старта испольовал менее 1.5гб)
https://i.imgur.com/DMf56dR.png

это норма?


Да, норма. Это фича такая. Convert пытается впихнуть всё в память, а потом обработать. Тебе нужно использовать mogrify, чтобы обрабатывать по штуке.

peregrine ★★★★★
()

Угадай с одного раза нужен ли анимированный гиф.

crutch_master ★★★★★
()

А если ffmpeg заюзать? И вообще GIF в топку, ибо есть APNG, WEBP и на худой конец WEBM.

EXL ★★★★★
()
Ответ на: комментарий от EXL

А если ffmpeg заюзать

он делает «багнутую гифку»(нет опции dispose/disposal вот как тут ссылка) которую никак не исправить, кроме как делать покадрово и конвертом обратно

APNG

не поддерживается ничем(переименовав *.webm в *.jpeg этот переименованный файл будет открываться в большем количестве «веббрауеров»(даже там где нет подержки видео) чем apng)

WEBP WEBM

я этим и так польуюсь, так вышло что нужна была именно гифка (и объективно говоря в gif качество анимации с прозрачностью намного выше чем в вебм)

hgt54r
() автор топика

> чистый гном после старта испольовал менее 1.5гб

В моё время GNOME хотел, чтобы на компьютере было 512 Мб, и я считал что это много

ZenitharChampion ★★★★★
()
Последнее исправление: ZenitharChampion (всего исправлений: 2)
Ответ на: комментарий от ZenitharChampion

В твоё время памяти в компе было меньше и ядро не резервировало по полгигабайта и больше.

anonymous
()
Ответ на: комментарий от anonymous

В моё время были исключительно компы, большие и стационарные, а теперь полно встраиваемых устройств, использующих Linux в качестве ОС

ZenitharChampion ★★★★★
()
Последнее исправление: ZenitharChampion (всего исправлений: 1)

У imagemagick есть возможность кэширования пикселов на диск. Это используется, например, при обработке очень больших картинок. Это, разумеется, очень замедляет обработку, но не дает сожрать всю память. Сам я этим не пользовался, как-то не было случая, поэтому не могу сказать авторитетно, сработает ли это для тебя. Вот, например: http://www.imagemagick.org/script/architecture.php#tera-pixel

Zubok ★★★★★
()
Ответ на: комментарий от ZenitharChampion

И к чему ты это сказал? Если памяти 64 Мб, то ядро не будет её жрать. Если 64 Гб, то откусит несколько сотен Мб. Это нормально.

anonymous
()
Ответ на: комментарий от hgt54r

не поддерживается ничем

Что за бред? Всеми современными браузерами APNG поддерживается, кроме мелкомягкого дерьма вроде Edge и IE: https://caniuse.com/#feat=apng

и объективно говоря в gif качество анимации с прозрачностью намного выше чем в вебм

Ага, а ещё в них ограничено количество цветов, нужно костылять, хреновый FPS и они жрут CPU.

http://littlesvr.ca/apng/gif_apng_webp1.html

GIF – устаревший формат, которому давно пора на свалку. Как ни крути.

EXL ★★★★★
()
18 июня 2019 г.

это норма?

Для ImageMagick - да. Для GraphicsMagick - нет.

Пользуй:

gm convert -loop 0 -dispose 2 -delay 2 frames/*.png output.gif
Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)

через ffmpeg лучше гифки делать.

Deleted
()
Ответ на: комментарий от peregrine

А как ты себе представляешь сделать нормальную гифку без анализа слоев, чтобы исключить то, что повторяется и просто дорисовывать новое? Естественно, все нужно запихнуть в память сначала!

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от anonymous

Это не ТСу «позор» надо кричать, а погромистам, пишущим браузеры. Которые в 2019 году все никак не сделают возможным втыкать видеоролики в текст как гифки!

Eddy_Em ☆☆☆☆☆
()

Нет, не норма, просто imagemagick - свалка окаменевшего говнокода, чудо что он вообще до сих пор работает.

Используй другие утилиты.

Deleted
()
Ответ на: комментарий от anonymous

У меня показывает на актуальной Лисе.

Deleted
()
Ответ на: комментарий от Deleted

Нет, не норма, просто imagemagick - свалка окаменевшего говнокода, чудо что он вообще до сих пор работает.

Альтернативы?

Используй другие утилиты.

фотошоп уже заработал на линуксе? В скриптах дёргать можно?

anonymous
()
Ответ на: комментарий от EXL

Всеми современными браузерами APNG поддерживается

Война только недавно закончилась. Хром и Лиса стали поддерживать форматы друг друга, Хром чуть раньше. Пользователи FF ESR до сих пор страдают, когда им подсовывают webp. И даже между mp4/webm нет единогласия, но mp4 предпочтительнее, потому что webm иногда отключают, чтобы на ютубе h264 было.

anonymous
()
Ответ на: комментарий от anonymous

Второгном как раз жрал немного, по сравнению с кде3.

- Здравствуйте, меня зовут Билл. - Привет, Билл. - 640 Кб хватит всем! - Ты принял таблетки, Билл? Сестра!

anonymous
()
Ответ на: комментарий от anonymous

Бл@ть :(

Какого хрена нужно два раза перевод строки делать кто-то может пояснить?(

anonymous
()

У меня вообще DistributedPixelCache просит, аж смешно.

WitcherGeralt ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.