On 2/26/21 9:52 PM, pdr0 wrote:
Different timebase means there is potential to compare different frames.

Use settb

ffmpeg -framerate 60000/1001 -i lossless.mkv -start_number 0 -framerate
60000/1001 -i source/%06d.tif -t 00:01:00 -lavfi
"[0:v]settb=1/AVTB,setpts=PTS-STARTPTS[main];[1:v]settb=1/AVTB,setpts=PTS-STARTPTS[ref];[main][ref]ssim"
-f null -

That seems to work.  It gets rid of the "not matching timebases"
warning.  It does cause the duration option (-t 00:01:00) to not work,
but I was able to use the "-frames:v" option instead.  (In fact, I don't
need specify the framerate of the image sequence at all.)

$ ffmpeg -i lossless.mkv -start_number 0 -i source/%06d.tif -frames:v 3596 -lavfi "[0:v]settb=1/AVTB,setpts=PTS-STARTPTS[main];[1:v]settb=1/AVTB,setpts=PTS-STARTPTS[ref];[main][ref]ssim" -f null -
 ...
 Input #0, matroska,webm, from 'lossless.mkv':
   Metadata:
     ENCODER         : Lavf58.45.100
   Duration: 00:00:59.99, start: 0.000000, bitrate: 1223104 kb/s
Stream #0:0: Video: huffyuv (HFYU / 0x55594648), bgr0, 1440x1080, 59.94 fps, 59.94 tbr, 1k tbn, 1k tbc (default)
     Metadata:
       ENCODER         : Lavc58.91.100 huffyuv
       DURATION        : 00:00:59.994000000
 Input #1, image2, from 'source/%06d.tif':
   Duration: 04:17:10.96, start: 0.000000, bitrate: N/A
     Stream #1:0: Video: tiff, rgb24, 1440x1080, 25 tbr, 25 tbn, 25 tbc
 ...
[Parsed_ssim_4 @ 0x562a600ac780] SSIM R:0.999888 (39.506142) G:0.999889 (39.531716) B:0.999887 (39.466715) All:0.999888 (39.501442)

So this gets me to the same result that I got when I compared the
derived PNG image sequence to the original TIFF sequence.

$ ffmpeg -start_number 0 -i lossless/%06d.png -start_number 0 -i source/%06d.tif -frames:v 3596 -filter_complex ssim -f null -
 ...
[Parsed_ssim_0 @ 0x5630c77ad440] SSIM R:0.999888 (39.506142) G:0.999889 (39.531716) B:0.999887 (39.466715) All:0.999888 (39.501442)

Now that I know about the -frames:v option, I decided to try omitting
the last frame from the comparison.

$ ffmpeg -start_number 0 -i lossless/%06d.png -start_number 0 -i source/%06d.tif -frames:v 3595 -filter_complex ssim -f null -
 ...
[Parsed_ssim_0 @ 0x560797482440] SSIM R:1.000000 (inf) G:1.000000 (inf) B:1.000000 (inf) All:1.000000 (inf)

$ ffmpeg -i lossless.mkv -start_number 0 -i source/%06d.tif -frames:v 3595 -lavfi "[0:v]settb=1/AVTB,setpts=PTS-STARTPTS[main];[1:v]settb=1/AVTB,setpts=PTS-STARTPTS[ref];[main][ref]ssim" -f null -
 ...
[Parsed_ssim_4 @ 0x5571f0a97780] SSIM R:1.000000 (inf) G:1.000000 (inf) B:1.000000 (inf) All:1.000000 (inf)

That gets me the expected score.

I don't understand why I have to omit the final frame.  Both ImageMagick
and ffmpeg show the images as identical.

 $ compare -metric AE lossless/003595.png source/003595.tif /tmp/diff.png
 0

$ ffmpeg -i lossless/003595.png -i source/003595.tif -filter_complex ssim -f null -
 ...
[Parsed_ssim_0 @ 0x561a6aae1540] SSIM R:1.000000 (inf) G:1.000000 (inf) B:1.000000 (inf) All:1.000000 (inf)

This is definitely good enough for my purposes, however.  I'm going to
declare victory and move on.

Thanks for your help!

--
========================================================================
                 In Soviet Russia, Google searches you!
========================================================================

_______________________________________________
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to