Show HN: Automedia – a tool for managing bitrot and formats in media libraries
github.com
github.com
I've been ripping my old physical audio and video media to a server running locally at home and have been worried about bitrot. I built this tool to check a large media library for correctness (by test-decoding it with FFMPEG), and to prevent future bitrot by automatically adding per-directory PAR2 files.
The tool has another feature to transcode your entire library to a given format - I'm using this to keep a USB key in my car filled with AAC 64k files for listening when Spotify is out of range or I'm too lazy to connect via Bluetooth.
It's designed to be somewhat easy to extend with media operations that consume a directory at a time. For example, you could add or check music metadata using a third-party service like MusicBrainz.
Detecting bitrot is fine, can also be done by storing a MD5/SHA256 of the file content. `md5sum <file>` barfs if its unable to read the file from disk. Challenge is rebuilding the broken file.
I was worried about bitrot on my old external drives too. I eventually went with btrfs[1] filesystem running RAID1 across 2 disks.
With a great metadata manager like that, any software that rips to FLAC or Apple Lossless should be sufficient. Exact Audio Copy is one of the best ones on the Windows side.
I have about half a terabyte of media, including some original music I made a long time ago and lost the project files for. Backups are great but it will just back of the corrupted versions
Either way, bitrot or raid issues, a tool like this is interesting to me. I'd love something that watched my collection, stored the hashes, and altered me when they had changed (I know that's not what this tool does). I'm not sure I'd be willing to give up the space for something like par2 files but even a heads up other than "Oh, this isn't playing" would be nice.
So far all of the errors have been in files I could re-rip or recover from public sources, but I'm dreading finding an error in a file that's hard to replace. I'm cataloging those separately as I go along, and planning to do a full mirror in cloud storage.
May be a nice complement to my Video Hub App - browse, search, preview, and organize videos on Win, Mac, and Linux.
https://videohubapp.com/ & https://github.com/whyboris/Video-Hub-App
But as I said, I just read the description, nothing more.
Once I'm happy with the state of the library, I use automedia to add on par2 files to avoid this going forward.
Verification is for libraries that have no existing hashes or parity, essentially.
Though I do see the value of checking the files when first ‘checked in’ to this recovery scheme so you start with a known good copy.
The idea is solid and since it has transcoding build in it makes perfect sense to just use ffmpeg.
—edit—
The author beat me to the answer…