Dariusz J.

Dariusz J. Administrator sieci
komputerowej

Temat: Kompresja zdjęć w katalogu Debiana

Witam,
Potrzebuje okresowo raz dziennie kompresować i kasować zdjęcia w katalogu użytkownika /home/../.. czy istnieje program w podobie logrotate który by kompresował zawartość katalogu z jpeg ? czy starać się zrobić to z pomocą CRONA ?Ten post został edytowany przez Autora dnia 07.08.13 o godzinie 17:29

Temat: Kompresja zdjęć w katalogu Debiana

Najszybciej wpisać do crona coś w ten deseń:

find /home/path -type f -iname "*jpg" -exec gzip {} \;

lub jeśli należy również kasować pliki starsze niż n-dni, to:

find /home/path/ -iname "*jpg.gz" -mtime +{liczba_dni} -exec rm {} \; && find /home/path -type f -iname "*jpg" -exec gzip {} \;

Inna sprawa, że jpeg jest już formatem skompresowanym samym w sobie i efekty takich działań mogą być dalekie od oczekiwanych.
Dariusz J.

Dariusz J. Administrator sieci
komputerowej

Temat: Kompresja zdjęć w katalogu Debiana

Faktycznie zamierzony efekt jest nie zadowalający... :-( skompresowane pliki .jpg za bardzo już się ich nie da skompresować.

Może przedstawię w czym jest problem zainstalowałem w domu kamery IP fosacam posiadam router-serwer na Debianie 6 ( terminal Igela 1 Ghz z racji prodożerności jest oszczędnie ) i chciałem go do tego celu początkowo wykorzystać. Wybór padł na zonmidra dosyć fajną aplikacje działającą przez www, niestety montion detect zonmaidera zżera cały procek z tego terminala więc postanowiłem wykrycie ruchu powierzyć kamerą i zrzucać przechwycony obraz na ftp na terminalu lecz obawiam się iż może mi szybko braknąć miejsca (20GB dysk ). Podsumowując chyba czeka mnie wydatek na bardziej pojemny nośnik zewnętrzny, chyba że znacie jakiś ciekawy program do monitoringu coś co mogło by funkcjonować na ty słabym sprzęcie.Ten post został edytowany przez Autora dnia 21.08.13 o godzinie 05:01

Temat: Kompresja zdjęć w katalogu Debiana

Ja bym te zrzucone obrazy synchronizował do jakiegoś zasoby zewnętrznego. Najprościej wykorzystać łatwo dostępne "dyski chmurowe" typu Google Drive, Dropbox czy inny Amazon. Do tego pierwszego istnieje otwarty klient Grive, którego łatwo użyjesz z linii poleceń.

I nie robiłbym tego z powodu ograniczonych zasobów, ale jako gwarancję bezpieczeństwa - w razie incydentu zrzucone obrazy będą bezpieczne w innej lokalizacji, czego lokalne składowanie nie zapewnia - tym bardziej jeśli samo padnie ofiarą zajścia:)

konto usunięte

Temat: Kompresja zdjęć w katalogu Debiana

Generalnie ciężko jest kompresować już skompresowany rodzaj obrazu (JPEG). Faktycznie wypadało by poszukać innego rozwiązania (np. wspomniany wyżej eksport danych). Osobiście nie jestem zwolennikiem wyrzucania danych na serwery poza swoją sieć wewnętrzną, dlatego na Pana miejscu zainwestował bym w jakiś tani NAS.
Wojciech K.

Wojciech K. realizator pomysłów
własnych

Temat: Kompresja zdjęć w katalogu Debiana

imagemagick przecież możesz użyć...
zakładam, że:

(a)
możesz zmniejszyć rozdzielczość, kolorystykę (np. zrobić monochromatyczne) lub zwiększyć stopień kompresji JPEG - tak, aby pliki, które mają rozmiar np. 100KB/klatka - zmniejszyć do 20KB/klatka, możesz też usunąć meta-tagi z pliku (np. nazwę kamery) - zrobisz to z powodzeniem w cronie/skrypcie używając polecenia convert...

piszę z pamięci, więc mogłem coś pochrzanić:
convert $NAZWA_PLIKU -resize 400x300 -quality 60% +profile='*' -strip -type GrayScale $NAZWA_MNIEJSZEGO_PLIKU

resize - wiadomo
quality - wiadomo - jpeg 60% (zazwyczaj kamera daje 80-90%)
profile - usuwanie profili kolorystycznych
-strip - usuwamie meta-tagów
type GrayScale - wiadomo

(b)
obrazy z kamery mogą przez długi czas niczym się od siebie nie różnić - np. jeśli kamera służy do monitorowania pustego zazwyczaj pomieszczenia, to kolejne zdjęcia niczym nie będą się różnić i nie ma sensu ich przechowywać...
w takiej sytuacji warto porównywać obrazek aktualny z poprzednim - choćby ich rozmiar - jeśli jest taki sam (albo +/- 10 bajtów) można ignorować (dla pewności raz na pół godziny brać obraz bez tego sprawdzania).
Można też użyć polecenia compare:
compare -metric PSNR $NAZWA_PLIKU $NAZWA_POPRZEDNIEGO_PLIKU roznica.jpg
które w wyniku da plik roznica.gif (mozemy go tu pominąć) oraz wyświetli liczbową informację na temat podobieństwa plików - i na tej podstawie można ustawić próg poniżej którego traktujemy pliki jako różne (liczba powyżej 50 oznacza prawie na pewno identyczny obraz - bo te 50% różnicy, to zapewnią same szumy)

jako $NAZWA_POPRZEDNIEGO_PLIKU możesz też użyć obrazek z "wzorcowym" wyglądem pomieszczenia - czyli jak ktoś coś przestawi, albo coś ukradnie - albo wstawi walizkę z bombą, będzie to widać :)

Następna dyskusja:

Software dla admina pod deb...




Wyślij zaproszenie do