Un logiciel de contrôle de version est-il utilisé pour les photos?

34

Je suis un développeur de logiciels dans l'âme et par métier, et je passe beaucoup de temps à développer des outils de développement ... L'un des types d'outils de développement les plus utiles est le contrôle de version . Pour les non-initiés, il fonctionne comme suit:

  • Créer un fichier
  • Commencer à travailler sur le fichier
  • Archiver le fichier (en créer une version 1)
  • Ouvrir le fichier et éditer à nouveau
  • Archiver à nouveau (version 2)
  • Réalisez que vous avez supprimé quelque chose d'important de la version 1, remontez dans le temps, récupérez ce que vous avez supprimé ...
  • ...
  • Profit...

Quoi qu'il en soit, je me demande si quelque chose de similaire est utilisé avec des photos? Essentiellement, je pensais à quelque chose comme:

  • Importer des photos (V1).
  • Commencez à marquer les photos (les voitures latérales V2 ... XMP ne devraient vraiment changer que là).
  • Commencez à ajouter des étoiles, plus de tags (V3)
  • Commencez à ajuster certains paramètres (V4 +)

Avec le flux ci-dessus, vous devriez pouvoir suivre beaucoup plus de changements ... et vous donner une sorte de stratégie de sauvegarde ...

TiernanO
la source

Réponses:

32

Les applications de flux de travaux photographiques telles qu'Adobe Lightroom et Aperture d'Apple fournissent ce type d'historique intégré à leurs fonctionnalités.

Lorsque vous modifiez un fichier RAW dans ceux-ci, aucune modification n'est jamais apportée à l'image d'origine. Au lieu de cela, elles sont enregistrées séparément sous forme d'instructions. Ainsi, vous pouvez voir un historique de toutes les modifications apportées et, avec un clic de souris, revenir à n'importe quel point précédent de manière non destructive.

Si vous utilisez uniquement Photoshop, cela ne se produit pas et vous devez enregistrer manuellement différentes versions de votre photo avant de travailler dessus à chaque fois.

(J'imagine qu'il n'y a aucune raison pour que vous ne puissiez pas utiliser un référentiel SVN pour les photos? C'est-à-dire des fichiers binaires?)

Mike
la source
1
Lightroom conserve l'historique d'une session de montage, mais cet historique persiste-t-il si vous fermez Lightroom et rouvrez ultérieurement l'image du catalogue? Je sais que vous avez toujours le fichier RAW original, mais pouvez-vous obtenir arbitrairement une version quelque part entre l’original et la dernière à tout moment?
MikeW
2
Oui! Si vous supprimez l’image du catalogue et que vous la rajoutez à nouveau, elle ne sera supprimée que si elle est supprimée. Ensuite, vous partiriez de zéro. Mais sinon, l'histoire est maintenue.
Mike
Digikam fournit la même fonctionnalité d'instructions.
Unapiedra
4
En plus du journal de l'historique, Lightroom vous permet de créer un "instantané", qui vous permet d'attribuer une étiquette aux paramètres de développement actuels et d'y revenir facilement. Un peu comme le marquage en SVN. lightroomkillertips.com/2009/whats-a-lightroom-snapshot Certains outils, tels que les plugins de Jeffrey Friedl, peuvent être configurés pour créer automatiquement un instantané chaque fois que vous exportez vers des services tels que Flickr. regex.info/blog/lightroom-goodies [J'ai écrit ceci simultanément avec fzwo ... désolé pour toute redondance avec son commentaire.]
coneslayer
2
Si vous souhaitez une fonctionnalité de contrôle de version complète, vous pouvez simplement contrôler le code source des fichiers d’aide latérale comme tout autre fichier (il s’agit d’un texte balisé en interne). Ensuite, vous n'êtes pas limité à l'historique, mais vous pouvez créer des "branches" avec des types d'effets complètement différents, si vous le souhaitez. Le logiciel devrait vous permettre d’appliquer un nouveau fichier sidecar à n’importe quelle image RAW donnée, du moins la mienne.
rumtscho
8

Changements Virtuels

J'utilise Lightroom v3 et ce produit a un flux de travail non destructif. Cela me permet d’apporter des modifications à mes images dans un sens virtuel.

Contrôle de version

J'utilise ensuite SVN pour garder le contrôle du catalogue Lightroom (une simple base de données SQLite), ce qui me permet essentiellement de contrôler les versions sur les modifications virtuelles.

Redondance

J'ai une configuration RAID 6 qui contient le support pour la redondance et un cycle de clés USB en tant que système de sauvegarde en rotation.


Bien que cela ne fonctionne pas pour tout le monde, cela fonctionne pour moi. De plus, cela me permet d’utiliser plusieurs machines et d’avoir le même catalogue LR (en utilisant le cycle svn commit / update).

Extrait de l'article de blog ici :

Lightroom est installé sur deux ordinateurs équipés d’un serveur RAID 6 et je me suis toujours efforcé de tout synchroniser pour me faciliter la vie, d’une machine à l’autre.

Après quelques décisions, j'ai maintenant déplacé mes photos vers le partage \ server \ et le catalogue est suivi via subversion! Cela rend tout tellement plus facile entre les machines.

Ce que j'ai fait est de créer un référentiel contenant le catalogue Lightroom. J'ai ajouté une exception pour ne pas inclure les fichiers de prévisualisation, car Subversion pose quelques problèmes.

Maintenant, mes étapes sont les suivantes:

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
la source
Cool. Ainsi, votre serveur SVN ne contient que le catalogue et votre serveur de fichiers contient les images réelles ... et le catalogue pointe-t-il sur les fichiers du serveur? correct? Peut-être essayer ceci.
TiernanO
@TiernanO - Correct. C’est ainsi que j’ai configuré mon infrastructure / mon flux de travail
Wayne, le
c'est super. Nous importons actuellement environ 200 Go de photos dans un seul catalogue Lightroom et commencerons à jouer avec cette idée ... espérons que cela fera ce que j'ai besoin de faire! Merci pour le conseil!
TiernanO
@Tierno - Vous devriez être d'accord avec ça. Je pense que toutes les limites rencontrées concerneront les contraintes SQLite sur lesquelles, en tant que développeur, vous pouvez certainement effectuer des recherches. (Pour info: SQLite Manager pour Firefox fonctionne très bien avec ce catalogue)
Wayne,
@TiernanO - Je serais intéressé de savoir si cela a effectivement fonctionné pour vous comme cela l'a été pour moi
Wayne le
4

Je pense que vous pouvez utiliser git-annexe (pour gérer les photos et les sauvegardes) avec une télécommande bup (pour la traduction). Je suis actuellement à la recherche moi-même en fait.

git-annex garde la trace de vos fichiers en utilisant git, en validant des liens symboliques vers vos fichiers. Les fichiers eux-mêmes ne sont pas ajoutés au référentiel. Une fois vos photos "annexées", si vous clonez votre référentiel (sur un disque dur externe par exemple), vous pouvez demander au clone de récupérer les fichiers (ou une partie d’eux) associés au référentiel sur le disque dur. git-annex garde trace du dépôt qui contient une copie de chaque fichier. De cette façon, vous pouvez diviser une sauvegarde sur deux petits disques durs et vous assurer qu'aucune photo n'a été oubliée.

Dis que tu es en voyage. Vous avez pris des photos qui sont copiées sur votre ordinateur portable. Vous pouvez cloner le référentiel git qui se trouve sur votre serveur ssh chez vous, la synchroniser avec celui-ci, ajouter vos photos locales à git-annex à votre collection et transférer les modifications sur votre serveur. Ensuite, vous poussez les fichiers eux-mêmes.

git-annex garde la trace des modifications apportées à votre collection, mais ne conserve que la dernière version de vos photos. Pour transférer des fichiers, vous pouvez ajouter une télécommande bup spéciale à votre dépôt git-annex. Je n'ai pas encore étudié la question car je ne suis pas sûre d'en avoir besoin, mais cela devrait faire ce que vous voulez. Voir ceci ou ceci .

barsanuphe
la source
édité ma réponse.
barsanuphe
de plus, le développeur derrière git-annex organise actuellement un kickstarter pour faciliter les choses aux moins expérimentés.
barsanuphe
2

J'utilise Lightroom pour éditer des images et conserver un historique des versions. Si vous souhaitez utiliser Photoshop, le contrôle de version est presque intégré: Adobe Drive et Version Cue. Je pense que Version Cue n'est qu'une partie de Creative Suite, FYI.

Dan Wolfgang
la source
2

Pixel Novel se connecte à Photo Shop et fonctionne avec tous les serveurs Subversion que vous avez déjà ou je pense que vous pouvez acheter un référentiel auprès d’eux.

http://pixelnovel.com/

Ils l'appellent "Contrôle de version pour les concepteurs"

BZink
la source
2

J'utilise Photoshop et Adobe Camera Raw au lieu de Lightroom, aussi j'utilise le contrôle de version pour les fichiers XMP qui analysent les paramètres de conversion bruts afin de suivre les modifications. Cela fonctionne vraiment bien car les fichiers XMP ne sont que du XML. Il est pratique d’effectuer d’abord toutes les corrections de couleurs, d’archiver les fichiers XMP, puis de rogner sur les formats d’image non standard. De cette façon, je peux rapidement revenir à une version non recadrée si je dois imprimer des images au format 3x2 d'origine.

Je sais que Photoshop possède son propre système intégré de suivi des révisions, mais il s'agit d'utiliser des outils que je connais mieux. Il existe d'autres outils de codage utiles, tels que la génération de scripts / l'automatisation de la construction. Je peux par exemple émettre une seule commande pour "construire" un ensemble de photos à l'aide de fichiers XMP non rognés destinés à l'impression, qui convertira le processus en renommant et en affichant toutes les images d'un ensemble. C'est vraiment facile si vous savez déjà comment faire pour les logiciels!

Vous pouvez ajouter des fichiers binaires à un référentiel, mais cela nécessite beaucoup de stockage et vous n'obtenez aucune information diff utile lorsque vous comparez différentes versions.

Ceci est destiné aux conversions brutes régulières, au réglage de l'exposition, à la balance des couleurs, etc. Pour un travail plus complexe avec Photoshop, je fais tout ce que je peux avec des calques de réglage et des filtres intelligents, mais je ne suis pas encore au point de pouvoir tout faire. de manière non destructive, pour le moment, je viens de sauvegarder plusieurs versions du fichier .PSD.

Matt Grum
la source
vous pouvez aussi configurer lightroom pour qu’il utilise les fichiers XMPP ... j’utilisais cela auparavant, et fonctionne très bien.
TiernanO
2

Je suis également développeur de logiciels et j'ai essayé d'utiliser Git et SVN pour les fichiers RAW et XMP volumineux, juste pour pouvoir synchroniser mes images entre les disques amovibles et la version XMP. Il était insupportablement lent et a ralenti avec le temps, au fur et à mesure que j'ai ajouté plus de fichiers. J'utilise aussi Lightroom pour l'histoire, alors je suis retourné à rsync.

Maintenant, je regarde aussi dans git-annex et jusqu’à présent, c’est agréable et rapide. Il présente également l’avantage supplémentaire de contrôler chaque fichier RAW, ce qui vous permet de voir si un disque dur défectueux a gâché vos images depuis l’importation. C'est un avantage énorme pour moi, car je peux tester mes sauvegardes pour m'assurer qu'elles ne se sont pas dégradées par le biais de copies / pourriture de bits. Je prévois de ne gérer que les versions XMP et d'annexer les fichiers RAW. git-annex peut faire les démarches nécessaires pour savoir où se trouvent les choses, et je peux être sûr que tout est sur mon serveur en cours de sauvegarde, ainsi qu'une copie de travail sur mon ordinateur portable si je le souhaite.

Vous pouvez également avoir une télécommande Amazon Glacier, alors j'ai lu, mais je n'ai pas encore essayé.

Adam Watkins
la source
1

Découvrez notre Daminion. C'est un logiciel de gestion de photos (multi-utilisateurs) qui prend en charge le contrôle de version pour vos photos archivées et autres formats multimédias.

Daminion Version Control

La version Daminion pour un utilisateur unique est gratuite, vous pouvez donc la télécharger et la consulter dès maintenant .

Murat - Logiciel Daminion
la source
14
Salut Murat! Vous avez été autour pendant un certain temps, et vos messages sur Daminion sont généralement sur le sujet et utile, et comprennent le désistement approprié de l'affiliation. Mais je ne peux m'empêcher de remarquer que toutes vos réponses suggèrent d'essayer Daminion et, à partir de la FAQ : "Si un pourcentage considérable de vos publications incluent une mention de votre produit ou de votre site Web, vous êtes probablement ici pour les mauvaises raisons . " S'il vous plaît, envisagez d'écrire des réponses aux questions sans lien avec votre produit.
Mattdm
Merci pour l'explication, Matt. Aucun problème. Mais comme vous l'avez bien noté, tous mes messages fournissent des réponses utiles aux questions.
Murat - Daminion Software le
0

Je n'utilise probablement pas le contrôle de version source, comme Git ou SVN, et n'utiliserai probablement jamais, à cause de la taille même des fichiers concernés. Chaque fichier brut mesure entre 20 et 30 Mo. Les modifications touchent souvent chaque pixel de l’ensemble de l’image, ce qui réduit l’efficacité du "suivi des modifications".

Pour une seule image, je pouvais facilement voir un référentiel SVN de 200 Mo au lieu de peut-être 60 Mo si je devais simplement enregistrer une copie de l'original et une copie de l'image finale.

Xeoncross
la source
3
Si vous utilisez des fichiers RAW, vous ne devriez pas modifier l’image RAW réelle, mais juste un side car XMP. Si vous modifiez l'image RAW, GIT enregistre uniquement les modifications, pas le fichier complet ... GIT n'est peut-être pas la meilleure option (SVN non plus) car il s'agit de fichiers volumineux, mais certaines options fonctionnent bien pour gros fichiers ...
TiernanO
0

Voici une prise pour Apple Aperture. La beauté d'Aperture réside dans le fait qu'il offre environ 95% des fonctionnalités de Photoshop que les photographes souhaitent (vous ne pouvez pas créer de texte enflammé, bâillez), et que l'édition est contrôlée de manière très légère.

Cela fonctionne avec les formats JPEG et autres, ainsi que le format RAW.

Vous pouvez même faire un "aller-retour" avec des éditeurs externes, tels que Photoshop, mais ceux-ci sauvegardent nécessairement une copie complète de l'image, plutôt qu'un filtre léger appliqué à une image principale.

Jan Steinman
la source
0

Il y a une bonne discussion à ce sujet ici: https://www.impulseadventure.com/photo/flow-catalog-versions.html

Il existe des différences significatives entre le référentiel de code et le DAM d'image.

  1. L'utilisation des images a tendance à être un arbre à plusieurs branches. Bien que vous ayez des branches dans le code, l'objectif est généralement de les minimiser. En utilisation d'image, vous pouvez vous retrouver avec des situations comme celle-ci

Maîtriser

--- recadrée et aiguisée.

--- --- Résolution réduite pour Facebook

--- --- Grande miniature pour la galerie

--- --- Moyenne vignette pour la galerie

--- --- Petite vignette pour la galerie.

--- --- Grande version avec filigrane pour la galerie

--- --- --- Version noir et blanc avec filigrane

--- --- --- Version noir et blanc

--- --- Récolte spéciale pour le client.

--- --- Couleurs de couleurs ajustées pour différents clients

(J'ai fait une page Web où chaque image avait 18 résolutions différentes.)

  1. Le code a tendance à avoir de petites différences entre les versions. Dans un checkin typique, seulement quelques pour cent des modifications de code. Dans une image, la plupart des pixels changent en partie, et le gain de place lié au stockage des modifications uniquement est faible.

  2. Dans un référentiel de code, vous êtes concerné par les modifications du niveau de bit. Une ligne de code ici, la valeur d'une constante ici. Dans la manipulation d'images, l'historique des étapes que vous avez effectuées est plus significatif.

  3. Le travail sur l'image a tendance à être beaucoup moins collaboratif que le code. Bien que les graphistes puissent prendre une image existante et y superposer des illustrations, la plupart des images sont gérées par une seule personne tout au long de leur vie. (Ceci est différent dans la vidéo / film.)

  4. Dans le logiciel, le niveau fondamental est le projet. Un fichier de classe unique ne signifie pas grand chose sans le reste du projet. Dans le traitement d'image, l'image est l'unité fondamentale. Vous pouvez passer toute votre vie à travailler sur un seul projet logiciel (Microsoft Word ...) En photographie, vous passez rarement plus de quelques minutes sur une image.

  5. Dans le logiciel, la tâche importante consiste à pouvoir suivre les modifications et à revenir à une version antérieure. Dans le traitement d'images, l'important est de pouvoir retrouver cette image et ses dérivés ultérieurement.

Sherwood Botsford
la source