Wird für Fotos Versionskontrollsoftware verwendet?

Ich bin im Herzen und von Beruf Softwareentwickler und verbringe viel Zeit mit Entwicklungswerkzeugen ... Einer der nützlicheren Typen von Entwicklungswerkzeugen ist die Versionskontrolle , und für Uneingeweihte funktioniert es ungefähr so:

  • 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
  • Erneut einchecken (Version 2)
  • Stellen Sie fest, dass Sie etwas Wichtiges aus Version 1 gelöscht haben, gehen Sie in der Zeit zurück, 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 etwas in der Art von:

  • Fotos importieren (V1).
  • Beginnen Sie mit dem Taggen von Fotos (V2 ... XMP -Beiwagen sollten sich nur hier wirklich ändern).
  • Beginnen Sie mit dem Hinzufügen von Sternen, mehr Tags (V3)
  • Beginnen Sie mit dem Anpassen einiger Einstellungen (V4+)

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

Antworten (11)

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

Wenn Sie eine RAW-Datei in diesen bearbeiten, werden niemals Änderungen am Originalbild vorgenommen. Stattdessen werden sie separat als „Anweisungen“ gespeichert. So können Sie eine Historie aller vorgenommenen Änderungen einsehen und mit einem Mausklick zerstörungsfrei zu jedem vorherigen Zeitpunkt zurückkehren.

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

(Ich vermute, es gibt keinen Grund, warum Sie kein SVN-Repository für Fotos verwenden können?? dh Binärdateien?)

Lightroom speichert den Verlauf einer Bearbeitungssitzung, aber bleibt dieser Verlauf bestehen, wenn Sie Lightroom schließen und das Bild zu einem späteren Zeitpunkt erneut aus dem Katalog öffnen? Ich weiß, dass Sie immer die ursprüngliche RAW-Datei haben, aber können Sie jederzeit eine Version irgendwo zwischen dem Original und der neuesten willkürlich erhalten?
Ja! Es würde nur gelöscht, wenn Sie das Bild aus dem Katalog löschen und erneut hinzufügen. Dann fängst du ganz von vorne an. Aber ansonsten bleibt die Historie erhalten.
Digikam bietet die gleiche Funktionalität von Anweisungen.
Das ist beeindruckend, war mir nicht bewusst.
Kühl. Ich habe nicht bemerkt, dass Apature und Lightroom irgendwelche Verlaufskram gemacht haben ... aber wird der Verlauf in den XMPP-Dateien in Lightroom aufgezeichnet oder nur in der Projektdatei? Kann dieser Verlauf exportiert werden, um ihn an anderer Stelle zu verwenden?
Ich bin mir nicht sicher, wo Lightroom den Verlauf hinter den Kulissen speichert, aber ich denke, es gibt irgendwo in den Einstellungen eine Option, um ihn als XMP-Sidecar-Datei zu verwenden. Was das Exportieren an anderer Stelle betrifft, wissen Sie nichts über die Verwendung zwischen Apps, aber sicherlich können Sie in Lightroom alle Einstellungen, die auf eine RAW-Datei angewendet wurden, kopieren und auf eine andere anwenden ....
Sie können auch Versionsschnappschüsse von Fotos in Lightroom erstellen. Diese nehmen fast keinen Platz ein (da es sich nur um eine Kopie der Metadaten handelt). Ich denke, die Tastenkombination ist Cmd + T.
Zusätzlich zum Verlaufsprotokoll können Sie mit Lightroom einen „Schnappschuss“ erstellen, mit dem Sie den aktuellen Entwicklungseinstellungen ein Label zuweisen und einfach darauf zurückgreifen können. Ähnlich wie Tagging in SVN. lightroomkillertips.com/2009/whats-a-lightroom-snapshot Einige Tools, wie die Plugins von Jeffrey Friedl, können so konfiguriert werden, dass automatisch ein Snapshot erstellt wird, wenn Sie zu Diensten wie Flickr exportieren. regex.info/blog/lightroom-goodies [Ich habe dies gleichzeitig mit fzwo geschrieben ... entschuldigen Sie die Redundanz mit seinem Kommentar.]
Wenn Sie eine vollständige Versionskontrollfunktion wünschen, können Sie die Sidecar-Dateien einfach wie jede andere Datei quellenkontrollieren (sie sind intern ein markierter Text). Dann sind Sie nicht auf die Historie beschränkt, sondern können, wenn Sie möchten, „Zweige“ mit ganz anderen Wirkungsarten machen. Die Software sollte es Ihnen ermöglichen, eine neue Sidecar-Datei auf jedes beliebige RAW-Bild anzuwenden, zumindest meine.
Virtuelle Kopien in Lightroom sind in gewisser Weise analog zum Verzweigen in einem Versionskontrollsystem. digitale-fotografie-schule.com/…
Ich beziehe mich nur auf die Erwähnung von @mike, SVN als Repo für Ihre Fotos zu verwenden: Ja, das würde funktionieren ... Jedes Versionskontrollsystem würde funktionieren ... es muss nur eines gefunden werden, das für Fotografen gut funktioniert ...
Beachten Sie, dass Aperture keine Verlaufsliste hat, aber Sie können Versionen jederzeit duplizieren (wie bei Snapshot), um Versionen mit unterschiedlichen Anpassungen zu kontrollieren.

Virtuelle Veränderungen

Ich verwende Lightroom v3 und dieses Produkt hat einen zerstörungsfreien Arbeitsablauf. Dadurch kann ich virtuell Änderungen an meinen Bildern vornehmen.

Versionskontrolle

Ich verwende dann SVN, um die Kontrolle über den Lightroom-Katalog (nur eine einfache SQLite-Datenbank) zu behalten, und dies gibt mir im Wesentlichen die Versionskontrolle über die virtuellen Änderungen.

Redundanz

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


Auch wenn dies nicht für jeden funktioniert, funktioniert es für mich. Außerdem erlaubt es mir, mehrere Maschinen zu verwenden und denselben LR-Katalog zu haben (unter Verwendung des SVN-Commit/Update-Zyklus).

Auszug aus dem Blogbeitrag hier :

Ich habe Lightroom auf ein paar Computern mit einem RAID 6-basierten Server und habe Probleme damit, alles zu synchronisieren, um mir das Leben zwischen den Computern zu erleichtern.

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

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.

Nun 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!
Kühl. Ihr SVN-Server enthält also nur den Katalog und Ihr Dateiserver die echten Bilder ... und der Katalog verweist auf die Dateien auf dem Server? Korrekt? Könnte das ausprobieren.
@TiernanO - Richtig. So habe ich meine Infrastruktur/Workflow eingerichtet
Das ist cool. Importiere derzeit etwa 200 GB Fotos in einen einzigen Lightroom-Katalog und werde anfangen, mit dieser Idee zu spielen ... hoffentlich wird es tun, was ich brauche! Danke für den Tipp!
@Tierno - Damit solltest du einverstanden sein. Ich glaube, dass alle erfahrenen Grenzen um SQLite-Einschränkungen herum liegen werden, die Sie als Entwickler sicher recherchieren können. (FYI: SQLite Manager für Firefox funktioniert hervorragend beim Betrachten dieses Katalogs)
@TiernanO - Würde mich interessieren, ob dies tatsächlich für Sie so funktioniert hat wie für mich
+1 Dies ist der einzige praktische Weg, den ich gefunden habe, um Lightroom nachhaltig zu nutzen. Es bietet Sicherheit gegen Katalogkorruption und ermöglicht es Ihnen, denselben Katalog von verschiedenen Computern aus zu verwenden. Sie können nicht mit dem Revisionskontrollsystem zusammenführen ), aber Sie können Kataloge exportieren und importieren, was Sie meiner Meinung nach so nah wie möglich an die gleichzeitige Verwendung von Lightroom für mehrere Benutzer bringt.

Ich denke, Sie möchten vielleicht git-annex (um Fotos und Backups zu verwalten) zusammen mit einer Bup-Fernbedienung (für die Versionierung) verwenden. Ich probier es gerade selbst aus.

git-annex verfolgt Ihre Dateien mit git, indem es symbolische Links zu Ihren Dateien festschreibt. Die Dateien selbst werden nicht zum Repository hinzugefügt. Sobald Ihre Fotos "angehängt" sind, können Sie, wenn Sie Ihr Repository klonen (z. B. auf einer externen Festplatte), den Klon bitten, die Dateien (oder einen Teil davon) abzurufen, die mit dem Repository auf der Festplatte verknüpft sind. git-annex verfolgt, welches Repository eine Kopie jeder Datei enthält. So können Sie ein Backup auf zwei kleine Festplatten aufteilen und sicher sein, dass kein Foto vergessen wurde.

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

git-annex verfolgt die Änderungen in Ihrer Sammlung, bewahrt aber nur die letzte Version Ihrer Fotos auf. Für die Dateiversionierung können Sie Ihrem Git-Annex-Repository eine spezielle Bup -Fernbedienung 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. Siehe dies oder das .

meine Antwort bearbeitet.
Außerdem hält der Entwickler hinter Git-Annex derzeit einen Kickstarter ab , um es den weniger technisch Versierten einfacher zu machen.

Ich benutze Lightroom, um Bilder zu bearbeiten und einen Versionsverlauf zu führen. Wenn Sie Photoshop verwenden möchten, ist die Versionskontrolle fast integriert: Adobe Drive und Version Cue. Ich denke, Version Cue ist nur ein Teil der Creative Suite, FYI.

Pixel Novel wird in Photo Shop eingesteckt 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"

Ich verwende Photoshop und Adobe Camera Raw anstelle von Lightroom, daher verwende ich die Versionskontrolle für die XMP-Dateien, die meine Raw-Konvertierungseinstellungen speichern, um Änderungen zu verfolgen. Das funktioniert wirklich 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 unbeschnittenen Version zurückkehren, wenn ich Bilder im ursprünglichen 3x2-Seitenverhältnis drucken muss.

Ich weiß, dass Photoshop über ein eigenes integriertes Revisionsverfolgungssystem verfügt, aber es geht darum, Tools zu verwenden, die ich besser kenne. Es gibt andere Codierungstools, die nützlich sind, z. B. Build-Skripte/Build-Automatisierung. Ich kann zum Beispiel einen einzigen Befehl zum „Erstellen“ eines Satzes von Fotos ausgeben, indem ich nicht zugeschnittene XMP-Dateien verwende, die für den Druck vorgesehen sind, der den Prozess umbenennt und alle Bilder eines Satzes ausgibt. Es ist wirklich einfach, wenn Sie bereits wissen, wie es für Software geht!

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

Dies ist für normale Rohkonvertierungen, Belichtungseinstellungen, Farbbalance usw. Für aufwendigere Photoshop-Arbeiten mache ich so viel wie möglich zerstörungsfrei mit Anpassungsebenen und intelligenten Filtern, aber ich bin noch nicht an dem Punkt angelangt, an dem ich alles machen kann zerstörungsfrei, also speichere ich vorerst nur mehrere Versionen der .PSD-Datei.

Sie können Lightroom so einstellen, dass es auch XMPP-Dateien verwendet ... ich habe das vorher verwendet und funktioniert großartig.

Ich bin auch Softwareentwickler und habe versucht, Git und SVN für große RAWs und XMPs zu verwenden, nur um meine Bilder zwischen Wechseldatenträgern zu synchronisieren und die XMPs zu versionieren. Es war unerträglich langsam und wurde mit der Zeit immer langsamer, als ich mehr Dateien hinzufügte. Ich verwende Lightroom auch für den Verlauf, also ging ich zurück zu rsync.

Jetzt schaue ich mir auch Git-Annex an und bisher ist es nett und schnell. Es hat auch den zusätzlichen Vorteil, dass jede RAW-Datei einer Prüfsumme unterzogen wird, sodass Sie sehen können, ob eine schlechte 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/Bitfäule beeinträchtigt wurden. Ich plane, nur die XMPs zu versionieren und die RAWs anzuhängen. git-annex kann die Beinarbeit erledigen, um zu wissen, wo sich die Dinge befinden, und ich kann sicher sein, dass alles auf meinem Server gesichert wird, und ich kann eine funktionierende Kopie auf meinem Laptop haben, wenn ich möchte.

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

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

Daminion-Versionskontrolle

Die Daminion-Einzelbenutzerversion ist kostenlos, Sie können sie also sofort herunterladen und testen .

Hallo Murat! Sie sind schon eine Weile dabei, und Ihre Beiträge auf Daminion sind im Allgemeinen themenbezogen und hilfreich und enthalten den richtigen Haftungsausschluss für die Zugehörigkeit. Aber ich kann nicht anders, als zu bemerken, dass alle Ihre Antworten darauf hindeuten, Daminion auszuprobieren, und aus den FAQ : „Wenn ein großer Prozentsatz Ihrer Beiträge Ihr Produkt oder Ihre Website erwähnt, sind Sie wahrscheinlich aus den falschen Gründen hier ." Bitte erwägen Sie, einige Antworten auf Fragen zu schreiben, die sich nicht auf Ihr Produkt beziehen.
Danke für die Erklärung, Matthias. Kein Problem. Aber wie Sie richtig bemerkt haben, liefern alle meine Beiträge hilfreiche Antworten auf die Fragen.

Aufgrund der schieren Größe der beteiligten Dateien verwende ich keine Quellversionskontrolle wie Git oder SVN und werde dies wahrscheinlich auch nie tun. Jede Rohdatei ist 20-30 MB groß und Änderungen berühren oft jedes Pixel im gesamten Bild, was die Effektivität des bloßen „Verfolgens der Änderungen“ verringert.

Für ein einzelnes Bild könnte ich leicht ein 200 MB großes SVN-Repository anstelle von vielleicht 60 MB sehen, wenn ich nur eine Kopie des Originals und eine Kopie des endgültigen Bildes speichern würde.

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

Hier ist ein Stecker für Apple Aperture. Das Schöne an Aperture ist, dass es etwa 95 % der Funktionalität von Photoshop hat, die sich Fotografen wünschen (man kann damit keinen flammenden Text erstellen, gähn), und dass die Bearbeitung auf sehr einfache Weise versioniert wird.

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

Sie können sogar einen "Roundtrip" mit externen Editoren wie Photoshop durchführen, aber diese speichern notwendigerweise eine vollständige Kopie des Bildes und nicht einen einfachen Filter, der auf ein Masterbild angewendet wird.

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

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

  1. Die Verwendung von Bildern ist in der Regel ein Baum mit mehreren Zweigen. Obwohl Sie Verzweigungen im Code haben, besteht das Ziel normalerweise darin, sie zu minimieren. Bei der Verwendung von Bildern kann es zu solchen Situationen kommen

Meister

--- Abgeschnitten und geschärft.

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

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

--- --- Mittleres Thumbnail für Galerie

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

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

--- --- --- Schwarz-Weiß-Version mit Wasserzeichen

--- --- --- Schwarz-Weiß-Version

--- --- Sonderanfertigung für Kunden.

--- --- Angepasster Farbstich für verschiedene Clients

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

  1. Code weist in der Regel kleine Unterschiede zwischen den Versionen auf. Bei einem typischen Checkin ändert sich nur ein paar Prozent des Codes. In einem Bild ändern sich die meisten Pixel etwas, und die Platzersparnis durch das Speichern nur von Änderungen ist gering.

  2. In einem Code-Repository beschäftigen Sie sich mit den Bit-Level-Änderungen. Hier eine Codezeile, dort der Wert einer Konstante. Bei der Bildbearbeitung ist eine Historie der von Ihnen durchgeführten Schritte wichtiger.

  3. Bildarbeit ist in der Regel viel weniger kooperativ als Code. Während Grafiker ein vorhandenes Bild nehmen und grafische Kunstwerke darüber legen können, werden die meisten Bilder während ihrer gesamten Lebensdauer von einer Person verwaltet. (Das ist bei Video/Film anders.)

  4. Bei Software ist die grundlegende Ebene das Projekt . Eine einzelne Klassendatei bedeutet nicht viel ohne den Rest des Projekts. In der Bildverarbeitung ist das Bild die grundlegende Einheit. Man kann sein ganzes Leben an einem einzigen Softwareprojekt (Microsoft Word...) arbeiten. In der Fotografie verbringt man selten mehr als ein paar Minuten mit einem Bild.

  5. Bei Software besteht die wichtige Aufgabe darin, Änderungen nachverfolgen und zu einer früheren Version zurückkehren zu können. Bei der Bildverarbeitung besteht die wichtige Aufgabe darin, dieses Bild und seine Ableitungen zu einem späteren Zeitpunkt wiederzufinden.