kimono-koans / dano

A hashdeep/md5tree (but much more) for media files
https://crates.io/crates/dano
Mozilla Public License 2.0
139 stars 0 forks source link

[feature request] Windows version and media tags #3

Open dardoor opened 2 years ago

dardoor commented 2 years ago

Hi!

Is there a chance for a Windows version?

And it would be nice if the checksum was saved into a standard media tag (same as 'title', 'author', etc). If it worked with MKV it'd already be pretty good, no need to support every format. That would make it easier to see the data with other tools and be OS agnostic.

kimono-koans commented 2 years ago

Thanks for filing an issue.

I understand you as having two requests:

First, a Windows version. A Windows version is not a priority to me, because I don't use Windows (Mac/Linux only household I'm afraid). However, I'd be very pleased to include support a Windows version, if someone else wanted to submit a PR.

For anyone interested, I actually don't think this would be that hard to do. AFAIK nothing about dano that wouldn't work on Windows (ffmpeg works on Windows right?). Just try to build (it may actually just work?) and fix the errors (a few well placed: if cfg!(target_os = "windows"), etc.). Someone with minimal Rust experience could do it in a few hours. I could probably build this quickly, but I don't want to include support for anything no one is testing.

Second, writing to a media tag instead of file/xattr. I'd be pleased to add support for this, if someone could show me how to write tags "in place" with ffmpeg (without writing an output file), or otherwise describe another file format agnostic way of doing what you describe (best case: a Rust crate with "in place" tag writing support).

Put simply -- I want to just be able to blast over files without thinking about whether a file is a mp3 or FLAC file, and I don't want to be writing and renaming/overwriting files. This program is already more complex than I thought it would be. I won't be adding any more additional complexity than is necessary. There should be "one way" to write/read a tag, just like an xattr is one way to write/read a tag.

So -- let me know if you have any really good ideas on tags! I'll keep this open for you and others to add your thoughts.

Thanks again!

dardoor commented 2 years ago

FWIW, there's a foobar2000 component which can do this, but it only works for audio.