Live data from Hacker News

Dano is a wrapper for FFmpeg that checksums the internal file streams

github.com

11–15 of 15 posts

Re: Dano is a wrapper for FFmpeg that checksums the internal file streams

#11
post #10
post #6

This uses the hash muxer in ffmpeg, which consolidates all streams into one. Use the streamhash muxer to emit hashes per-stream, which can isolate any changes to specific streams.

I noticed that both muxers convert audio to signed 16-bit PCM by default. Is there a way to avoid this behavior without specifying a codec?

No, 16-bit PCM is the default audio codec. If no `-c` is specified for a stream, ffmpeg will encode using the default codec. But if `-c X` is declared where X=`copy` or something else, then that is honored.

Re: Dano is a wrapper for FFmpeg that checksums the internal file streams

#12
post #3

I don’t understand the use case. You go through the trouble of generating checksums when copying videos, but don’t want to regenerate the checksums when modifying the metadata? If you are this concerned about data corruption why not check the metadata also?

My perspective. Checksumming is more useful on large binary data, whereas tools to check metadata/container corruption already exist[1].

This allows you to change metadata or the container entirely, while still being able to check if e.g. the H.264 video stream is okay.

[1]: https://www.matroska.org/downloads/mkvalidator.html

Re: Dano is a wrapper for FFmpeg that checksums the internal file streams

#13
post #3

I don’t understand the use case. You go through the trouble of generating checksums when copying videos, but don’t want to regenerate the checksums when modifying the metadata? If you are this concerned about data corruption why not check the metadata also?

Author here. Surprised as any one this on the front page of HN. > I don’t understand the use case. You go through the trouble of generating checksums when copying videos, but don’t want to regenerate the checksums when modifying the metadata? Appreciate the Q, but I suppose I really don't understand it. Could be the hour? I don't want to regenerate checksums once I know the underlying bitstream checksums are correct.…

I hope it was a pleasant surprise, I found this from a data archivist perspective. I can't believe that only FLAC had the foresight to checksum large binary data in the media codec space.

I notice that LLM releases will include md5/sha256 for the binary data, while excluding the json metadata. I really wanted MKV to have this functionality.

Re: Dano is a wrapper for FFmpeg that checksums the internal file streams

#14
post #9
post #3

I don’t understand the use case. You go through the trouble of generating checksums when copying videos, but don’t want to regenerate the checksums when modifying the metadata? If you are this concerned about data corruption why not check the metadata also?

You want to be able to change the container while making sure you do not alter the contained stream. I've always thought it would be simpler if we used different files for the stream and the meta data, but that's probably just because I never looked more closely into it.

From this perspective it may, but now you have multiple files you need to keep track of and it’s not clear if one is missing depending on the underlying stream structure (i.e. multiple audio or video streams instead of just 1 of each)

Re: Dano is a wrapper for FFmpeg that checksums the internal file streams

#15
post #13

Earlier quoted context omitted.

Author here. Surprised as any one this on the front page of HN. > I don’t understand the use case. You go through the trouble of generating checksums when copying videos, but don’t want to regenerate the checksums when modifying the metadata? Appreciate the Q, but I suppose I really don't understand it. Could be the hour? I don't want to regenerate checksums once I know the underlying bitstream checksums are correct.…

I hope it was a pleasant surprise, I found this from a data archivist perspective. I can't believe that only FLAC had the foresight to checksum large binary data in the media codec space. I notice that LLM releases will include md5/sha256 for the binary data, while excluding the json metadata. I really wanted MKV to have this functionality.

> I hope it was a pleasant surprise

Of course, very pleasant!

Post reply on HN