Skip to content

Instantly share code, notes, and snippets.

@btbytes
Created February 26, 2017 00:57
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save btbytes/0a3bcb0aebe299b9adde68d48fa26bab to your computer and use it in GitHub Desktop.
Save btbytes/0a3bcb0aebe299b9adde68d48fa26bab to your computer and use it in GitHub Desktop.
Home video and photo management system

A home photo and video management system

I want some tools to help me manage my photos and videos, conforming to some of my particular requirements.

I've already begun tinkering on some of my own, but with every line of code I think, "surely, someone must have done this already." Have you?

Components

  • Backup. I have a local fileserver, but I want offsite backup too. Backblaze B2 looks cheapest but I also already have a DreamObjects account.
  • A thing to make it effortless to get photos off devices and into long-term storage.
    • Like, plug some media (or a phone via USB cable) into some computer, push no buttons, wait for a tone or LED, yank it out, confident your photos are safe and your media is empty.
    • Maybe there's a whitelist of known media so I don't accidentally slurp up my friends' private photos if they use my USB port to charge their phone?
    • This should run on e.g. my laptop without internet to let me empty out a pile of sd card quickly, and sync up to my fileserver or cloud when able.
    • I have MicroSD cards that hold as much data as my entire laptop hard drive. I'll want to attach a slow multi-terabyte USB disk to do the sdcard-dumping.
  • A thing to deduplicate stuff.
    • I have a pile of photos across several sd cards. I don't remember what's already in long term storage or not. Avoid storing duplicates.
  • Hueristics for dealing with photos with broken or incorrect EXIF metadata, maybe that came from cameras whose datestamp is set way wrong.
  • Encryption. I want the hosting company to be unable to see the content
  • Sharing. I want to be able to share some of the content with friends and family, sometimes.
  • Restore. If I lose all my local computers, how hard is it to reestablish the system, and retrieve files from the backup?

Requirements

  • Terabytes. I have 0.13TB of video and photos now, but that grows more quickly every year as camera tech improves and I try to use it more often and I capture video instead of photos.
  • Linux-based. Idgaf if this works on macOS or Windows.
  • No proprietary software. I will never let some garbage code that I can't inspect touch my photos.
  • No surveillance capitalism. Google, Facebook, and any other company that wants to run facial recognition over my photo collection can die in a fire.
  • Soon. I'm going on vacation soon, out of the country. I expect to take lots of pictures and videos. I don't want to lose them. I want something working before I go, even if it's just a janky collection of bash scripts.
  • No data loss. If I rotate a photo, it should be lossless. If I manipulate the EXIF metadata, it shouldn't clobber fields it doesn't know about. If I add a file format it doesn't know, it should not lose its mind or my data.
  • Flexible organization. Today I store photos in a filesystem hierarchy like /YYYY/MM/DD/filename.jpg. It doesn't work well, especially for that one trip that spanned three days across a new year.

Stretch Goals

  • Load media from my android phone with bluetooth
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment