• Du musst dich registrieren, bevor du Beiträge verfassen kannst. Klicke auf Jetzt registrieren!, um den Registrierungsprozess zu starten. Registrierte User surfen werbefrei, können Suchen durchführen und sehen die volle Darstellung des Forums mit vielen anderen Unterforen!!!

Tool: Bilderupload für faule Linuxer

SmoKing

Gondelnix
15+ Jahre im GSV
Ich gehöre ja auch der bequemen Fraktion an und gerade wenn ich an das Thema "Bilder verkleinern, auf den FTP hochladen und dann noch im Bericht einfügen" denke, dann ist das mit einzelnen Anwendungen doch oft mühselig.

Nun, ich bin jetzt nicht der Shell-Skript-Guru, aber ein ich denke, ich habe hier einen komfortablen Workflow, den ich Euch vorstellen möchte.

Als Software benötigt man nur ein Linux mit dem installierten Paket imagemagick. Der Rest sollte z.B. unter Ubuntu in den Boardmitteln enthalten sein. Also wenn das Pakte fehlt, dann Konsole öffnen und eintippen:

Code:
sudo apt-get install imagemagick


Das Procedere ist einfach:

Alle Bilder, die ich im Bericht haben möchte, kopiere ich in ein Verzeichnis auf dem Desktop - in Originalgröße! Der Verzeichnisname ist dann der gleiche wie der entstehende Verzeichnisname auf dem FTP-Server.
Beispiel: 2010-11-11_Beef-Ribs-nach-Kohlenputzer

Anschließend ein Terminal öffnen und in das Verzeichnis wechseln:

Code:
cd Desktop/2010-11-11_Beef-Ribs-nach-Kohlenputzer/

Jetzt nur noch das Skript ausführen und fertig:

Code:
img2gsv.sh

Was passiert hier?
  1. Nun, das Skript macht zuerst die JPG-Bilder klein: 800x600, Quality 70
    Da kommen nun Bilder von 80 bis 120 kB raus - alles größere finde ich nervtötend....
  2. Dann werden die Bilder auf den FTP hochgeladen, und zwar in ein Verzeichnis mit dem gleichen Namen.
  3. Es wird eine Datei namens copy2thread.txt erstellt, in der alle Links für das Einfügen in den Thread vorliegen.


Installation des Skripts:

  1. Kopieren in /usr/local/bin (persönliche ausführbare Anwendungen und Skripte):
    Code:
    sudo mv all2gsv.sh /usr/local/bin/
  2. Datei ausführbar machen, falls diese das nach dem Download nicht ist, ich weiß das grad net:
    Code:
    sudo chmod ugo+x /usr/local/bin/all2gsv.sh

Knackpunkte:
  • In dieser Version nur JPG-Dateien - alle anderen sind durch Anpassung realisierbar
  • Anzupassen im Skript: Nickname, FTP-Login, FTP-Passwort
    Das sind die Variablen: NICK, LOGI, CODE - z.B. mittels:
    Code:
    sudo gedit /usr/local/bin/all2gsv.sh
  • Eigentlich logisch aber erwähnenswert: Ihr braucht einen FTP-Zugang, den Euch Admin verpassen kann.

Vielleicht baue ich ja mal bei Zeitüberschuß eine GUI außenrum, aber es ist so schon sehr komfortabel und schnell...
Versucht's mal und geigt mir die Meinung zu meinen rudimentären Programmierkünsten... :lol:

Matthias
 

Anhänge

Zuletzt bearbeitet:
Onne es ausprobiert zu haben muß ich sagen, das ist 'ne tolle Idee. Ich persönlich bräuchte es nicht, weil ich nie so Riesenmengen an Bildern hochlade und die sowieso immer händisch sortiere und mir dabei schon Gedanken mache, wie ich den Thread aufbauen will, aber für den standardfaulen User ist das sicher eine klasse Sache.
 
Papa, macht nix - es muß nur funktionieren.... :lol:

Ebbel, klar ist das Geschmacksache und für 3 Bilder oversized. Wenn Du allerdings mal 30 Bilder vom OT hochnudeln magst, dann greift das gut unter die Arme...
 
Kleine Verbesserungsvorschläge hätte ich gleich:

- mach einfach per Default vorher ein umbenennen von *.JPG auf *.jpg - Linux ist ja case-sensitive, das manuelle Anpassen in dem Script wird wahrscheinlich für den einen oder anderen nicht ganz ersichtlich sein. Auf die Weise hast du alle Eventualitäten erschlagen.
- packe die zu konfigurierenden Variablen in den oberen Bereich des Scripts, so hat man alles auf einen Blick und muss sich nicht erst lange durch das Script suchen.

Hinweis an die Apfel-Jünger: Der ganze Spaß geht auch auf eurem Betriebssystem - MacOS ist ja nichts anderes als ein etwas aufgepumptes und grafisch aufgehübschtes BSD und hat genauso wie Linux einen Unix-Kern ;-)

Imagemagick für MacOS gibt's hier: ImageMagick: Install from Binary Distribution

Der Rest müsste relativ gleich sein.

Grüsse,
Wolfgang
 
Kleine Verbesserungsvorschläge hätte ich gleich:

- mach einfach per Default vorher ein umbenennen von *.JPG auf *.jpg - Linux ist ja case-sensitive, das manuelle Anpassen in dem Script wird wahrscheinlich für den einen oder anderen nicht ganz ersichtlich sein. Auf die Weise hast du alle Eventualitäten erschlagen.
- packe die zu konfigurierenden Variablen in den oberen Bereich des Scripts, so hat man alles auf einen Blick und muss sich nicht erst lange durch das Script suchen.

Sehr gute Idee mit dem Umbenennen!
Das Zweite dachte ich mir auch schon, aber Faulheit siegt zu oft....

THX Wolfgang, mach ich!

Grüße
Matthias
 
Fertig....

Groß-Klein-Umbenennung drin.
Variablen oben.
 
Von mir als Linux-Admin seit 8 Jahren auch noch ein paar Anmerkungen:

Man doch einfach davon ausgehen, dass in dem Verzeichnis nur Bilder liegen. Also braucht man nichts umzubennen:

Code:
# Alle XYZ.JPG zu xyz.jpg umbenennen
if ls *.JPG
then
rename 'y/A-Z/a-z/' *.JPG
else
echo "Keine Gross-Klein-Konvertierung nötig"
fi

rausschmeissen.

Desweiteren noch alle Vorkommnisse von ".jpg" rauslöschen.

Entweder manuell oder im Terminal
Code:
# cat all2gsv.sh | sed -e 's/\.jpg//' > all2gsv.sh.new && mv all2gsv.sh.new all2gsv.sh
 
Sind wir nicht alle ein bißchen Admin? :D

@
Stimmt, wenn man davon ausgeht, daß ausschließlich die Bilder drin sind, dann könnte man alle .jpg rauslöschen.

Im Prinzip hast Du recht, aber es ist es besser die Änderungen manuell durchzuführen. Der von Dir angegebene Befehl ist aber zu gewalttätig - er greift auch in die Verkleinerungsroutine und dann tut's nicht mehr ordentlich und alles ist fort...

Also habe ich die Bildverkleinerung auch nochmal geändert. Das Skript ist nochmal schlanker. Nun würde das Verkleinern auch theoretisch mit andern Formaten (png, tif, tralala) funktionieren. Aber was da rauskommt, das weiß ich net, weil der Parameter Quality wohl nur bei JPG greift. Vielleicht wird's auch größer. Die Empfehlung bleibt bei JPG, was vermutlich sowieso 99 % der GSVler nutzen.

Danke, die Anregungen waren wertvoll!

Viele Grüße
Matthias

PS Warum eigentlich nun , hat das mit Meat Loaf zu tun? :gotcha:
 
waer doch auch cool wenn man statt einzelnen jpgs ein zip hochladen koennte :)
noch cooler waer, wenn der server das bild dann runterrechnet wie zb bei menalto.

benutzt imho auch imagemagick.
 
Nur ist der Dateigrößengewinn beim zippen von jpgs eher in dem Bereich von Einhörnern und Feen anzusiedeln - man hat davon gehört, ist aber doch eher ein Märchen.

Davon abgesehen halte ich es für relativ blödsinnig, Bilder in der Originalauflösung hochzujubeln und damit Bandbreite und Speicherplatz zu verschwenden, wenn im Endeffekt eh nur eine Ansicht verwendet wird.
Sinn macht es, wenn man ein kleines Thumbnail, eine Medium-Ansicht und eine Großansicht anbietet und noch die Originaldatei zum Download - aber ganz ehrlich, das hier ist ein Forum und keine Fotogalerie.

@: Die Umbenennung ging einfach nur davon aus, dass es manche Kameras gibt, die *.jpg bauen und manche bauen *.JPG. Unter Windows mag das wurschd sein, unter Unix-Derivaten wird da unterschieden. Auf die Weise wird einfach vorher der ganze Krampf auf eine Linie gebracht und das Zeug entsprechend verkleinert.
Sicher kann man das über geschicktes Pipen auch kürzer gestalten, aber pers. bevorzuge ich doch Lesbarkeit vor dem Abkürzungswahn ;-)

@all: Interesse an einer Windows-Variante?! Linux und MacOS ist ja schon abgedeckt :)
 
Wolfgang,

der Vorstoß ist super. Sowas ließe sich doch in Visual C oder Basic sicher prima mit GUI aufsetzten. Dann kriegt das jeder Windoofi hin. 8-)

Viele Grüße
Matthias
 
Ach, dafür braucht man nicht mal ne wirkliche Programmiersprache. Ne einfache Batchdatei tut das locker :D
 
@: Die Umbenennung ging einfach nur davon aus, dass es manche Kameras gibt, die *.jpg bauen und manche bauen *.JPG. Unter Windows mag das wurschd sein, unter Unix-Derivaten wird da unterschieden. Auf die Weise wird einfach vorher der ganze Krampf auf eine Linie gebracht und das Zeug entsprechend verkleinert.

Versuch mal

Code:
for i in *.jpg *.JPG
    do
        ...
    done

Das sollte auch klappen.

Gruss Udo
 
Die Mac-User sollten am Ende dieses Scriptes noch folgende Zeile hinzufügen:

pbcopy < copy2thread.txt

Damit wird der Inhalt der copy2thread.txt Datei direkt in die Zwischenablage eingefügt und man kann im Thema über CMD-V die Bilder eintragen.
 
Zuletzt bearbeitet von einem Moderator:
Vielleicht baue ich ja mal bei Zeitüberschuß eine GUI außenrum, aber es ist so schon sehr komfortabel und schnell...
Versucht's mal und geigt mir die Meinung zu meinen rudimentären Programmierkünsten... :lol:

Matthias

Wie GUI? Ich dachte es geht hier um Linux? :ballballa: ;)

Nette Sache. Ich hatte zwar bisher eher überschaubare Bildmengen die sich gut beherrschen ließen (und auch noch keinen FTP-Zugang), aber wenn es so ein feines Skript gibt könnte ich das ja mal ändern :D
 
Zurück
Oben Unten