Реклама на сайте Advertise with us

Массовая обработка фотографий на сервере

Расширенный поиск по форуму
 
Новая тема Новая тема   
Автор
Поиск в теме:



С нами с 07.10.10
Сообщения: 891
Рейтинг: 1316

Ссылка на сообщениеДобавлено: 23/03/17 в 19:08       Ответить с цитатойцитата 

Подскажите пожалуйста. Может есть готовое решение для пакетной обработки фоток на сервере? Мне нужно сделать ресайз с понижением размера до 1600 по любой из сторон в конкретной директории с учетом всех поддиректорий (их под тысячу). Понижение качества у mogrify вроде по умолчанию есть небольшое.

Сам нашел вот такое:
Код: [развернуть]


Только в этом скрипте поддиректории не учитываются я так понимаю. Ну и главное - запускать обработку нужно периодически на небольшие кусочки из всего объема фоток. Иначе у сервака коленки подогнутся надолго.
Я точно не смогу такое чудо придумать. Но ведь задача не очень редкая, наверняка есть готовые решения. Найти сам не смог.

Спасибо

0
 



С нами с 25.12.14
Сообщения: 602
Рейтинг: 441


Передовик Master-X (16.04.2017) Передовик Master-X (01.05.2017) Передовик Master-X (16.05.2017) Передовик Master-X (01.06.2017)
Ссылка на сообщениеДобавлено: 23/03/17 в 19:48       Ответить с цитатойцитата 

Экскурсии в Праге 2018

2
 



С нами с 29.11.14
Сообщения: 254
Рейтинг: 575


Передовик Master-X (01.02.2021) Передовик Master-X (16.02.2021) Передовик Master-X (01.04.2021) Передовик Master-X (16.04.2021) Передовик Master-X (16.06.2022) Ветеран трепа Master-X (01.12.2022)
Ссылка на сообщениеДобавлено: 23/03/17 в 19:50       Ответить с цитатойцитата 

Вместо

for i in *.jpg;

можно написать
Код:
for i in `find /DIR/|grep '\.jpg$'`;


DIR нужно заменять на свою директорию картиок.

И оно начнёт понимать директории и вложенные в них директории тоже

6
 



С нами с 11.10.12
Сообщения: 428
Рейтинг: 1032


Передовик Master-X (16.11.2012)
Ссылка на сообщениеДобавлено: 24/03/17 в 02:39       Ответить с цитатойцитата 

- imagemagick можно "попросить" не есть все доступные ресурсы.

Цитата:

Environment Variables

...

MAGICK_THREAD_LIMIT Set maximum parallel threads. Many ImageMagick algorithms run in parallel on multi-processor systems. Use this environment variable to set the maximum number of threads that are permitted to run in parallel.
MAGICK_THROTTLE_LIMIT Periodically yield the CPU for at least the time specified in milliseconds.



- mogrify не нужно указывать "выходной" файл. Он просто перезаписывает входной файл.


Например так можно обработать все картинки внутри /home/pics с ограничением в один поток
Код:

#!/usr/bin/env bash

export MAGICK_THREAD_LIMIT=1

find /home/pics -iname \*.jpg | while read fn; do
   echo $fn
   mogrify -resize 1600x1600\> $fn
done

echo done

apache, bash, css, elasticsearch, ffmpeg, html, js, mysql, mongo, nginx, php; *nix only

8
 



С нами с 07.10.10
Сообщения: 891
Рейтинг: 1316

Ссылка на сообщениеДобавлено: 24/03/17 в 20:04       Ответить с цитатойцитата 

Огромное спасибо всем за помощь.

0
 
Новая тема Новая тема   

Текстовая реклама в форме ответа
Заголовок и до четырех строчек текста
Длина текста до 350 символов
Купить рекламу в этом месте!


Перейти:  



Спонсор раздела Стань спонсором этого раздела!

Реклама на сайте Advertise with us

Опросы

Рецепт новогоднего блюда 2022



Обсудите на форуме обсудить (11)
все опросы »