OpenShoot

Nach jedem Shooting das gleiche Ritual: 2.000 Frames auf der SD-Karte, von denen am Ende vielleicht 50 bleiben. Genau für diesen einen Schritt – vom vollen Kartenslot zur kuratierten Auswahl – ist OpenShoot entstanden: eine local-first Culling-App für macOS, gebaut für meinen Workflow Sony A7 IV → darktable → NAS.

OpenShoot ist bewusst kein RAW-Editor und kein Bibliotheksverwalter. Karte rein, App startet automatisch, sichten, bewerten, fertig.

Sofort sichtbar

Statt RAWs zu dekodieren, zieht OpenShoot per exiftool das eingebettete JPEG aus jeder .ARW-Datei und baut mit sharp Grid-Thumbnails und eine ~2560px-Loupe-Ansicht – plus ThumbHash-Platzhalter, damit keine Kachel schwarz aufblitzt. Alles landet in einem SQLite-Cache: Beim zweiten Öffnen einer Karte steht das Grid sofort.

Bursts und der schärfste Frame

Serienbilder werden über Aufnahmezeit und perzeptuellen Hash (DCT-pHash) zu Bursts gruppiert, die Schärfe per Laplacian-Varianz bewertet – und der schärfste Frame der Serie als Pick vorgeschlagen. Ganz ohne ML und ohne Cloud.

Bewerten wie in Lightroom, steuern wie im Studio

  • Unabhängige Ratings – Sterne, Farblabels und Pick/Reject-Flags funktionieren getrennt voneinander; ein Flag überschreibt nie die gerade vergebene Bewertung.
  • Loupedeck+ als Controller – das Gerät wird als class-compliant USB-MIDI-Controller über Web MIDI gelesen, ein On-Screen-HUD bestätigt jeden Befehl.
  • darktable-kompatible XMP-Sidecars – Ratings und Farblabels landen in .xmp-Dateien, bestehende Sidecars werden gepatcht, ohne die Develop-History anzufassen.

Am Ende: nur die Keeper aufs NAS

Der „Done"-Schritt hasht jeden Keeper mit SHA-256, schreibt ein Inventar nach SQLite und übergibt den eigentlichen Transfer an rsync – bewährte Technik statt selbstgebauter Sync-Logik. Sonys .HIF-Fotos (HEVC-HEIF, das sharps libheif nicht dekodieren kann) laufen dabei über das native sips von macOS.

OpenShoot ist ein Werkzeug, das ich für mich selbst gebaut habe – und seitdem ist das Sichten nach dem Shooting der schnellste Teil des Workflows.

Sprachen

  • TypeScript60.0%
  • Vue40.0%

Aktivität

6 Commits in dieser Stunde