Frage Batchprogramm unter linux für Forenbilder gesucht

Thread Status
Hello, There was no answer in this thread for more than 30 days.
It can take a long time to get an up-to-date response or contact with relevant users.

mfey

Sehr aktives NF Mitglied
Registriert
Suche ein unter Ubuntu/ LinuxMint funktionierendes Programm, welches im Batch modus die Bilder auf Forengröße skaliert und mit einer Kompression so versieht, dass jeweils die erlaubte Obergrenze knapp eingehalten ist.
Bislang mach ich das in mehreren Stufen:
Bildbearbeitung im Rawkonverter bzgl. der üblichen Dastellungsparameter. Verwende hier RAWTherapee.
Da kann ich zwar skalieren auf die erlaubten Pixelkanten, jedoch kann ich die jpeg-Kompression nicht nach der gewünschten Obergröße einstellen sondern nur nach Kompressionsgrad.
Deshalb muss ich dann die Feineinstellung mit Gimp machen:
Bild öffenen, Dateigröße durch Probieren mit Vorschauansicht einstellen, dann das Bild exportieren.

Wer kennt sich da mit Linux aus oder benutzt bereits ein Programm, welches aus einem jpeg-Bild mit 12-18 MB das passende Frumformat per Batchvorgang generieren kann?

Martin
 
Anzeigen
Da gibt es div. Möglichkeiten, die mir zu dieser Stunde noch einfallen:

  • selber ein kleines Shell Script anfertigen. Imagemagik kann man gut dafür nutzen. Neben dem convert Befehl kann man eine ganze Menge mehr damit machen. Anfangs etwas kryptisch, hat es aber den Vorteil, das man sich alles auf seinen Bedarf hin einstellen kann
  • Phatch. Das ist eine Anwendung, die nach Baukastenprinzip das macht, was du suchst. Bin mir nicht sicher ob sie noch weiter entwickelt wird.
  • das schwere Geschütz: digikam. Die Stapelverarbeitung funktioniert auch wie ein Baukastensystem und kann deine Anforderung problemlos erfüllen. Dazu kommt eine gute Verwaltung und zahlreiche Exportplugins.
  • gthumb müsste das eigentlich auch hin bekommen. Da bin ich aber vorsichtig, da es schon eine Weile her ist, das ich damit gespielt habe.

Sicher gibt es noch mehr Lösungen, aber diese Vorschläge sind mit spontan eingefallen. Gute Nacht
 
Kommentar
Diese Programme können nur out of the box die Pixelgrösse (Kantenlänge) ändern, aber nicht die Dateigröße.
 
Kommentar
Diese Programme können nur out of the box die Pixelgrösse (Kantenlänge) ändern, aber nicht die Dateigröße.

Die Dateigrösse ändert sich aufgrund verschiedener Parameter:

- Bildgrösse in Pixel
- Ausgabeformat
- Bildqualität
- Kompressionsgrad

Es gibt kein Programm mit Priorität "Dateigrösse", und ich könnte auch kein sinnvolles Skript schreiben, welches diesen Job erledigt. Wie sollte das aussehen?

Input Datei X.jpg
- for i in Dateigrösse > 400 KB
- - reduziere Bildqualität auf 95%
- next i
else
end

Im Zweifel reduziert man hier zwei, drei oder dreizehn Mal bevor man auf die Gewünschte Dateigrösse kommt. Das Bild verliert jede Menge Schärfe und das Ergebnis wird garantiert unbefriedigend sein. Hier mal eine "gängige" Lösung aus der Praxis als user (kein root nootwendig):

$ for i in $( ls *.jpg); do convert -resize 1024 $i new_$i; done

damit reduziere ich alle .jpg Bilder (aber Nicht die .JPG) in einem Verzeichnis auf 1024 Pixel an ihrer langen Seite, und benenne die neu erstellten Bilder in "new_ xyz.jpg" um Einen Handler für Qualität oder Grösse gibt es da nicht...

Was du tun kannst:

- Keine Bilder hier hochladen, sondern extern hosten und hierher verlinken. Das funktioniert Einwandfrei, ohne jede Einschränkung, und ist der Weg, der hier von den Allermeisten gegangen wird. Das Forum stellt Mitgliedern freundlicherweise etwas Speicherplatz zur Verfügung, den KANN man nutzen, muss es aber nicht

- aus darktable kommend Bilder im Gimp reduzieren und ein letztes Mal schärfen, dann mit reduzierter Qualität exportieren. Dafür kann man sich mit Skript-Fu (ähnlich Kung-Fu: ein Mischung der effektivsten und tödlichsten Skript Sprachen) eine Routine schreiben, die dich durch "<alt-b> | s | 1024 | <tab> | <alt-s> | <alt-f> | verbessern | schärfen | 20 " bringt (entschuldige die letzten zwei Funktionen; ich habe die Shortcuts nicht mehr im Kopf...)

Ein gutes Bild ist mir diesen Umweg Wert. Und weil ich meine Bilder aus dt kommend in einen extra dafür angelegten "Zwischenordner" abspeichere, kann ich sie auch alle sehr schnell per "<ctrl-a> | rechtsklick | öffnen mit ... Gimp" in einem Rutsch gleichzeitig öffnen.
 
Kommentar
Diese Programme können nur out of the box die Pixelgrösse (Kantenlänge) ändern, aber nicht die Dateigröße.

Das stimmt nur teilweise:

  • Digikam: ich falle gleich vom Glauben ab. Stein und Bein hätte ich geschworen, dass ich mit der Stapelverarbeitung meine Bilder für den Upload fertig gestellt hatte. Tatsächlich finde ich weder unter Gwenview noch unter digikam eine entsprechende Option. Ich versuche mal einen Entwickler zu erreichen.
  • gthumb: Keine Ahnung, installiere ich mir nicht auch noch, da eine ganze Reihe Abhängigkeiten aufgelöst werden müssten (nutze eine KDE Oberfläche)
  • Phatch: jetzt weiß ich auch wieder, warum ich es nicht mehr genutzt hatte. Es gab Probleme mit einer Bibliothek (pyexiv) welche bei mir unter OpenSuse das Programm nicht korrekt arbeiten lies. Grundsätzlich kann Phatch natürlich die Exportgröße festlegen

    .

    Phatch war mein Lieblingstool unter den Stapelverarbeitungen. Man kann wirklich schöne Dinge damit machen. Probier doch mal aus, ob es unter Mint vernünftig funktioniert.
  • exiftool und imagemagick: können nahezu alles was man mit Fotos anstellen kann. Die beiden Bibliotheken/Programme dürften wohl den Unterbau der meisten Fotosoftwares darstellen. Um dein Problem nun endgültig zu lösen:

    convert input.jpg -define jpeg:extent=249kb -resize 800x800 -unsharp 0.5+0.2 .output.jpg

    Ich teile hiermit convert mit, dass die maximale Dateigröße 249kb betragen soll (und zwar möglichst nahe dran), dass die längste Kante 800px lang sein und das noch etwas nachgeschärft werden soll.
    Die Variante über den Parameter -define jpeg:extent hat den Vorteil, dass convert hingeht und iterativ solange Temp-Files schreibt, bis es nah genug an der Zielvorgabe dran ist. Damit sollte auch die Kompression des JPGs nur einmal laufen. Dieser Aufruf nimmt die Qualität als Variable und geht zu Lasten der Geschwindigkeit des Durchlaufs, was aber für mich nicht merklich ist. Weitere Informationen findest Du hier:
    hier und hier.
    Das ganze in eine for Schleife gepackt und als Skript ausführbar gespeichert, wäre mein Lösungsansatz, wenn Phatch bei Dir nicht läuft.
 
Zuletzt bearbeitet:
Kommentar
Ich habe auch gerade mal David's Batch Processor für gimp installiert.
Dafür braucht man den gcc Compiler (Teile nachinstallieren), gimpgui und gimp devel(?).
Das Archiv einfach runterladen, entpacken und in dem Ordner ein einfaches "make install" als User in einem Terminal/auf einer Konsole ausführen. Hat man alle erforderlichen Bibliotheken auf dem System, läuft die Routine durch und man findet ein frisch gebackenes "dbp" Binary in dem Ordner.
Dieses schiebt man einfach nach /home/<your user name here>/.gimp-2.<Subversion>/scripts , startet gimp neu und kann sich dann an einer Stapelverarbeitung für gimp erfreuen. Diese ist recht umfangreich, kann allerdings nicht wie gefordert auf eine bestimmte Dateigröße rechnen.
Ich schreibe es trotzdem, da diese Funktionalität für den Einen oder Anderen ja interessant sein könnte. Windows Binaries sind auf der Homepage ebenfalls verlinkt. Diese habe ich aber nicht getestet.
 
Kommentar
Da ich ja im Jahre 2015 auch lieber GUIs und keine Shell Skripte empfehle (auf deren Geschmack soll lieber jeder selber kommen :D ), habe ich gerade noch ein anderes Programm ausgetestet:
converseen ist ebenfalls eine grafische Stapelverarbeitung, welche auf Imagemagik basiert. Leider kann sie weder nachschärfen noch die max. File Size beachten.
Da das Programm aber wie gesagt unter der Haube auch auf Imagemagik zurückgreift, habe ich gerade dem Author eine Nachricht hinterlassen. Das Projekt hat eine vorzeigbare Website und unterstüzt dank Qt sowohl Linux als auch Windows.
Vielleicht kommt da ja etwas in der Zukunft.
 
Kommentar
Aber noch eine andere Frage an Martin und Klaus:

Wäre dieser Thread nicht besser unter

Nikon Fotografie-Forum > EBV, PRINTING, SOFTWARE & TOOLS > Allgemeine Bildbearbeitung

aufgehoben? Das ist ja schon ein interessantes Thema und ich bin tatsächlich nur zufällig hier drüber gestolpert. Vielleicht bekommt er dort mehr Input.

Sollte dieser Vorschlag keine Zustimmung finden, bitte diesen Post seitens der Moderation löschen. Danke
 
Kommentar
Ich habe heute mal etwas an einem kleinen Skript gebastelt.
Dafür nutze ich ein definiertes Unterverzeichnis innerhalb meiner Ordner als Arbeitzverzeichnis. Da hinein lasse ich z.B. darktable exportieren oder ich kopiere die fertigen Bilder in voller Größe da hinein. Die Bildgröße bei meinen Testfotos lag in voller Größe zwischen 7 und 13MB pro Bild.

Das Skript habe ich mir auf eine Verknüpfung gelegt, so dass ich einfach per Mausklick den Prozess starten kann.

Als erstes fragt das Skript noch einmal ob wirklich angefangen werden soll, da die Dateien in dem Temp Verzeichnis verändert werden.
Dann geht es los: Convert führt das Ändern der Bildgröße aus (800 PX längste Seite), gefolgt von einer leichten Schärfung und einer 50px breiten Umrandung (in einigen Galerien hilft es ein wenig das Bild vom dunklen Hintergrund abzuheben).
Danach kommt der erste Durchgang exiftool, welcher meine IPTC und XMP entfernt (Stichworte, Beschreibung, etc. aus der Datenbank).
Der zweite Durchgang exiftool setzt mir dann wieder was ich haben möchte (Lizenz/Rechte), meine Namen, etc..
Danach sind die Bilder fertig für den Upload. Das Charmante daran ist, dass ich in darktable das sRGB Profil habe einschreiben lassen und dieses bleibt in den EXIFs erhalten.
Ich werde da noch ein wenig weiter dran rumschrauben. Mir schweben da noch ein paar Ideen vor .

Hier mal ein verkleinertes Bild als Beispiel (235kB).

picture.php
 
Kommentar
Wenn man das hier so liest, dann freut man sich doch mal wieder daran, einen Win-Rechner zu benutzen und das ganze ganz bequem über Lightroom erledigen zu lassen...:fahne:
 
Kommentar
Wenn man das hier so liest, dann freut man sich doch mal wieder daran, einen Win-Rechner zu benutzen und das ganze ganz bequem über Lightroom erledigen zu lassen...

Da hast du was nicht verstanden: Es geht nicht darum, es mit Lightroom oder Darktable Bild für Bild zu machen (das können hunderte von Programmen). Es geht darum, alle Bilder eines Ordners auf eine bestimmte Dateigrösse zu reduzieren. Das geht in typischen Export-Funktionen nur per Trial and Error. Zwar kann man leichthin eine ganz Rutsche Bilder auf ein bestimmtes Mass an der längsten Seite und auf einen bestimmten Kompressionsgrad reduzieren lassen, aber damit schiesst man hier in jeder Richtung am Ziel vorbei.

Der notwendige Kompressionsgrad zur Erzielung einer bestimmten Dateigrösse ergibt sich individuell bei jedem Bild aus dessen Inhalt. Ein reiner Scherenschnitt aus Schwarz und Weiss ergibt ohnehin eine vergleichsweise kleine Datei. Die Farbtiefe kann auf 2 Bit gesenkt werden, ohne dass dies Jemanden stört, und wenn dann auch noch grosse, zusammenhängende Flächen gleicher Farbe im Bild sind, erzeugt man winzige Dateien selbst bei grosser Kantenlänge des Bildes.

Ganz anders verhält sich die Sache, wenn ich ein Gruppe bunter Mountainbiker in einem Herbstwald abbilde. Feine Strukturen, weiche Farbverläufe, schwache Kontraste, harte Kontraste, Zweige mit verschiedenen Grau-, Braun- und Grüntönen vor blasblauem Himmel und gelb-roten Blättern. Bei gleicher Kantenlänge ist diese Datei sehr viel grösser - und es muss ein anderer Kompressionsgrad verwendet werden, um am Ende auf eine gleiche Dateigrösse zu kommen.

Kannst du das in Lightroom automatisieren, so dass am Ende immer 1024 px an der langen Seite und eine Grösse von 249KB rauskommt? So dass die Kompression "dynamisch" angepasst wird? Es gibt in Darktable beim Export die Funktion "Dateigrösse beschränken auf ...". Vermutlich gibt es das auch in Lightroom. Ich habe aber noch nie versucht, diese Funktion im Batch zu nutzen.

Viel eleganter ist ein Skript, dass man einfach starten kann, ohne eine riesige Bilddatenbank und Raw-Konverter hochzufahren. Bis man darin dann die Dateien ausgesucht hat, ist so ein Skript schon fertig. Man kann es sogar so einrichten, dass Dateien, die in das Verzeichnis ~/NF_F gelegt werden, automatisch so behandelt/reduziert werden. Was du im NF-F zeigen willst, legst du dort ab, und die dortige Kopie ist schon optimiert.

Wie machen das typische Windows-Loser? Ich find den hier gezeigten Weg Höchst elegant: man offnet einen Editor, erstellt eine Datei namens "reduce.sh" mit folgendem Inhalt:

Code:
#!/bin/bash

convert input.jpg -define jpeg:extent=249kb -resize 1024x1024 -unsharp 0.5+0.2 .output.jpg

und speichert sie in das Konverterverzeichnis namens ~/NF_F. Jedes Mal, wenn ich in Zukunft in diesem Verzeichnis "reduce.sh" tippe, werden alle darin befindlichen Dateien mit der Endung .jpg (in Kleinbuchstaben) auf das gewünschte Mass verkleinert, in der Grösse reduziert und nachgeschärft. Ich kann das sogar noch soweit treiben, dass die Aktion jedes Mal durchgeführt wird, wenn sich die Anzahl der Dateien im Verzeichnis ändert. Ganz und gar automagisch.

Was genau wäre jetzt unter Windows und mit Lightroom besser oder schneller oder gar bequemer? Und das Alles ohne Lizenzgebühren ...
 
Kommentar
vielne Dank, dass ihr hier so fleissig gepostet habt, konnte gestern nicht reinschauen.
Habe mal das reduce.sh script ausprobieren wollen:
mit texteditor erstellt, ausführbar gemacht, ins Bildverzeichnis gespeichert, dort per Terminal aufgerufen:

~/Bilder/reduceNFF $ convert input.jpg -define jpeg:extent=249kb -resize 800x800 -unsharp 0.5+0.2 .output.jpg
convert.im6: unable to open image `input.jpg': Datei oder Verzeichnis nicht gefunden @ error/blob.c/OpenBlob/2638.
convert.im6: no images defined `.output.jpg' @ error/convert.c/ConvertImageCommand/3044.

Hat also nicht geklappt.
Mit phatch geht es auch nicht: da kann ich nur aus vordefinierten aktionen was auswählen, aber die gewünschte ist nicht dabei.

Bei dem skript scheint der Befehl nicht zu wissen, wo die Bilder sind? Muss da noch ein parameter übergeben werden?
Ansonsten würde mir das gut gefallen, da ich nicht erst ein Programm aufrufen muss

Martin

ach ja verschieben wenn sinnvoll, kein Problem
 
Kommentar
Wenn man das hier so liest, dann freut man sich doch mal wieder daran, einen Win-Rechner zu benutzen und das ganze ganz bequem über Lightroom erledigen zu lassen...:fahne:

[Rant]

Ob man sich freut, lasse ich mal dahin gestellt, aber dass Du Dich darüber freust ist ja in Ordnung.

Mein Ansatz ist sicher nicht für Jedermann geeignet und ich fände es auch schöner, wenn ich einfach auf ein fertiges Programm verweisen könnte, für Leute, die sich nicht tiefer einarbeiten wollen. Meine Herangehensweise hat
  • etwas Zeit gekostet für Recherche und Testdurchläufe
  • technisches Interesse vorausgesetzt
  • den Wunsch vorausgesetzt, selber zu einer Problemlösung beizutragen
  • den Willen vorausgesetzt, zu zeigen, dass man das Problem verschieden lösen kann (auch unter Linux)
  • den Willen vorausgesetzt, zu zeigen, dass es auch ohne Mainstreamlösungen geht

Ich bin kein IT'ler oder Programmierer sondern nähere mich dem Thema Linux aus Anwendersicht. Damit Linux erfolgreich auf dem Desktop bleibt und weiter Ausbreitung findet, müssen vielmehr solche Anwenderprobleme thematisiert werden und Lösungen gezeigt werden. Denn mit Linux geht sehr viel, manchmal unterscheidet sich der Weg zur Lösung von dem, was man bisher von anderen Betriebssystemen gewohnt ist.

Der Ansatz eines Bash Skriptes bietet aber auch Vorteile:
  • man bleibt auf Systemebene
  • man ist unabhängig von anderen Programmen
  • Hardware spielt nahezu keine Rolle. Selbst auf steinalten Notebooks läuft das Skript
  • das Skript ist transportabel
  • das Skript ist nachvollziehbar
  • das Skript ist beliebig erweiterbar
  • an einem Skript können beliebig viele Verrückte mitschreiben
  • das Skript kann ich beliebig in meinen Workflow integrieren
  • das Skript selber könnte automatisiert werden (z.B. eine Watchfolder Funktion mittels cron)
  • ein Skript ist nichts Schlechtes sondern eine individuelle Lösung für ein Problem
  • mein Skript braucht keine Lizens
  • mein Skript braucht keine Cloudanbindung
  • einmal fertig, kann man ein Skript natürlich auch per Mausklick starten, wie jedes andere Programm auch

Und was Linux als Desktop angeht, und ich möchte wirklich nicht missionieren, aber da kann ich für mich sagen, dass ich mich ganz bewusst für Linux und möglichst viel OpenSource Produkte entschieden habe (ein paar proprietäre Programme habe ich auch unter Linux laufen), trotz Verzicht auf gewohnte Software wie DXO, Zoner Photo Studio und ein paar andere Spitzen-Softwares.
  • ich muss nicht meine eigenen Rechner permanent in Frage stellen, ob sie meine Daten und MEIN VERHALTEN zum Zwecke der "Produktverbesserung" auswerten
  • meine genutzte Software lebt. Jedem Entwickler, dem ich bisher per Paypal ein Bier überwiesen habe, hat sich persönlich gemeldet. Verbesserungsvorschläge werden i.d.R. immer aufgenommen und häufig umgesetzt wenn der Vorschlag sich als sinnvoll erwiesen hat. Die Entwickler sind auf verschiedenen Kanälen direkt erreichbar. Ach ja, man kann sich auch einfach nur nett mit ihnen unterhalten
  • Ich muss mich nicht mit dem Aktivieren und Deaktivieren von Software herumärgern
  • der Installer von Opensuse ist für mich einfacher zu nutzen als der Windows Installer
  • meine Hardware läuft uneingeschränkt out of the Box (und das noch mit einem älteren 3.16 Kernel)
  • mein System spricht mit mir. Ich bekomme klar gesagt, wenn etwas nicht funktioniert und nicht einen nichts sagenden "Error Code 0x000dtg5t"
  • alles ist eine lesbare Datei und nicht so ein Molloch wie eine Registry
  • jedes Linux System ist individuell. Das hat nicht nur Nachteile sondern es schützt auch vor den Gefahren einer Monokultur
  • in Zeiten, wo alles umgestzt wird was technisch geht, mit allen nicht absehbaren Konsequenzen, finde ich die Idee, möglichst viel Kontrolle über meine Daten zu haben eher attraktiv, auch wenn es mehr Arbeit bedeutet.
  • Meine Rechner sagen mir, wenn ein Update bereitsteht und überlassen mir die Erlaubnis und den Zeitpunkt über das Einspielen der Software
.

...und ja, dafür kann ich halt kein Lightroom benutzen ;)

Jeder hat da halt andere Schwerpunkte

[/Rant]

In einem Podcast habe ich kürzlich eine sehr wahre Aussage gehört. Sinngemäß übersetzt:

Die Nutzung von Linux auf dem Desktop ist schon längst keine technische Hürde mehr sondern ausschließlich ein kulturelles Problem.

In China werden z.B. von Dell ca. 40% der Rechner mit vorinstalliertem Linux ausgeliefert....
 
Kommentar
Mit phatch geht es auch nicht: da kann ich nur aus vordefinierten aktionen was auswählen, aber die gewünschte ist nicht dabei.

Hi Martin,

die Aktion heißt bei mir "Speichern". Die einfach aufmachen und dann auf "Show Type Options" klicken. Ich nehme mal an, dass die Begrenzung nicht mit jedem File Type klappt, daher ist der Punkt etwas versteckt aber durchaus korrekt in diesem Unterpunkt untergebracht
 
Kommentar
Anbei mein Code soweit ich gestern in den zwei Stunde gekommen bin. Meine Bash Kenntnisse musste ich auch wieder affrischen, daher hat es etwas gedauert. Überall wo Ihr <HierTrageIchWasEin> im Code findet....Ihr kommt schon drauf

BENUTZUNG DES CODES AUF EIGENE VERANTWORTUNG. Die Bilder in dem gesetzten Verzeichnis werden verändert. KEINERLEI GEWÄHR MEINERSEITS.

Das sieht im Browser schlimm genug aus. Copy/Paste das Ganze mal in einen gescheiten Texteditor (dazu zähle ich alles, was Deine Linux-Installation bereits eingerichtet hat). Dann sollte eigentlich ein Syntax Highlighting statffinden, also die Programmteile farblich hervorgehoben werden. Ab dann, sollte es klarer weden.

Code:
#! /bin/bash
#
#jpgs in einem Verzeichnis auf 900x900 Kantenlänge verkleinern, nachschärfen, max 249kb und Metadaten auf CC License für 
#Web setzen

##Arbeitsverzeichnis und eigenen Namen zuweisen
#
WORKDIR=/home/HierTrageIchWasEin/Bilder/_temp/Web
AUTHOR="HierTrageIchWasEin"
#
#CC License
LICENSE="This work by $AUTHOR is licensed under a Creative Commons Attribution-NoDerivatives 4.0 International License."
#
##Copyright License
#LICENSE="Copyright 2015 HierTrageIchWasEin"

while true
  do
    #Kurze Sicherheitsabfrage
    read -p "Anfangen? Achtung! Die Bilder in dem Verzeichnis werden verändert. <(J)a/(N)ein>   " ANTWORT
    #
      case "$ANTWORT" in 
	JA|ja|j|J) echo "Auf gehts"
		    sleep 1
		    #
		    ##Verkleinern und nachschärfen
		    for BILD in $WORKDIR/*.jpg ; do
		      convert $BILD -define jpeg:extent=249kb -resize 800x800 -unsharp 0.5+0.2 -mattecolor white -frame 50x50+1+1 $BILD
		    done
		    #
		    #
		    ##jetzt noch unerwünschten Metadaten löschen
		    for BILD in $WORKDIR/*.jpg ; do
		      exiftool -overwrite_original -xmp= -iptc= $BILD
		    done
		    #
		    #
		    ##die neuen Metadaten ergänzen
		    for BILD in $WORKDIR/*.jpg ; do
		      exiftool -overwrite_original -Copyright="$LICENSE" -Rights="$LICENSE" -Creator="$AUTHOR" -Artist="$AUTHOR" $BILD
		    done
		    #
		    #
		    ##und noch umbenennen
		    for BILD in $WORKDIR/*.jpg ; do
		      exiftool -d %y%m%d_%H%M%S%%-c.%%e '-filename<HierTrageIchWasEin_$datetimeoriginal' $BILD
		    done
		    #
		    #
		    #
		    break
	;;
	Nein|nein|n|N) echo "Abbruch"
		    sleep 1
		    exit 1
	;;
	*) echo "kenn ich nicht"
	  sleep 1
	;;
  esac	
done

Also noch einmal zur Erklärung meines geistigen Wahnsinns:

Der read Befehl liest hinter dem Ausdruck die Tastatureingabe ein. Über case wird die Antwort ausgewertet in drei Blöcke
  • Ja (ja, J, j)
  • Nein (nein, N, n)
  • anderen Quatsch
und entsprechende Befehle zugewiesen.

Im Falle der positiven Antwort wird halt die Schleife gestartet und für jedes jpg im Arbeitsordner der Reihe nach folgendes ausgeführt
  • verkleinern 800x800px, nachschärfen, max. 249kb, ein 50px weißer Rahmen drumherum gelegt
  • löschen der Metadaten in den IPTC und XMP Feldern
  • Setzen von Author und Copyright Informationen
  • Umbenennen der Dateien auf Präfix+Original Datum/Zeit (das"<" muss stehen bleiben)

Bei der negativen Antwort bricht das Programm ab.
Bei einer Quatsch Antwort erscheint wieder die Frage.

Wer mag und versteht was da abläuft, kann damit experimentieren. NOCH EINMAL....KEINE GEWÄHRLEISTUNG VON MEINER SEITE. NUTZUNG AUF EIGENE GEFAHR.
Oben im Kopf kannst Du das Arbeitsverzeichnis setzen (WORKDIR) und Deinen Namen eintragen für die Metadaten (AUTHOR). Mein temporäres Arbeitsverzeichnis liegt bei mir unter ~/Bilder/_temp/web. Passe Dir die ganze Zeile (WORKDIR) nach Deinen Begebenheiten an oder erzeuge das Verzeichnis bei Dir..
Wenn Dir die Creative Commons License nicht gefällt, kommentiere sie halt aus (#) und lösche die Kommentierung in der Zeile wo LICENSE mit einem Copyright gesetzt ist. Eines von beiden muss aber auskommentiert und eines kommentiert sein, damit die Variable nur einen Wert hat.

IMMER AUF KOPIEN ARBEITEN. IM ZWEIFEL, FRAGEN UND AUF HILFE WARTEN.
Wenn alles klappt, experimentiere ruhig mit den Parametern bis Dir das Ergebnis gefällt.

Wem es gefällt, nutzt es, ändert es, wie es Euch/Dir gefällt. Wenn Du den Funktionsumfang erweiterst, würde ich mich freuen, hier auch den Code gepostet zu finden.

Referenzen
http://www.imagemagick.org/script/index.php
http://www.imagemagick.org/script/convert.php
http://www.sno.phy.queensu.ca/~phil/exiftool/
http://www.sno.phy.queensu.ca/~phil/exiftool/TagNames/index.html
https://wiki.ubuntuusers.de/Shell/Bash-Skripting-Guide_für_Anfänger
 
Kommentar
~/Bilder/reduceNFF $ convert input.jpg -define jpeg:extent=249kb -resize 800x800 -unsharp 0.5+0.2 .output.jpg

input.jpg -> das muss der Name Deiner Datei sein.
output.jpg -> der Name der Ausgabedatei. Kann gleich input.jpg, also der Name Deiner Datei, sein -> die Datei wird also überschrieben mit der verkleinerten Version
 
Kommentar
Es gibt in Darktable beim Export die Funktion "Dateigrösse beschränken auf ...".

Wo denn? Habe darktable 1.6.8 installiert und da finde ich im Leuchttischmodul unter

"ausgewählte exportieren" -> globale Optionen -> max Größe

nur eine Option zum skalieren. Die Funktion der Dateigrößenbegrenzung habe ich in darktable noch nicht gefunden. Wäre ja schön, wenn ich einfach nur zu dusselig wäre....

picture.php
 
Kommentar
-Anzeige-
Zurück
Oben Unten