Wird Versionskontrollsoftware für Fotos verwendet?

34

Ich bin in erster Linie ein Softwareentwickler und verbringe viel Zeit mit Entwicklungstools. Eine der nützlicheren Arten von Entwicklungstools ist die Versionskontrolle. Für Anfänger funktioniert sie wie folgt:

  • Erstellen Sie eine Datei
  • Beginnen Sie mit der Arbeit an der Datei
  • Checken Sie die Datei ein (erstellen Sie eine Version 1 davon)
  • Öffnen Sie die Datei und bearbeiten Sie sie erneut
  • Checken Sie erneut ein (Version 2)
  • Stellen Sie fest, dass Sie etwas Wichtiges aus Version 1 gelöscht haben, gehen Sie in der Zeit zurück und holen Sie sich das, was Sie gelöscht haben ...
  • ...
  • Profitieren...

Wie auch immer, ich frage mich, ob etwas ähnliches mit Fotos verwendet wird? Im Wesentlichen dachte ich an Folgendes:

  • Fotos importieren (V1).
  • Fangen Sie an, Fotos mit Tags zu versehen (V2 ... XMP- Nebenfahrzeuge sollten sich nur hier wirklich ändern).
  • Füge Sterne hinzu, mehr Tags (V3)
  • Beginnen Sie mit dem Anpassen einiger Einstellungen (V4 +)

Mit dem obigen Ablauf sollten Sie in der Lage sein, viel mehr Änderungen nachzuverfolgen ... und Ihnen eine Art Sicherungsstrategie zu geben ...

TiernanO
quelle

Antworten:

32

Fotografische Workflow-Anwendungen wie Adobe Lightroom und Aperture von Apple bieten diese Art von Historie als Bestandteil ihrer Funktionalität.

Wenn Sie in diesen Dateien eine RAW-Datei bearbeiten, werden niemals Änderungen am Originalbild vorgenommen. Stattdessen werden sie separat als "Anweisungen" gespeichert. So können Sie einen Verlauf aller vorgenommenen Änderungen anzeigen und mit einem Mausklick zerstörungsfrei zu einem beliebigen vorherigen Zeitpunkt zurückkehren.

Wenn Sie nur Photoshop verwenden, ist dies nicht der Fall und Sie müssten jedes Mal verschiedene Versionen Ihres Fotos manuell speichern, bevor Sie daran arbeiten.

(Ich schätze, es gibt keinen Grund, warum Sie ein SVN-Repository nicht für Fotos verwenden können. Binärdateien?)

Mike
quelle
1
Lightroom speichert den Verlauf einer Editiersitzung. Wird dieser Verlauf jedoch beibehalten, wenn Sie Lightroom schließen und das Bild zu einem späteren Zeitpunkt aus dem Katalog erneut öffnen? Ich weiß, dass Sie immer die Original-RAW-Datei haben, aber können Sie eine beliebige Version zwischen dem Original und der neuesten Version jederzeit abrufen?
MikeW
2
Ja! Das einzige Mal, dass es gelöscht wird, ist, wenn Sie das Bild aus dem Katalog löschen und es erneut hinzufügen. Dann würden Sie von vorne anfangen. Ansonsten bleibt die Geschichte erhalten.
Mike
Digikam bietet die gleiche Funktionalität von Anweisungen.
Unapiedra
4
Zusätzlich zum Verlaufsprotokoll können Sie in Lightroom einen "Schnappschuss" erstellen, mit dem Sie den aktuellen Entwicklungseinstellungen eine Bezeichnung zuweisen und problemlos darauf zurückgreifen können. Eine Art Tagging in SVN. lightroomkillertips.com/2009/whats-a-lightroom-snapshot Einige Tools, z. B. die Plugins von Jeffrey Friedl, können so konfiguriert werden, dass bei jedem Export in Dienste wie Flickr automatisch ein Snapshot erstellt wird. regex.info/blog/lightroom-goodies [Ich schrieb dies gleichzeitig mit fzwo ... Entschuldigung für jede Redundanz mit seinem Kommentar.]
coneslayer
2
Wenn Sie die volle Funktionalität der Versionskontrolle wünschen, können Sie die Sidecar-Dateien wie jede andere Datei (sie sind intern ein markierter Text) einfach mit der Quellcodeverwaltung versehen. Dann sind Sie nicht auf die Geschichte beschränkt, sondern können auf Wunsch "Verzweigungen" mit völlig unterschiedlichen Effekten erstellen. Die Software sollte es Ihnen ermöglichen, eine neue Sidecar-Datei auf ein bestimmtes RAW-Bild anzuwenden, zumindest auf mein Bild.
Rumtscho
8

Virtuelle Änderungen

Ich verwende Lightroom v3 und dieses Produkt verfügt über einen zerstörungsfreien Arbeitsablauf. Auf diese Weise kann ich meine Bilder virtuell ändern.

Versionskontrolle

Anschließend verwende ich SVN, um die Kontrolle über den Lightroom-Katalog (nur eine einfache SQLite-Datenbank) zu behalten. Dadurch habe ich im Wesentlichen die Versionskontrolle über die virtuellen Änderungen.

Redundanz

Ich habe RAID 6-Setup, das die Medien für Redundanz und einen Zyklus von USB-Laufwerken als Rotationssicherungssystem enthält.


Dies funktioniert möglicherweise nicht für alle, aber für mich. Außerdem kann ich mehrere Computer verwenden und denselben LR-Katalog verwenden (mithilfe des svn-Festschreibungs- / Aktualisierungszyklus).

Auszug aus dem Blogbeitrag Hier :

Ich habe Lightroom auf einigen Computern mit einem RAID 6-basierten Server installiert und habe Probleme damit, alles zu synchronisieren, um mein Leben zwischen Computern zu vereinfachen.

Nach einigen Entscheidungen habe ich nun meine Fotos auf den \ server \ share verschoben und der Katalog wird per Subversion nachverfolgt! Dies macht alles zwischen Maschinen so viel einfacher.

Ich habe ein Repository erstellt, das den Lightroom-Katalog enthält. Ich habe eine Ausnahme hinzugefügt, um die Vorschaudateien nicht einzuschließen, da Subversion einige Probleme mit ihnen hat.

Jetzt sind meine Schritte wie folgt:

Update subversion
Run Lightroom
Import pictures
Move images between local drive import and the media file share
Make any required changes
Exit lightroom
Commit catalog
That's it!
Wayne
quelle
Cool. Ihr SVN-Server enthält also nur den Katalog und Ihr Dateiserver enthält die realen Bilder ... und der Katalog zeigt auf die Dateien auf dem Server? richtig? Könnte das mal ausprobieren.
TiernanO
@ TiernanO - Richtig. So habe ich meine Infrastruktur / meinen Workflow eingerichtet
Wayne
Das ist cool. Importieren Sie derzeit ca. 200 GB Fotos in einen einzelnen Lightroom-Katalog und spielen Sie mit dieser Idee. Hoffentlich wird sie das tun, wofür ich sie brauche! Danke für den Tipp!
TiernanO
@ Tierno - Du solltest damit einverstanden sein. Ich glaube, alle erlebten Grenzen werden sich um SQLite-Einschränkungen drehen, die Sie als Entwickler mit Sicherheit erforschen können. (Zu Ihrer Information: SQLite Manager für Firefox funktioniert hervorragend, wenn Sie sich diesen Katalog
Wayne,
@ TiernanO - Würde mich interessieren, ob dies tatsächlich für Sie funktioniert hat, wie es für mich getan hat
Wayne
4

Ich denke, Sie möchten vielleicht Git-Annex (zum Verwalten von Fotos und Backups) zusammen mit einer Bup-Fernbedienung (zum Versionsmanagement) verwenden. Ich schaue mir das gerade selbst an.

git-annex verfolgt Ihre Dateien mit git, indem Symlinks zu Ihren Dateien erstellt werden. Die Dateien selbst werden nicht zum Repository hinzugefügt. Sobald Ihre Fotos "angefügt" sind, können Sie, wenn Sie Ihr Repository klonen (z. B. auf einer externen Festplatte), den Klon auffordern, die Dateien (oder Teile davon) abzurufen, die dem Repository auf der Festplatte zugeordnet sind. git-annex verfolgt, welches Repository eine Kopie jeder Datei hat. Auf diese Weise können Sie ein Backup auf zwei kleine Festplatten aufteilen und sicherstellen, dass kein Foto vergessen wurde.

Angenommen, Sie sind auf einer Reise. Sie haben Fotos aufgenommen, die auf Ihren Laptop kopiert wurden. Sie können das Git-Repository, das sich zu Hause auf Ihrem SSH-Server befindet, klonen, mit ihm synchronisieren, Ihre lokalen Fotos zu Git-Annex Ihrer Sammlung hinzufügen und die Änderungen auf Ihren Server zurückschreiben. Dann pushen Sie die Dateien selbst.

git-annex verfolgt die Änderungen in Ihrer Sammlung, speichert jedoch nur die letzte Version Ihrer Fotos. Für die Dateiversionierung können Sie Ihrem git-annex-Repository ein spezielles bup remote hinzufügen . Ich habe es mir noch nicht angesehen, weil ich nicht sicher bin, ob ich es brauche, aber es sollte tun, was Sie wollen. Sieh das oder das .

Barsanuphe
quelle
bearbeitet meine Antwort.
Barsanuphe
Auch der Entwickler hinter Git-Annex hält derzeit einen Kickstarter , um die Dinge für die technisch weniger versierten einfacher zu machen.
Barsanuphe
2

Mit Lightroom bearbeite ich Bilder und führe einen Versionsverlauf. Wenn Sie Photoshop verwenden möchten, ist die Versionskontrolle nahezu integriert: Adobe Drive und Version Cue. Ich denke, Version Cue ist nur ein Teil der Creative Suite.

Dan Wolfgang
quelle
2

Pixel Novel wird sich in Photo Shop einbinden und funktioniert mit allen Subversion-Servern, die Sie bereits haben, oder ich denke, Sie können ein Repository von ihnen kaufen.

http://pixelnovel.com/

Sie nennen es "Versionskontrolle für Designer"

BZink
quelle
2

Ich verwende Photoshop und Adobe Camera Raw anstelle von Lightroom. Daher verwende ich die Versionskontrolle für die XMP-Dateien, in denen meine Raw-Konvertierungseinstellungen gespeichert sind, um Änderungen nachzuverfolgen. Dies funktioniert sehr gut, da die XMP-Dateien nur XML sind. Es ist praktisch, zuerst alle Farbkorrekturen vorzunehmen, die XMP-Dateien einzuchecken und dann auf nicht standardmäßige Seitenverhältnisse zuzuschneiden. Auf diese Weise kann ich schnell zu einer nicht zugeschnittenen Version zurückkehren, wenn ich Bilder im ursprünglichen 3x2-Format drucken möchte.

Ich weiß, dass Photoshop ein eigenes Revisions-Tracking-System hat, aber es geht darum, Tools zu verwenden, die ich besser kenne. Es gibt andere Codierungswerkzeuge, die nützlich sind, wie beispielsweise Build-Skripte / Build-Automatisierung. Ich kann zum Beispiel einen einzigen Befehl ausgeben, um einen Satz von Fotos mit nicht zugeschnittenen XMP-Dateien zu erstellen, die für den Druck vorgesehen sind. Dabei werden alle Bilder eines Satzes konvertiert und umbenannt. Es ist wirklich einfach, wenn Sie bereits wissen, wie man es für Software macht!

Sie können einem Repository Binärdateien hinzufügen, dies erfordert jedoch viel Speicherplatz und Sie erhalten keine nützlichen Diff-Informationen, wenn Sie verschiedene Versionen vergleichen.

Dies ist für regelmäßige Rohkonvertierungen, das Einstellen der Belichtung, die Farbbalance usw. gedacht. Für umfangreichere Photoshop-Arbeiten arbeite ich so viel wie möglich zerstörungsfrei mit Anpassungsebenen und intelligenten Filtern, aber ich bin noch nicht so weit, dass ich alles tun kann zerstörungsfrei, daher speichere ich momentan nur mehrere Versionen der .PSD-Datei.

Matt Grum
quelle
Sie können Lightroom so einstellen, dass auch XMPP-Dateien verwendet werden.
TiernanO
2

Ich bin auch ein Softwareentwickler und habe versucht, Git und SVN für große RAWs und XMPs zu verwenden, nur um meine Bilder zwischen Wechseldatenträgern und der XMP-Version zu synchronisieren. Es war unerträglich langsam und wurde mit der Zeit langsamer, als ich weitere Dateien hinzufügte. Ich benutze Lightroom auch für die Geschichte, also bin ich zu rsync zurückgekehrt.

Jetzt schaue ich auch in Git-Annex und soweit ist es schön und schnell. Es hat auch den zusätzlichen Vorteil, dass jede RAW-Datei mit einer Prüfsumme versehen wird, sodass Sie sehen können, ob eine fehlerhafte HD Ihre Bilder seit dem Import durcheinander gebracht hat. Dies ist ein enormer Vorteil für mich, da ich meine Backups testen kann, um sicherzustellen, dass sie nicht durch Kopien / Bit-Rot beeinträchtigt wurden. Ich plane, nur die XMPs zu versionieren und die RAWs anzuhängen. Mit git-annex kann man schnell wissen, wo sich die Dinge befinden, und ich kann sicher sein, dass alles auf meinem Server gesichert wird und auf meinem Laptop eine Arbeitskopie vorhanden ist, wenn ich möchte.

Sie können auch eine Amazon Glacier-Fernbedienung haben, habe ich gelesen, aber noch nicht ausprobiert.

Adam Watkins
quelle
1

Schauen Sie sich unser Daminion an. Dies ist eine Fotoverwaltungssoftware (benutzerfreundlich), die die Versionskontrolle für archivierte Fotos und andere Medienformate unterstützt.

Daminion Versionskontrolle

Die Einzelbenutzer-Version von Daminion ist kostenlos. Sie können sie jetzt herunterladen und überprüfen .

Murat - Daminion Software
quelle
14
Hallo Murat! Sie sind schon eine Weile dabei, und Ihre Beiträge auf Daminion sind im Allgemeinen thematisch und hilfreich und enthalten den entsprechenden Haftungsausschluss. Aber ich kann nicht anders, als zu bemerken, dass alle Ihre Antworten darauf hindeuten, Daminion auszuprobieren, und laut FAQ : "Wenn ein großer Prozentsatz Ihrer Beiträge eine Erwähnung Ihres Produkts oder Ihrer Website enthält, sind Sie wahrscheinlich aus den falschen Gründen hier . " Bitte erwägen Sie, Antworten auf Fragen zu schreiben, die nicht mit Ihrem Produkt zusammenhängen.
Mattdm
Danke für die Erklärung, Matt. Kein Problem. Aber wie Sie richtig bemerkt haben, bieten alle meine Beiträge hilfreiche Antworten auf die Fragen.
Murat - Daminion Software
0

Ich verwende keine Versionskontrolle wie Git oder SVN und werde sie wahrscheinlich auch nie verwenden, da die Dateien so groß sind. Jede RAW-Datei hat eine Größe von 20-30 MB und Änderungen berühren häufig jedes Pixel im gesamten Bild, was die Effektivität der Verfolgung der Änderungen verringert.

Für ein einzelnes Bild konnte ich leicht ein 200 MB SVN-Repository anstelle von vielleicht 60 MB sehen, wenn ich nur eine Kopie des Originals und eine Kopie des endgültigen Bildes speichern wollte.

Xeoncross
quelle
3
Wenn Sie RAW-Dateien verwenden, sollten Sie das eigentliche RAW-Bild nicht ändern, sondern nur XMP-Sidecar. Wenn Sie das RAW-Bild ändern, speichert GIT nur die Änderungen, nicht die gesamte Datei ... GIT ist möglicherweise nicht die beste Option (SVN auch nicht), da es sich um große Dateien handelt, aber es gibt einige Optionen, die gut funktionieren große Dateien ...
TiernanO
0

Hier ist ein Plug für Apple Aperture. Das Schöne an Aperture ist, dass es über 95% der Funktionen von Photoshop verfügt, die Fotografen wünschen (Sie können damit keinen flammenden Text erstellen, gähnen), und dass die Bearbeitung auf sehr einfache Weise versionskontrolliert ist.

Dies funktioniert mit JPEG und anderen Bildformaten sowie mit dem RAW-Format.

Sie können sogar einen "Roundtrip" mit externen Editoren wie Photoshop durchführen. Diese speichern jedoch zwangsläufig eine vollständige Kopie des Bildes und nicht einen kompakten Filter, der auf ein Master-Bild angewendet wird.

Jan Steinman
quelle
0

Hier gibt es eine gute Diskussion darüber: https://www.impulseadventure.com/photo/flow-catalog-versions.html

Es gibt signifikante Unterschiede zwischen dem Code-Repository und dem Image-DAM.

  1. Die Verwendung von Bildern ist in der Regel ein Baum mit mehreren Zweigen. Während Sie Verzweigungen im Code haben, besteht das Ziel normalerweise darin, sie zu minimieren. Bei der Verwendung von Bildern können Situationen wie diese auftreten

Meister

--- zugeschnitten und geschärft.

--- --- Reduzierte Auflösung für Facebook

--- --- Großes Vorschaubild für die Galerie

--- --- Mittleres Vorschaubild für die Galerie

--- --- Kleines Vorschaubild für die Galerie.

--- --- Große Version mit Wasserzeichen für die Galerie

--- --- --- Schwarzweiss-Version mit Wasserzeichen

--- --- --- Schwarzweiss-Version

--- --- Sonderkultur für den Kunden.

--- --- Farbstich für verschiedene Kunden angepasst

(Ich habe eine Webseite erstellt, auf der jedes Bild 18 verschiedene Auflösungen hatte.)

  1. Code weist tendenziell kleine Unterschiede zwischen den Versionen auf. Bei einem typischen Einchecken ändern sich nur einige Prozent des Codes. In einem Bild ändern sich die meisten Pixel, und die Platzersparnis beim Speichern von Änderungen ist gering.

  2. In einem Code-Repository sind Sie mit den Änderungen der Bit-Ebene befasst. Eine Codezeile hier, der Wert einer Konstanten dort. Bei der Bildmanipulation ist der Verlauf der von Ihnen ausgeführten Schritte wichtiger.

  3. Imagearbeit ist in der Regel weniger kollaborativ als Code. Während Grafiker möglicherweise ein vorhandenes Bild aufnehmen und Grafiken darüber legen, werden die meisten Bilder während ihrer gesamten Lebensdauer von einer Person verwaltet. (Dies ist anders in Video / Film.)

  4. In der Software ist die grundlegende Ebene das Projekt. Eine einzelne Klassendatei bedeutet ohne den Rest des Projekts nicht viel. Bei der Bildverarbeitung ist das Bild die Grundeinheit. Sie können Ihr ganzes Leben damit verbringen, an einem einzigen Softwareprojekt zu arbeiten (Microsoft Word ...). In der Fotografie verbringen Sie selten mehr als ein paar Minuten mit einem Bild.

  5. In der Software besteht die wichtige Aufgabe darin, Änderungen verfolgen und auf eine frühere Version zurückgreifen zu können. In der Bildverarbeitung ist es wichtig, das Bild und seine Ableitungen zu einem späteren Zeitpunkt zu finden.

Sherwood Botsford
quelle