Apakah perangkat lunak kontrol versi digunakan untuk foto?

34

Saya adalah seorang pengembang perangkat lunak di hati dan berdagang, dan menghabiskan banyak waktu dalam alat pengembangan ... Salah satu jenis alat pengembangan yang lebih berguna adalah kontrol versi , dan untuk yang belum tahu, ini berfungsi seperti berikut:

  • Buat file
  • Mulai bekerja pada file
  • Periksa dalam file (buat versi 1 dari itu)
  • Buka file dan edit lagi
  • Lapor masuk lagi (versi 2)
  • Sadarilah Anda telah menghapus sesuatu yang penting dari versi 1, kembali ke masa lalu, dapatkan hal yang Anda hapus ...
  • ...
  • Keuntungan...

Lagi pula, saya bertanya-tanya apakah ada yang mirip dengan foto? Pada dasarnya, saya memikirkan sesuatu seperti:

  • Impor Foto (V1).
  • Mulai menandai foto (V2 ... Mobil samping XMP seharusnya benar-benar berubah di sini).
  • Mulai menambahkan bintang, lebih banyak tag (V3)
  • Mulai menyesuaikan beberapa pengaturan (V4 +)

Dengan aliran di atas, Anda seharusnya dapat melacak lebih banyak perubahan ... dan memberi Anda semacam strategi cadangan ...

Tiernano
sumber

Jawaban:

32

Aplikasi alur kerja fotografi seperti Adobe Lightroom dan Aperture Apple menyediakan riwayat semacam ini sebagai bagian bawaan dari fungsinya.

Saat Anda mengedit file RAW di dalamnya, tidak ada perubahan yang pernah dilakukan pada gambar asli. Sebaliknya, mereka disimpan sebagai 'instruksi' secara terpisah. Dengan demikian, Anda dapat melihat riwayat dari semua perubahan yang dibuat, dan dengan mengklik mouse, kembali ke titik waktu sebelumnya tanpa merusak.

Jika Anda hanya menggunakan Photoshop, maka ini tidak terjadi, dan Anda harus secara manual menyimpan berbagai versi foto Anda sebelum mengerjakannya setiap waktu.

(Saya kira tidak ada alasan Anda tidak dapat menggunakan repositori SVN untuk foto ?? mis. File biner?)

Mike
sumber
1
Lightroom menyimpan riwayat sesi pengeditan, tetapi apakah riwayat itu tetap ada jika Anda menutup Lightroom dan membuka kembali gambar dari katalog di kemudian hari? Saya tahu Anda selalu memiliki file RAW asli, tetapi bisakah Anda secara sewenang-wenang mendapatkan versi di suatu tempat antara yang asli dan yang terbaru kapan saja?
MikeW
2
Iya nih! Satu-satunya waktu itu akan dihapus adalah jika Anda menghapus gambar dari katalog, dan menambahkannya kembali. Maka Anda akan mulai dari awal. Namun sebaliknya, sejarah tetap dipertahankan.
Mike
Digikam menyediakan fungsionalitas instruksi yang sama.
Unapiedra
4
Selain log riwayat, Lightroom memungkinkan Anda membuat "snapshot", yang memungkinkan Anda menetapkan label ke pengaturan pengembangan saat ini dan kembali dengan mudah. Semacam penandaan suka di SVN. lightroomkillertips.com/2009/whats-a-lightroom-snapshot Beberapa alat, seperti plugin Jeffrey Friedl, dapat dikonfigurasi untuk secara otomatis membuat foto setiap kali Anda mengekspor ke layanan seperti Flickr. regex.info/blog/lightroom-goodies [Saya menulis ini secara bersamaan dengan fzwo ... maaf untuk redundansi dengan komentarnya.]
coneslayer
2
Jika Anda ingin fungsionalitas kontrol versi lengkap, Anda dapat sumber-kontrol file sespan seperti file lainnya (mereka adalah teks markup secara internal). Maka Anda tidak terbatas pada sejarah, tetapi dapat membuat "cabang" dengan jenis efek yang sama sekali berbeda, jika Anda mau. Perangkat lunak harus memungkinkan Anda untuk menerapkan file sespan baru untuk gambar RAW yang diberikan, setidaknya milikku.
rumtscho
8

Perubahan Virtual

Saya menggunakan Lightroom v3 dan produk ini memiliki alur kerja yang tidak merusak. Ini memungkinkan saya untuk melakukan perubahan pada gambar saya dalam arti virtual.

Kontrol Versi

Saya kemudian menggunakan SVN untuk mempertahankan kontrol Katalog Lightroom (Hanya DB SQLite sederhana) dan ini pada dasarnya memberi saya kontrol versi atas perubahan virtual.

Redundansi

Saya memiliki pengaturan RAID 6 yang menahan media untuk redundansi dan siklus drive USB sebagai sistem cadangan cadangan.


Meskipun ini mungkin tidak bekerja untuk semua orang, itu bekerja untuk saya. Plus itu memungkinkan saya untuk menggunakan beberapa mesin dan memiliki katalog LR yang sama (menggunakan siklus svn commit / update).

Dikutip dari posting blog di sini :

Saya memiliki Lightroom di beberapa komputer dengan server berbasis RAID 6 dan saya telah berjuang tentang cara menyinkronkan semuanya untuk membuat hidup saya lebih mudah di antara mesin-mesin.

Setelah beberapa keputusan saya sekarang telah memindahkan foto saya ke \ server \ share dan katalog dilacak melalui subversi! Ini membuat semuanya jauh lebih mudah di antara mesin.

Apa yang telah saya lakukan adalah membuat repositori yang menyimpan katalog Lightroom. Saya telah menambahkan pengecualian untuk tidak menyertakan file pratinjau karena subversi memiliki beberapa masalah dengannya.

Sekarang langkah saya adalah sebagai berikut:

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
sumber
Keren. Jadi, server SVN Anda hanya menyimpan katalog, dan server file Anda menyimpan gambar asli ... dan katalog menunjuk ke file di server? benar? Mungkin coba ini.
TiernanO
@TiernanO - Benar. Begitulah cara saya mengatur infrastruktur / alur kerja saya
Wayne
itu keren. Saat ini mengimpor sekitar 200Gb foto sekarang ke katalog Lightroom tunggal, dan akan mulai bermain dengan ide ini ... mudah-mudahan itu akan melakukan apa yang saya butuhkan untuk dilakukan! Terima kasih atas tipnya!
TiernanO
@Tierno - Anda harus setuju dengan itu. Saya percaya batas yang dialami akan berada di sekitar batasan SQLite yang sebagai pengembang yakin Anda dapat melakukan riset. (FYI: SQLite Manager untuk Firefox berfungsi sangat baik dalam melihat katalog ini)
Wayne
@TiernanO - Akan tertarik untuk mengetahui apakah ini memang bekerja untuk Anda seperti yang telah dilakukan untuk saya
Wayne
4

Saya pikir Anda mungkin ingin menggunakan git-annex (untuk mengelola foto dan cadangan) bersama dengan bup remote (untuk versi). Saya saat ini sedang mencari sendiri sebenarnya.

git-annex melacak file Anda menggunakan git, dengan melakukan symlink ke file Anda. File-file itu sendiri tidak ditambahkan ke repositori. Setelah foto Anda "dilampirkan", jika Anda mengkloning repositori Anda (pada hard drive eksternal misalnya), Anda dapat meminta clone untuk mengambil file (atau bagian dari mereka) yang terkait dengan repositori pada hard drive. git-annex melacak repositori mana yang memiliki salinan setiap file. Dengan cara ini Anda dapat membagi cadangan pada dua hard drive kecil dan pastikan tidak ada foto yang dilupakan.

Katakanlah Anda sedang dalam perjalanan. Anda telah mengambil foto yang disalin di laptop Anda. Anda dapat mengkloning repositori git yang ada di server ssh Anda di rumah, menyinkronkannya, menambahkan foto lokal Anda ke git-lampiran ke koleksi Anda, dan mendorong perubahan kembali ke server Anda. Kemudian, Anda mendorong file sendiri.

git-annex melacak perubahan dalam koleksi Anda, tetapi hanya menyimpan versi terakhir foto Anda. Untuk versi file Anda dapat menambahkan remote bup khusus ke repositori git-annex Anda. Saya belum memeriksanya karena saya tidak yakin saya membutuhkannya, tetapi harus melakukan apa yang Anda inginkan. Lihat ini atau ini .

baranuphe
sumber
edit jawaban saya.
Barsanuphe
juga, pengembang di belakang git-lampiran saat ini memegang kickstarter untuk membuat segalanya lebih mudah bagi mereka yang kurang memiliki kecenderungan teknis.
barsanuphe
2

Saya menggunakan Lightroom untuk melakukan pengeditan gambar dan menyimpan riwayat versi. Jika Anda ingin menggunakan Photoshop, kontrol versi agak bawaan: Adobe Drive dan Version Cue. Saya pikir Version Cue hanya bagian dari Creative Suite, FYI.

Dan Wolfgang
sumber
2

Pixel Novel akan terhubung ke Photo Shop dan berfungsi dengan server Subversion yang sudah Anda miliki atau saya pikir Anda dapat membeli repositori dari mereka.

http://pixelnovel.com/

Mereka menyebutnya "Kontrol versi untuk desainer"

BZink
sumber
2

Saya menggunakan Photoshop dan Adobe Camera Raw alih-alih Lightroom jadi saya menggunakan kontrol versi untuk file XMP yang menyimpan pengaturan konversi mentah saya untuk melacak perubahan. Ini berfungsi dengan sangat baik karena file XMP hanyalah XML. Sangat berguna untuk melakukan semua koreksi warna terlebih dahulu, memeriksa file XMP dan kemudian melakukan pemangkasan untuk rasio aspek yang tidak standar. Dengan begitu saya dapat dengan cepat kembali ke versi yang tidak dipangkas jika saya perlu mencetak gambar dalam aspek 3x2 asli.

Saya tahu Photoshop memiliki sistem pelacakan revisi bawaan, tetapi ini adalah kasus menggunakan alat yang saya tahu lebih baik. Ada alat pengkodean lain yang berguna seperti membangun skrip / otomatisasi bangunan. Sebagai contoh, saya dapat mengeluarkan satu perintah untuk "membangun" satu set foto menggunakan file XMP yang tidak disasar yang ditargetkan untuk dicetak yang akan mengubah proses rename dan mengeluarkan semua gambar dari suatu set. Ini sangat mudah jika Anda sudah tahu cara melakukannya untuk perangkat lunak!

Anda bisa menambahkan file biner ke repositori tetapi ini membutuhkan banyak penyimpanan dan Anda tidak mendapatkan informasi berbeda yang berguna saat membandingkan versi yang berbeda.

Ini untuk konversi mentah biasa, mengatur pencahayaan, keseimbangan warna, dll. Untuk pekerjaan Photoshop yang lebih terlibat, saya melakukan sebanyak yang saya bisa secara non-destruktif dengan lapisan penyesuaian dan filter pintar, tetapi saya belum sampai pada titik di mana saya bisa melakukan semuanya non-destruktif sehingga untuk saat ini saya hanya menyimpan beberapa versi file .PSD.

Matt Grum
sumber
Anda dapat mengatur lightroom untuk menggunakan file XMPP juga ... saya menggunakan ini sebelumnya, dan berfungsi dengan baik.
TiernanO
2

Saya juga seorang pengembang perangkat lunak dan mencoba menggunakan Git dan SVN untuk RAW dan XMP besar hanya untuk kemampuan menyinkronkan gambar saya antara drive yang dapat dilepas dan versi XMP. Itu sangat lambat dan semakin lambat seiring berjalannya waktu ketika saya menambahkan lebih banyak file. Saya juga menggunakan Lightroom untuk sejarah, jadi saya kembali ke rsync.

Sekarang, saya juga melihat ke git-lampiran dan sejauh ini bagus dan cepat. Ini juga memiliki manfaat tambahan dari checksuming setiap file RAW, sehingga Anda dapat melihat apakah HD yang buruk telah mengacaukan gambar Anda sejak impor. Ini adalah manfaat besar bagi saya, karena saya dapat menguji cadangan saya untuk memastikan mereka tidak mengalami degradasi melalui salinan / bit busuk. Saya berencana untuk versi XMP saja dan menganeksasi RAW. git-annex dapat melakukan tugas mengetahui di mana segala sesuatu berada, dan saya dapat yakin semuanya ada di server saya yang didukung serta memiliki salinan yang berfungsi pada laptop saya jika saya mau.

Anda juga dapat memiliki remote Amazon Glacier, jadi saya sudah baca, tapi saya belum mencobanya.

Adam Watkins
sumber
1

Lihat Daminion kami. Ini adalah perangkat lunak manajemen foto (multi-user friendly) yang mendukung kontrol versi untuk foto yang diarsipkan dan format media lainnya.

Kontrol Versi Daminion

Versi tunggal pengguna Daminion gratis sehingga Anda dapat mengunduh dan memeriksanya sekarang .

Murat - Perangkat Lunak Daminion
sumber
14
Hai Murat! Anda sudah ada untuk sementara waktu, dan posting Anda tentang Daminion umumnya tentang topik dan bermanfaat, dan termasuk penafian afiliasi yang tepat. Tetapi saya tidak dapat membantu tetapi memperhatikan bahwa semua jawaban Anda menyarankan mencoba Daminion, dan, dari FAQ : "Jika sebagian besar posting Anda menyertakan penyebutan produk atau situs web Anda, Anda mungkin di sini karena alasan yang salah . " Harap pertimbangkan menulis beberapa jawaban untuk pertanyaan yang tidak terkait dengan produk Anda.
mattdm
Terima kasih untuk penjelasannya, Matt. Tidak masalah. Tetapi ketika Anda memperhatikan dengan benar semua posting saya memberikan jawaban yang bermanfaat untuk pertanyaan-pertanyaan itu.
Murat - Daminion Software
0

Saya tidak, dan mungkin tidak akan pernah menggunakan kontrol versi sumber seperti Git atau SVN karena ukuran file yang terlibat. Setiap file mentah berukuran 20-30MB dan perubahan sering menyentuh setiap piksel di seluruh gambar sehingga mengurangi efektivitas "pelacakan perubahan" saja.

Untuk satu gambar, saya dapat dengan mudah melihat repositori SVN 200MB bukannya 60MB jika saya hanya menyimpan salinan asli dan salinan gambar akhir.

Xeoncross
sumber
3
jika Anda menggunakan file RAW, Anda tidak boleh mengubah gambar RAW yang sebenarnya, hanya mobil sisi XMP. Jika Anda mengubah gambar RAW, GIT hanya menyimpan perubahan, bukan file lengkap ... GIT mungkin bukan opsi terbaik (baik SVN) karena ini adalah file besar, tetapi ada beberapa opsi yang berfungsi dengan baik untuk file besar ...
TiernanO
0

Berikut plug untuk Apple Aperture. Keindahan Aperture adalah memiliki sekitar 95% fungsi Photoshop yang diinginkan fotografer (Anda tidak dapat membuat teks yang menyala dengannya, menguap), dan pengeditan dikendalikan oleh versi dengan cara yang sangat ringan.

Ini berfungsi dengan JPEG dan format gambar lainnya, serta format RAW.

Anda bahkan dapat melakukan "perjalanan pulang-pergi" dengan editor eksternal, seperti Photoshop, tetapi ini tentu saja menyimpan seluruh salinan gambar, daripada filter ringan yang diterapkan ke gambar master.

Jan Steinman
sumber
0

Ada diskusi yang bagus tentang ini di sini: https://www.impulseadventure.com/photo/flow-catalog-versions.html

Ada perbedaan yang signifikan antara repositori kode dan DAM gambar.

  1. Penggunaan gambar cenderung pohon multi-cabang. Meskipun Anda memiliki cabang dalam kode, tujuannya biasanya adalah untuk meminimalkannya. Dalam penggunaan gambar Anda dapat berakhir dengan situasi seperti ini

Menguasai

--- Dipotong dan diasah.

--- --- Pengurangan resolusi untuk Facebook

--- --- Thumbnail besar untuk galeri

--- --- Thumbnail sedang untuk galeri

--- --- Thumbnail kecil untuk galeri.

--- --- Versi besar dengan tanda air untuk galeri

--- --- --- Versi hitam dan putih dengan tanda air

--- --- --- Versi hitam dan putih

--- --- Pangkas khusus untuk klien.

--- --- Pemain warna yang disesuaikan untuk klien yang berbeda

(Saya melakukan satu halaman web jika setiap gambar memiliki 18 resolusi yang berbeda.)

  1. Kode cenderung memiliki perbedaan kecil antar versi. Dalam checkin yang khas, hanya beberapa persen dari perubahan kode. Dalam gambar sebagian besar piksel mengubah beberapa, dan menghemat ruang dari menyimpan hanya perubahan kecil.

  2. Dalam repositori kode Anda khawatir dengan perubahan level bit. Sebaris kode di sini, nilai konstanta di sana. Dalam manipulasi gambar, sejarah langkah-langkah yang Anda lakukan lebih signifikan.

  3. Pekerjaan gambar cenderung jauh kurang kolaboratif daripada kode. Sementara seniman grafis dapat mengambil gambar yang ada, dan melapisinya dengan grafis, sebagian besar gambar dikelola oleh satu orang selama rentang hidupnya. (Ini berbeda dalam video / film.)

  4. Dalam perangkat lunak, level dasarnya adalah proyek File kelas tunggal tidak berarti banyak tanpa sisa proyek. Dalam pemrosesan gambar, gambar adalah unit dasar. Anda dapat menghabiskan seluruh hidup Anda bekerja pada proyek perangkat lunak tunggal (Microsoft Word ...) Dalam fotografi, Anda jarang menghabiskan lebih dari beberapa menit pada sebuah gambar.

  5. Dalam perangkat lunak, tugas penting adalah untuk dapat melacak perubahan dan kembali ke versi sebelumnya. Dalam pemrosesan gambar, tugas penting adalah untuk dapat menemukan gambar itu dan turunannya di kemudian hari.

Sherwood Botsford
sumber