Bibliothek

Jedes Laufwerk katalogisieren, dasselbe Bild überall finden und wissen, ob das Löschen einer Kopie etwas verliert.

Auf dieser Seite
1:11
Auf Englisch erzählt, mit Untertiteln. Wird von YouTube abgespielt, sobald Sie auf Wiedergabe drücken.

Jeder Fotograf mit mehr als ein paar Jahren Arbeit hat dasselbe Bild an vier Orten: im Kartenimport, in dem Ordner, den jemand auf ein Sicherungslaufwerk kopiert hat, in der DNG, die ein Konverter daraus gemacht hat, und im JPEG, das an einen Kunden ging. Die Bibliothek katalogisiert jedes Bild auf jedem Laufwerk, auf das du sie richtest: Du blätterst durch alles an einem Ort, auch wenn ein Laufwerk in einer Schublade liegt, und sie sagt dir, welche dieser Dateien dasselbe Bild sind — und bei jeder, ob ihr Löschen etwas verlieren würde.

Die Library-Ansicht#

0:10
Auf Englisch erzählt, mit Untertiteln. Wird von YouTube abgespielt, sobald Sie auf Wiedergabe drücken.
Die Library-Ansicht: jedes Bild auf jedem Laufwerk, nach Laufwerk und Ordner, Datum, Album, Stichwort, Person, Ort, Kamera und Objektiv. Das links gewählte Jahr ist das, woran das Raster daneben arbeitet.
Die Library-Ansicht: jedes Bild auf jedem Laufwerk, nach Laufwerk und Ordner, Datum, Album, Stichwort, Person, Ort, Kamera und Objektiv. Das links gewählte Jahr ist das, woran das Raster daneben arbeitet.

Öffne sie mit Cmd+Shift+L, View → Library oder dem Ansichtsmenü in der Infoleiste. Das Panel links listet, was die Bibliothek enthält, jeweils mit der Zahl der Bilder:

  • All Pictures
  • Sources — jedes Laufwerk oder jeder Ordner, mit freiem Platz, oder wann es zuletzt gesehen wurde, wenn es nicht angeschlossen ist; öffne eines, um seine Ordner zu sehen
  • Dates — Jahre, dann Monate, dann Tage, in deiner eigenen Zeitzone; Undated für Bilder ohne Aufnahmezeit
  • Collections — deine Alben und gespeicherten Suchen
  • Published — die Alben, die auf einer Veranstaltung oder in einem Ordner gehalten werden, und wie es jedem geht; siehe Alben veröffentlichen
  • Keywords, People, Places, Cameras und Lenses

Was du auswählst, öffnet sich im Raster daneben als das, woran das Fenster arbeitet: Bewerten, markieren, entwickeln, exportieren und veröffentlichen genau wie in einem Ordner, und jede Änderung landet im eigenen Ordner des Bildes. Ein Bild auf einem nicht angeschlossenen Laufwerk wird aus der gespeicherten Vorschau der Bibliothek gezeigt, und eine Aktion, die die Datei braucht, sagt, welches Laufwerk anzuschließen ist.

Das Feld über dem Raster durchsucht die Auswahl — Wörter in Bildunterschriften, Titeln, Stichwörtern, Personen, Orten, Kameras, Objektiven und Dateinamen. Das Menü daneben sortiert nach Aufnahmezeit, Name, Bewertung, Zeitpunkt des Hinzufügens oder der letzten Bearbeitung; ein Album öffnet sich in seiner eigenen Reihenfolge. Save Search… bewahrt Auswahl und Suche als gespeicherte Suche unter Collections.

Eine leere Bibliothek bietet Add a Disk or Folder… an, und Import Lightroom Catalog…, wenn in ~/Pictures/Lightroom einer gefunden wird.

Über die API wählt, sucht und sortiert POST /api/library/view und öffnet die Ansicht; GET /api/library/browse liefert, was das Panel listet.

Suche nach dem, was im Bild ist#

Das Suchfeld findet Bilder auch nach dem, was in ihnen ist, in einfachen Worten und in deiner eigenen Sprache — ein Reiher im Regen, a bird on a branch, Siegerehrung — ohne dass jemand Stichwörter geschrieben hat. Search by Content… neben dem Feld lädt das Inhaltsmodell einmal herunter (etwa 230 MB). Danach liest die Bibliothek ihre Bilder im Hintergrund, aus den Vorschauen, die sie schon hat, die neuesten zuerst und mit Pause, wann immer du sichtest. Die Leiste sagt, wie weit sie ist, und eine Suche findet die bisher gelesenen Bilder.

Das Menü neben dem Feld wählt, was es durchsucht: Words and Content (zuerst die Wörter in den Dateien, dann die Bilder, die dem Geschriebenen am nächsten sind), Words oder Content. Eine Suche nach Inhalt zeigt das Nächste zuerst, als Best Match.

Klicke mit der rechten Maustaste auf ein Bild und wähle Find Similar in Library, um die ähnlichen Bilder von allen Laufwerken der Bibliothek zu sehen, das nächste zuerst.

Das Modell liest Englisch, Norwegisch, Schwedisch, Deutsch, Finnisch, Französisch, Spanisch und über vierzig weitere Sprachen. Es ist OpenAIs CLIP für die Bilder und ein mehrsprachiges Textmodell, das darauf trainiert ist, es zu treffen; beide laufen auf diesem Computer: kein Bild verlässt ihn. Über die API: content und similar_to in POST /api/catalog/search und gespeicherten Suchen, search_by in POST /api/library/view, und GET /api/library/content für den Fortschritt (SDK: client.library.content()).

Alben, Smart-Sammlungen und Sätze#

0:11
Auf Englisch erzählt, mit Untertiteln. Wird von YouTube abgespielt, sobald Sie auf Wiedergabe drücken.
Eine neue gespeicherte Suche: jede Regel, die ein Bild erfüllen muss, und wie viele Bilder der Bibliothek sie erfüllen, während du bearbeitest.
Eine neue gespeicherte Suche: jede Regel, die ein Bild erfüllen muss, und wie viele Bilder der Bibliothek sie erfüllen, während du bearbeitest.

Collections im Panel der Library-Ansicht enthält deine Alben (Bilder, die du von Hand zusammengestellt hast, aus jedem Ordner und Laufwerk) und Smart-Sammlungen (gespeicherte Suchen, die ihre Bilder jedes Mal finden), in Sammlungssätzen, die eigene Sätze enthalten können. Jede zeigt, wie viele Bilder sie hat; bei einer Smart-Sammlung ist es das, was sie jetzt findet.

  • + New legt ein Album, eine Smart-Sammlung oder einen Satz an. Klicke einen Satz mit rechts an, um darin einen anzulegen; ziehe eine Sammlung oder einen Satz auf einen anderen Satz, um sie dorthin zu verschieben, oder auf die freie Fläche darunter, um sie nach oben zu bringen.
  • Klicke eine Sammlung mit rechts an, um sie umzubenennen, zu duplizieren oder zu löschen, eine Smart-Sammlung zu bearbeiten oder ein Album zum Zielalbum zu machen.
  • Lege Bilder in ein Album, indem du sie aus dem Raster darauf ziehst, mit Add to Album im Menü des Bildes (mit New Album…), oder mit Shift+B, das die ausgewählten Bilder — oder das auf dem Bildschirm — ins Zielalbum legt und sie herausnimmt, wenn alle schon darin sind. Die Infoleiste zeigt das Ziel und seine Anzahl; klicke darauf, um ein anderes zu wählen. Ohne Ziel macht Shift+B die Quick Collection zum Ziel. In einem Album nimmt Remove from "…" im Menü des Bildes Bilder heraus.
  • Ein Bild im Zielalbum trägt ein Lesezeichen im Raster, im Filmstreifen und in Survey, und den Namen des Albums auf dem Bild in Develop und im Vollbild, welcher Ordner auch offen ist. Im Filtermenü zeigt Album … nur die Bilder darin (Darin) oder nur die nicht darin (Nicht darin). Mit Nicht darin nimmt Shift+B ein Bild aus der Ansicht, sobald es hineinkommt, so dass ein Durchgang über eine Karte nur zeigt, was noch auszuwählen ist. Ein RAW von der Karte zählt als im Album, wenn das Album dieselbe Aufnahme in einer anderen Datei hat – das DxO-DNG, das eine Live-Lieferung verschickt hat –, erkannt an der Kamera und am Augenblick der Aufnahme, bis auf den Bruchteil einer Sekunde. Eine Datei ohne diesen Bruchteil (eine ältere Kamera, ein Bildschirmfoto) ist nur als sie selbst im Album. Legst du ein solches RAW ins Album, bleibt es draußen, und du erfährst, welche Datei dort ist, so dass das Bild nie zweimal hinausgeht. … in „…“ ersetzen im Menü des Bildes setzt es stattdessen an die Stelle dieser Datei: Es ersetzt das veröffentlichte Foto, das seinen Platz und die Links seiner Käufer behält. Ein Foto, das jemand gekauft hat, wird nie ersetzt. Add to Album in einem Workflow lässt eine zweite Datei derselben Aufnahme ebenso draußen, etwa das JPEG einer Kamera, die ihr JPEG und ihr RAW sendet.
  • Der Editor für Smart-Sammlungen listet die Regeln: Wörter, Stichwörter, Personen, Orte, Bildunterschriften, Kamera, Objektiv, Bewertung, Markierung, Farbmarkierung, Dateityp, bearbeitet, veröffentlicht, wann aufgenommen (an einem Datum oder in den letzten soundso vielen Tagen), geändert in den letzten soundso vielen Tagen, hat Stichwörter, hat Bildunterschrift, Schärfe, Ordner, Album und Laufwerk. Die Sammlung trifft auf alle oder eine davon zu, und + Group fügt eine Gruppe mit allen oder einer ihrer eigenen hinzu — „drei Sterne oder mehr, und Stichwort Staffel oder Schwimmen“. Sie zählt, was sie findet, während du bearbeitest. Save as Smart Collection… in den Filterspalten speichert, was das Fenster zeigt, als eine.

Ein Album hält seine Bilder über ihren Platz in der Bibliothek, sodass ein im Finder verschobenes Bild nach dem nächsten Scan noch darin ist. Ein Bild, das in den Papierkorb wandert, verlässt seine Alben, und die App sagt, welche. Info in der Seitenleiste listet die Alben und Smart-Sammlungen, in denen das Bild auf dem Bildschirm ist. Deliver → Deliver Event Folder… kann seinen Ablauf statt über einen Ordner über die Bilder eines Albums oder einer Smart-Sammlung laufen lassen.

Über die API listet, erstellt, ändert und löscht /api/library/collections Sammlungen, legt Bilder in ein Album oder nimmt sie heraus und setzt das Ziel; /api/library/collection-sets tut dasselbe für Sätze.

Laufwerke, die nicht angeschlossen sind#

Bilder auf einem nicht angeschlossenen Laufwerk werden weiterhin von jeder Suche, jedem Filter, jeder Sammlung und jedem Shooting gefunden und aus der gespeicherten Vorschau der Bibliothek gezeigt, mit dem Namen des Laufwerks darauf. Infoleiste und Seitenleiste sagen, wo sie sind — „On Archive-3 (not connected, last scanned 12 March 2026)“ —, und OFFLINE in der Filterleiste nimmt sie aus dem Fenster oder zeigt sie wieder.

Der Ordnerbaum: die Favoriten oben, die zuletzt geöffneten Ordner darunter, und jedes Laufwerk mit der Zahl der Bilder in jedem Ordner.
Der Ordnerbaum: die Favoriten oben, die zuletzt geöffneten Ordner darunter, und jedes Laufwerk mit der Zahl der Bilder in jedem Ordner.

Was ohne die Datei geht, wird getan: Sterne, Markierung, Farbmarkierung, Stichwörter, die Bildunterschrift und die anderen IPTC-Felder sowie Alben ändern sich sofort in der Bibliothek und werden in die Bilder geschrieben, wenn das Laufwerk angeschlossen wird — die Infoleiste sagt, wie viele Änderungen warten. Geschrieben wird nur, was geändert wurde: Ein Feld, das die Bibliothek nicht kennt, bleibt, wie die Datei es hat. Was die Datei braucht, sagt es: Entwickeln, Freistellen, Drehen und Exportieren antworten „Connect Archive-3 to …“. Ist das Laufwerk zurück, öffnet sich das Bild auf dem Bildschirm von selbst.

Über die API steht connected an jeder Datei, die die Bibliotheksrouten liefern, und GET /api/library/pending-writes listet, was wartet; hide_offline in POST /api/filter lässt diese Bilder weg.

Bilder nur auf einem Laufwerk#

Laufwerke sind billig; verlorene Bilder nicht. Sind deine Laufwerke gescannt, weiß die Bibliothek, welche Bilder es nur auf einem physischen Laufwerk gibt. Eine Kopie zählt, wenn sie dieselbe Datei ist, oder dasselbe Bild mit anderen Metadaten (eine DNG mit neuem XMP darin), oder dieselben Sensordaten; ein exportiertes JPEG ist ein anderes Bild, keine Kopie. Zwei Partitionen eines Laufwerks sind ein Laufwerk, und ein nicht angeschlossenes Laufwerk zählt trotzdem.

To Do → Not backed up öffnet diese Bilder, die Sources-Liste sagt, wie viele auf jedem Laufwerk only here sind, und die Karte eines Shootings sagt, wie viele seiner Bilder nur auf einem Laufwerk liegen. Back Up to… unter To Do kopiert sie alle in einen Ordner auf einem anderen Laufwerk, nach <Ordner>/<Laufwerk>/<ihr Pfad darauf> mit ihren Filialdateien, prüft jede Kopie gegen das Original und scannt den Ordner, sodass die Zahl sinkt. Bilder auf einem nicht angeschlossenen Laufwerk warten, bis es das ist. Klicke ein Laufwerk unter Sources oder ein Shooting mit rechts an, um nur dessen Bilder zu sichern. Ein Bild, das auf einem Laufwerk in mehreren Ordnern liegt, wird einmal kopiert.

Über die API: GET /api/library/backup-coverage, POST /api/library/backup-copy ({"scope": {"kind": "all"}, "dest": "/Volumes/Backup"}, oder für eine Quelle oder ein Shooting), und unbacked an jedem Shooting.

Shootings#

0:12
Auf Englisch erzählt, mit Untertiteln. Wird von YouTube abgespielt, sobald Sie auf Wiedergabe drücken.
Shootings: die Bibliothek als Zeitleiste, jedes Shooting eine Karte mit Name, Daten, wie weit es ist, und seinem besten Bild.
Shootings: die Bibliothek als Zeitleiste, jedes Shooting eine Karte mit Name, Daten, wie weit es ist, und seinem besten Bild.

Shoots im Panel der Library-Ansicht zeigt Jahre von Bildern so, wie du dich an sie erinnerst: „der Zieleinlauf beim Kystjegerløpet“, „Karis Hochzeit“, „Lofoten im März“. Ein Shooting ergibt sich daraus, wann die Bilder aufgenommen wurden, alle Kameras zusammen: Eine Lücke von mehr als einer Stunde oder ein Ortswechsel von mehr als 25 km zwischen zwei Bildern mit Position beginnt ein neues (beides lässt sich über die API ändern, PUT /api/library/shoots/rules). Die Zeitleiste geht Jahr für Jahr zurück, mit einer Karte pro Shooting: Titelbild, Name, Daten, Ort, Anzahl der Bilder und welche Kameragehäuse. Klicke eine Karte an, um ihre Bilder zu sehen.

  • Ein Shooting wird nach einem Album benannt, das die meisten seiner Bilder enthält (eines, das auf eventphotos veröffentlicht ist, oder die Auswahl einer Auslieferung), sonst nach dem Ordner, der mindestens die Hälfte seiner Bilder enthält, sonst nach dem Ort, an dem das meiste liegt, sonst nach seinen Daten.
  • Klicke eine Karte mit rechts an, um sie umzubenennen (Rename) oder mit der vorherigen zusammenzuführen (Merge with the Shoot Before). Auf einem Bild teilt Shoot → Start a New Shoot Here sein Shooting an diesem Bild, und Use as Shoot Cover macht es zum Titelbild; sonst ist das Titelbild das am besten bewertete Bild, dann eine Auswahl, dann das schärfste. Was du änderst, bleibt, wenn die Bibliothek neu gescannt wird.
  • Die Spalte Shoot im Filter und die Smart-Sammlungsregel In the shoot wählen Bilder nach Shooting.

Über die API: GET /api/library/shoots, POST /api/library/shoots/edit (umbenennen, mit der vorherigen zusammenführen, an einem Bild teilen, Titelbild) und PUT /api/library/shoots/rules (die Stunden und Kilometer); öffne ein Shooting mit POST /api/library/view und der Auswahl {"kind": "shoot", "at": <startMs>}.

Was noch zu tun ist#

Was noch zu tun ist: die noch nicht gesichteten Bilder, die noch nicht entwickelten Auswahlbilder und was bearbeitet, aber nicht geliefert ist.
Was noch zu tun ist: die noch nicht gesichteten Bilder, die noch nicht entwickelten Auswahlbilder und was bearbeitet, aber nicht geliefert ist.

Jede Karte sagt, wie weit ihr Shooting ist, nach dem, was die Bibliothek weiß (keine Datei wird gelesen): Not culled (kein Bild hat Sterne, eine Markierung oder eine Farbmarkierung), Culled (markiert, nichts bearbeitet; Picks to develop, wenn Auswahlbilder nicht entwickelt sind), Edited, not delivered oder Delivered (ein Bild exportiert, hochgeladen oder auf eventphotos oder in der Zeitung veröffentlicht). Die Spalte Shoot Status im Filter wählt Bilder danach.

To Do im Panel listet die ungesichteten Shootings, die nicht entwickelten Auswahlbilder und die bearbeiteten, nicht ausgelieferten Bilder, mit ihrer Anzahl; klicke einen Eintrag an, um diese Bilder zu sehen. Klicke eine Karte mit rechts an für Mark Done — von den Listen, ohne ein Bild zu ändern —, und nutze Mark Year Done auf einem Jahr, um ein längst fertiges Archiv auf einmal von den Listen zu nehmen.

Über die API: GET /api/library/todo, der Status in GET /api/library/shoots, done und done_between in POST /api/library/shoots/edit, und die Auswahl {"kind": "todo", "list": "not_culled"} (oder picks_not_developed, edited_not_delivered).

Stichwörter#

0:13
Auf Englisch erzählt, mit Untertiteln. Wird von YouTube abgespielt, sobald Sie auf Wiedergabe drücken.

Keywords im Panel der Library-Ansicht listet jedes Stichwort deiner Bilder, auf jedem Laufwerk, als Baum mit der Zahl der Bilder je Stichwort — die Hierarchie ist die, die Lightroom schreibt (Places|Norway|Stavanger), sodass eine dort angelegte Stichwortliste hier gleich aussieht. Stichwörter deiner Liste, die noch kein Bild hat, sind grau. Klicke auf eines, um jedes Bild mit ihm oder einem Stichwort darunter zu sehen.

  • Klicke ein Stichwort mit rechts an, um es umzubenennen (Rename), mit einem anderen zusammenzuführen (Merge Into), nach oben zu verschieben (Move to the Top), ihm Synonyme zu geben (Synonyms), es aus exportierten Dateien herauszuhalten (Include on Export), damit zu malen (Paint with It) oder es zu löschen (Delete). Ziehe ein Stichwort auf ein anderes, um es darunter zu legen.
  • Ein Umbenennen, Zusammenführen, Verschieben oder Löschen wird in jedes Bild geschrieben, das das Stichwort hat, in seine Filialdatei oder in die Datei, mit den übrigen Metadaten unverändert, und die Zeile unter der Überschrift sagt, wie weit es ist. Undo legt die Stichwörter jedes Bildes wieder so zurück, wie sie waren. Bilder auf einem nicht angeschlossenen Laufwerk werden geschrieben, wenn das Laufwerk zurück ist; das Panel sagt, wie viele warten.
  • Eine Suche nach einem Synonym findet die Bilder des Stichworts, und eine exportierte Datei trägt die Synonyme. Ein Stichwort, das nicht exportiert wird, bleibt in deinen eigenen Dateien und fehlt in den exportierten.
  • + New fügt der Liste ein Stichwort hinzu und importiert oder exportiert die Liste im Textformat von Lightroom (Metadata → Export Keywords und Import Keywords in Lightroom): ein Stichwort pro Zeile, ein Tabulator tiefer pro Ebene, {Synonym} und [not exported].
  • Paint with It macht das Stichwort zum Pinsel-Stichwort: Shift+K oder Metadata → Paint Keyword setzt es auf die ausgewählten Bilder — oder das auf dem Bildschirm — und entfernt es, wenn alle es haben. Die Infoleiste zeigt es; klicke dort darauf, um mit dem Malen aufzuhören.

Über die API liefert /api/library/keywords den Baum mit Anzahlen, und seine Routen benennen ein Stichwort um, führen zusammen, verschieben und löschen es, machen rückgängig, setzen Synonyme, lesen und schreiben die Liste im Format von Lightroom und setzen das Pinsel-Stichwort und malen damit (client.library.keywords(), renameKeyword() und die übrigen).

Laufwerke und Duplikate#

0:15
Auf Englisch erzählt, mit Untertiteln. Wird von YouTube abgespielt, sobald Sie auf Wiedergabe drücken.
Disks & Duplicates nach dem Scan eines Ordnerbaums. Jede Gruppe ist ein Bild und jede gefundene Kopie davon — und die Beziehung sagt, was für eine Kopie jede ist, damit du weißt, ob ihr Löschen etwas verliert.
Disks & Duplicates nach dem Scan eines Ordnerbaums. Jede Gruppe ist ein Bild und jede gefundene Kopie davon — und die Beziehung sagt, was für eine Kopie jede ist, damit du weißt, ob ihr Löschen etwas verliert.

Disks & Duplicates unten im Panel, oder Library → Disks & Duplicates, enthält die Werkzeuge für Kopien und Laufwerke.

Ein Laufwerk hinzufügen#

Laufwerke: jede Quelle der Bibliothek, angeschlossen oder nicht, mit dem, was darauf katalogisiert ist, und den Ordnern, die ausgelassen werden.
Laufwerke: jede Quelle der Bibliothek, angeschlossen oder nicht, mit dem, was darauf katalogisiert ist, und den Ordnern, die ausgelassen werden.

Drücke auf dem Tab Disks Add folder or disk… und wähle einen Ordner oder die oberste Ebene eines Laufwerks. Das ist eine Quelle. Angeschlossene Laufwerke, die noch keine Quellen sind, stehen darunter unter „Connected, not in the library“, jeweils mit einer Add-Taste.

Eine Quelle wird an der Volume-UUID des Laufwerks erkannt, nicht an seinem Pfad, sodass ein Laufwerk, das nächsten Monat an anderer Stelle eingebunden wird, dieselbe Quelle bleibt und alles darauf bereits Gescannte erhalten bleibt.

Quellen dürfen sich nicht überlappen. Ist /Volumes/Archive eine Quelle, kann /Volumes/Archive/2019 nicht ebenfalls eine sein — dieselbe Datei unter zwei Quellen würde als Duplikat ihrer selbst gefunden. Entferne die erste, wenn du die zweite willst.

Um einen Ordner auszulassen, tippe seinen Pfad relativ zur obersten Ebene der Quelle in „folder to skip“ und drücke Skip folder. Das Auslassen löscht sofort, was darunter schon katalogisiert ist, und sagt, wie viele Dateien es waren. Das Aufheben bringt sie nicht zurück; der Ordner wird beim nächsten Scan neu durchlaufen.

Manche Orte werden nie durchlaufen: Systemordner, ~/Library, der Papierkorb, Fotos-Mediatheken, .git und node_modules.

Scannen#

Scan connected disks scannt jede angeschlossene Quelle; jede Quellkarte hat ihr eigenes Scan nur für sich. Die Taste wird zu Cancel scan, solange einer läuft, und ein Abbruch greift ab der nächsten Datei.

Ein Scan läuft in fünf Durchgängen, und die Statuszeile nennt den aktuellen:

  1. Listing files — nur Verzeichniseinträge. Nichts wird gelesen.
  2. Reading headers — der Container, die Aufnahmezeit, die Bewertung und ein billiger Fingerabdruck der ersten 64 kB.
  3. Comparing possible copies — die ganze Datei und ihre Bilddaten werden gehasht, aber nur bei Dateien, deren billiger Fingerabdruck schon etwas anderem gleicht. Die meisten Dateien werden nie über ihren Header hinaus gelesen.
  4. Comparing raw data — die Sensorwerte werden dekodiert, für eine Aufnahme, die als zwei Dateien mit unterschiedlichen Bilddaten existiert. Das verbindet eine CR2 mit der daraus gemachten DNG.
  5. Comparing images without metadata — aus, es sei denn, du verlangst es. Siehe unten.

Die Ergebnisse erscheinen, während der Scan noch läuft: Die Gruppen werden alle paar Sekunden neu berechnet, wenn neue Hashes eintreffen, und am Ende noch einmal.

Es läuft immer nur ein Scan, und eine Quelle lässt sich nicht entfernen, während einer läuft.

Bilder ohne Kamera-Metadaten#

Der Tab Disks hat eine Einstellung: Also compare images without camera metadata by how they look (slower). Ist sie an, fügt der Scan für Dateien ganz ohne Aufnahmeidentität — Bildschirmfotos, Downloads, alles ohne EXIF — einen Wahrnehmungs-Hash hinzu und ordnet sie nach dem Aussehen zu.

Sie ist standardmäßig aus, weil sie von jeder solchen Datei eine Vorschau dekodiert. Die Schwelle ist bewusst eng: Eine neu kodierte oder skalierte Kopie eines Bildes bleibt innerhalb weniger Bits, das eine halbe Sekunde später aufgenommene Bild nicht.

Einstellungen gelten ab dem nächsten Scan, nicht rückwirkend.

Vorschauen jedes Bildes#

Die Bibliothek bewahrt auf diesem Computer eine kleine Vorschau jedes Bildes auf, sodass sich ein Laufwerk auch abgezogen durchsehen lässt. Ein Scan erzeugt sie aus der Vorschau, die die Kamera in die Datei gelegt hat, während er die Datei ohnehin liest; ein in photosuite geöffneter Ordner bekommt sie ohne Scan. Ein Bild, das du entwickelst, freistellst oder drehst, wird so gezeigt, sobald die Änderung gespeichert ist, und wieder wie aufgenommen, wenn du es zurücksetzt.

Stored previews auf dem Tab Disks legt ihre Größe fest — 256, 384 oder 512 Pixel an der langen Kante, oder keine — und sagt, wie viel Platz sie brauchen. Eine neue Größe wird beim nächsten Scan erzeugt. Eine Kamera, die keine Vorschau in ihre Dateien legt (manche von vor 2005), bekommt keine.

Sicherungen#

Das meiste, was die Bibliothek weiß, kommt mit einem Scan zurück, weil die Markierungen und Wörter in den Bildern stehen. Deine Alben, gespeicherten Suchen und was wohin verschoben wurde, kommen nicht zurück, deshalb wird die Bibliothek gesichert — jede Woche, sofern du nichts anderes wählst, und vor jedem Update, das ihre Speicherung ändert. Der Tab Disks sagt, wie oft, wie viele Sicherungen behalten werden (acht, sofern du nichts anderes wählst) und wohin sie gehen: in einen Ordner deiner Wahl, oder sonst in einen Ordner auf einem anderen Laufwerk der Bibliothek als dem dieses Computers, damit ein ausfallendes Laufwerk nicht beides mitnimmt. Jede Sicherung enthält außerdem jedes Album als einfache Liste seiner Bilder.

Die Bibliothek wird vor jeder Sicherung geprüft, und eine beschädigte wird nie über die guten Sicherungen gesichert. Ist sie beschädigt, sagt die Infoleiste das und bietet Restore from Backup… an; stehen die Sicherungen seit dem Doppelten ihres Intervalls still, bietet sie Back Up Now an. Restore… neben einer Sicherung bringt die Bibliothek so zurück, wie sie damals war, mit Alben und gespeicherten Suchen, und scannt die angeschlossenen Laufwerke, damit zurückkommt, was sich seitdem in den Bildern geändert hat.

Auf deinen anderen Geräten#

Dein Telefon und deine anderen Computer können die Alben und Ordner, die du auswählst, ohne die Dateien durchsehen, mit FLOGVIT.plus. Klicke in der Library-Ansicht mit der rechten Maustaste auf ein Album oder einen Ordner und hake Available on My Devices an: eine Vorschau jedes Bilds darin — entwickelt, zugeschnitten und gedreht, wie es hier ist — geht auf die Website von photosuite, zusammen damit, wann und womit es aufgenommen wurde. Nimm den Haken weg, und sie werden wieder entfernt. Nichts geht dorthin, ohne dass du es dorthin legst, denn die Vorschauen belegen Platz auf der Website.

Sterne, Flaggen, Farbmarkierungen, Entwicklung, Zuschnitt und IPTC folgen dir ohnehin zwischen deinen Computern, für jedes Bild, wenn Keep marks and edits in step with my other devices in den Einstellungen eingeschaltet ist.

Wenn Dateien wandern oder verschwinden#

Ein Laufwerk der Bibliothek wird im Hintergrund gescannt, wenn es angeschlossen wird; die Infoleiste sagt, was der Scan tut, und hat eine Taste, die ihn anhält. Nur was sich seit dem letzten Scan geändert hat, wird neu gelesen.

Ein in photosuite umbenannter oder verschobener Ordner, in einen anderen Ordner verschobene Bilder und ein Stapel-Umbenennen ändern die Bibliothek sofort, und die Alben behalten ihre Bilder an den neuen Pfaden. Im Finder verschoben, wird ein Bild beim nächsten Scan wiedergefunden, wo immer es nun auf einem Laufwerk der Bibliothek liegt: derselbe Dateiinhalt oder dieselbe Aufnahme derselben Kamera an einem neuen Pfad. Es behält alles, was daran hängt, und die Alben folgen.

Eine Datei, die der Scan nirgends findet, ist missing, nicht vergessen. Jede Quellkarte auf dem Tab Disks listet ihre fehlenden Dateien mit ihrem letzten Pfad. Locate… fragt nach dem Ordner, in dem eine davon jetzt liegt, und jede fehlende Datei aus ihrem alten Ordner, die dort unter demselben Namen liegt, folgt. Forget ist für Dateien, die endgültig weg sind. Fehlende Dateien bleiben aus Suchen und den Duplikatgruppen heraus.

Was „dasselbe Bild“ bedeutet#

Zwei Dateien können auf sechs verschiedene Weisen gleich sein, und welche es ist, entscheidet, ob du eine gefahrlos wegwerfen kannst. Die Beziehung steht neben jeder Datei, grün, wenn die Kopien austauschbar sind, und gelb, wenn nicht.

Beziehung Was sie bedeutet Gefahrlos eine löschen?
Identical file Byte für Byte dieselbe Datei. Ja
Same image, different metadata Dieselben Pixel; Bewertungen, Stichwörter oder IPTC unterscheiden sich. Ja, aber zuerst die Metadaten zusammenführen
Same raw data, different file Dieselben Sensorwerte in einem anderen Container oder einer anderen Kompression — ein RAW und seine verlustfreie DNG. Ja
Same capture, different version Eine Belichtung, zwei Bilder: ein Export, eine Bearbeitung, eine verlustbehaftete DNG. Nein — die Pixel unterscheiden sich
Looks identical (no metadata) Auf keiner Seite eine Aufnahmeidentität, aber sie sehen gleich aus. Erscheint nur mit eingeschalteter Wahrnehmungseinstellung. Selbst beurteilen
Related In dieser Gruppe nur über eine andere Datei. Selbst beurteilen

Die ersten drei nennt die App austauschbar: Eine davon zu löschen verliert höchstens Metadaten. Der Rest sind Fassungen, und eine Fassung ist ein anderes Bild.

Die Aufnahmeidentität ist Marke und Modell der Kamera plus die Aufnahmezeit bis auf Sekundenbruchteile. Ohne Sekundenbruchteile teilt sich eine ganze Serie einen Schlüssel, deshalb gelten sie nie als dieselbe Aufnahme. Die Seriennummer des Gehäuses ist bewusst nicht Teil des Schlüssels, weil Exporte sie entfernen — tragen aber beide Dateien eine und unterscheiden sie sich, wird die Zuordnung abgelehnt.

Entscheiden, was bleibt#

Der Tab Duplicates listet Gruppen, die mit dem meisten zurückzugewinnenden Platz zuerst, mit einem Filter-Chip pro vorkommender Beziehung. Wähle eine Gruppe, und jede Kopie wird rechts mit einer Vorschau und ihren Daten ausgelegt: Größe, Abmessungen, Kamera, Aufnahmedatum, Bewertung und auf welchem Laufwerk sie liegt.

  • Keep markiert die, die bleibt. Sie beginnt bei der ersten angeschlossenen Datei der Gruppe.
  • Trash markiert eine Datei, die gehen soll. Eine Datei auf einem nicht angeschlossenen Laufwerk lässt sich nicht markieren.
  • Mark all interchangeable copies hakt jede Datei an, die dasselbe Bild ist wie die, die du behältst — der übliche Fall, mit einem Druck.
  • Move N files to Trash fragt noch einmal und verschiebt sie dann.

Abzeichen warnen dich, bevor du etwas verlierst: has .xmp sidecar, has develop settings or edit history, disk not connected, inside a folder copy.

Zwei Sicherungen, an denen du nicht aus Versehen vorbeikommst. Eine ganze Gruppe lässt sich nie wegwerfen — eine Datei bleibt immer. Und etwas zu markieren, das nicht dasselbe Bild ist wie das, das du behältst — ein Export, eine Bearbeitung —, verlangt, Yes, trash those versions too anzuhaken, denn diese Pixel gibt es nirgends sonst.

Wegwerfen heißt: in den Papierkorb des Systems. Die Dateien lassen sich wiederherstellen, bis du ihn leerst; der Katalog vergisst sie sofort. Filialdateien gehen mit ihrer Datei, außer einer Filialdatei, die mit einer anderen Datei im selben Ordner geteilt wird — sie bleibt.

Eine Datei, deren Größe oder Änderungszeit nicht mehr zu dem passt, was der Scan festgehalten hat, wird nie weggeworfen — sie wird stattdessen als „file changed since it was scanned“ gemeldet.

Zuerst die Metadaten zusammenführen#

Merge metadata into kept copy holt Bewertung, Markierung, Farbmarkierung, GPS, Stichwörter, Personen, IPTC-Text und den Copyright-Vermerk aus den anderen Kopien in die, die du behältst. Die eigenen Werte der behaltenen gewinnen; die anderen füllen nur, was ihr fehlt. Stichwörter und Personen werden vereinigt. Ist die behaltene im Hauptfenster geöffnet, ändern sich ihre Sterne und Markierung dort sofort.

Was ein Zusammenführen nicht bewegt, wird dir aufgelistet: Freistellungen, Entwicklungseinstellungen und Ausrichtung bleiben, wo sie sind. Trägt eine Kopie, die du wegwerfen willst, eine Bearbeitung, rettet das Zusammenführen sie nicht.

Ordnerkopien#

Ordnerkopien: ganze Ordner, deren Bilder dieselbe Menge sind. Ein Sicherungsordner passt auch dann noch, wenn ein Konverter neue Metadaten in seine Dateien geschrieben hat, weil auf den Bildern verglichen wird und nicht auf den Bytes.
Ordnerkopien: ganze Ordner, deren Bilder dieselbe Menge sind. Ein Sicherungsordner passt auch dann noch, wenn ein Konverter neue Metadaten in seine Dateien geschrieben hat, weil auf den Bildern verglichen wird und nicht auf den Bytes.

Der Tab Folder copies arbeitet eine Ebene höher: ganze Ordner, deren Bilder dieselbe Menge sind. Ein Sicherungsordner passt auch dann noch, wenn ein Konverter neue Metadaten in seine DNGs geschrieben hat, weil auf austauschbaren Mengen verglichen wird und nicht auf Bytes.

Verschachtelte Treffer werden zum äußersten Ordner zusammengefasst. Ein Ordner eines Treffers muss immer bleiben, und die oberste Ebene einer Quelle wird nie weggeworfen — entferne stattdessen die Quelle.

Sind die Kopien nicht alle identisch, wird dir das gesagt, in genau diesen Worten, bevor sich etwas bewegt: Die Bilder sind dieselben, aber manche Kopien tragen Bewertungen, Stichwörter oder Bearbeitungen, die den anderen fehlen.

Gruppen, die ganz in einem zugeordneten Ordnerpaar liegen, sind im Tab Duplicates ausgeblendet, da die Ordnerzeile sie schon vertritt. Deshalb ergeben die beiden Zahlen zusammen nicht die Summe.

Eine Quelle entfernen#

Remove vergisst die Quelle und alles, was darauf katalogisiert ist. Die Dateien auf dem Laufwerk werden nicht angerührt.

Ein Laufwerk, das du abziehst, bleibt in der Bibliothek. Seine Dateien erscheinen weiter in Gruppen, gekennzeichnet mit disk not connected, und zählen weiter zu dem, was du zurückgewinnen könntest — sie lassen sich nur nicht wegwerfen, bis es zurück ist.

Über die API#

0:11
Auf Englisch erzählt, mit Untertiteln. Wird von YouTube abgespielt, sobald Sie auf Wiedergabe drücken.

Alles oben ist client.library im SDK.

import { CullingClient } from './photosuite-sdk.mjs';

const client = new CullingClient();   // 127.0.0.1:9100, token from CULLING_API_TOKEN

const source = await client.library.addSource('/Volumes/Archive');
await client.library.exclude(source.id, 'Proofs');

// Scans, then waits for the grouping that follows it.
await client.library.scanAndWait();

const page = await client.library.results({ relation: 'identical', limit: 50 });
if (page.stats) {
  console.log(`${page.stats.groups} groups, ${page.stats.recoverableBytes} bytes recoverable`);
}

for (const group of page.groups) {
  const [keeper, ...rest] = group.files;
  if (!keeper) continue;
  await client.library.mergeMetadata(keeper.id, rest.map((f) => f.id));
  const report = await client.library.trash(rest.map((f) => f.id));
  for (const skip of report.skipped) console.warn(`kept ${skip.path}: ${skip.reason}`);
}

scanAndWait gibt es, weil ein fertiger Scan nicht dasselbe ist wie fertige Ergebnisse: Die Gruppierung läuft danach. Wer nur scanStatus() abfragt, findet einen Moment lang ein leeres results().

Der Fortschritt kommt auch als Ereignisse — library_scan_started, library_scan_progress, library_scan_finished, library_results_changed und library_sources_changed:

client.on('library_scan_progress', (p) => {
  console.log(`${p.phase}: ${p.hashDone}/${p.hashTotal}`);
});

missing(), relink(id, folder) und forgetMissing(ids) tun, was die Liste fehlender Dateien auf dem Tab Disks tut, und preview(id) liefert die gespeicherte Vorschau einer Datei als JPEG-Bytes. backups(), backUp() und restore(path) tun, was die Zeile Backups tut.

Zwei Dinge solltest du wissen, bevor du das Löschen automatisierst. trash() verweigert die letzte Kopie eines Bildes in seiner Gruppe, es sei denn, du übergibst allowLastOfCluster — übergib es nicht, um ein Skript leiser zu machen. Und results() kann mit ready: false zurückkommen, solange die erste Gruppierung noch läuft; scanAndWait berücksichtigt das schon, eine selbst geschriebene Abfrageschleife muss es selbst tun.

Jede Route steht in der API-Referenz unter Analyze.

Wo sie liegt#

Eine SQLite-Datei, library.sqlite, im Ordner library des Einstellungsordners (~/Library/Application Support/flogvit/), mit den gespeicherten Vorschauen und den Sicherungen daneben. Sie enthält Pfade, Größen, Hashes und Metadaten — nie Bilddaten. Die Markierungen und Wörter kommen mit einem Scan aus den Bildern zurück, aber deine Alben, gespeicherten Suchen, Shootings und was wohin verschoben wurde, gibt es nur dort: Willst du neu anfangen, stelle eine Sicherung wieder her, statt sie zu löschen.

Hast du FLOGVIT.duplicates genutzt, wird dessen Datenbank beim ersten Öffnen der Bibliothek importiert, samt Hashes, damit ein neuer Scan keine Laufwerke lesen muss, die vielleicht gar nicht angeschlossen sind. Das geschieht einmal und nur in eine Bibliothek, die noch leer ist.

esc
    ↑↓ navigieren↵ öffnen