On Tue, Aug 6, 2019 at 12:14 PM Moritz Barsnick <barsnick@gmx.net> wrote:
On Tue, Aug 06, 2019 at 10:07:40 +0200, Paul B Mahol wrote:
If I understand correctly, basically need hash of each stream separately (for framehash this already works).
That is quite possible to be implemented. Feel free to open feature request on FFmpeg bug tracker.
Just to show that it works, I have hacked up a quick proof of concept. (Hacked up means: Possibly not clean, not enough reuse of code, ...)
From this for a video stream: ./ffmpeg_g -f lavfi -i testsrc -map 0 -t 1 -f hash - [...] SHA256=c747429bf5d240958db9545b184e2b226f826e67495ad5d46245794bc1b84078
and this for an audio stream: ./ffmpeg_g -f lavfi -i anoisesrc=seed=0 -map 0 -t 1 -f hash - [...] SHA256=4a3aa64bd7ef86ff2afb43c9346076792497cdcfcd741f10a1bea2e016294417
I can now produce this (note the new muxer): ./ffmpeg_g -f lavfi -i testsrc -f lavfi -i anoisesrc=seed=0 -map 0 -map 1 -t 1 -f streamhash - SHA256=c747429bf5d240958db9545b184e2b226f826e67495ad5d46245794bc1b84078 SHA256=4a3aa64bd7ef86ff2afb43c9346076792497cdcfcd741f10a1bea2e016294417
I just couldn't quickly figure out how to prefix the stream specifiers (e.g. 0:0, 0:1).
Look how framehash does it?
I'm not hapy with submitting a hack as a patch to ffmpeg-devel though. ;-) But I can provide the patch here or somewhere else.