fifonik / FFMetrics

Visualizes Video Quality Metrics (PSNR, SSIM & VMAF) calculated by ffmpeg.exe
570 stars 22 forks source link

[Feature] Ability to set different Duration/Skip values per file with custom values #68

Open glazarov-uk opened 2 years ago

glazarov-uk commented 2 years ago

Currently the configured Duration and Skip options are applied to both the Reference and Distorted files. Having an option to set these to different values per file would be ideal as this is needed if manually aligning frames between the files. In the raw ffmpeg command this would translate to having the -ss and -t before each of the inputs specified.

Also it would be very useful to have the ability to specify the Duration and Skip with custom values, i.e. in the timecode format as currently the dropdowns are limited to a predefined set of values which may not be suitable for a number of cases.

fifonik commented 2 years ago

To be honest, I do not see any reason to specify processing duration per file. This would give you strange results.

As for specifying "skip" per file, I'd prefer #8 instead.

glazarov-uk commented 2 years ago

Let me give an example from a live workflow.

Example: ffmpeg.exe -ss 00:00:00.000 -t 00:09:30.000 -i OUTPUT.mp4 -ss 00:00:30.000 -t 00:10:00.000 -i SOURCE.mxf -lavfi [0:v]settb=AVTB,setpts=PTS-STARTPTS[main];[1:v]settb=AVTB,setpts=PTS-STARTPTS[ref];[main][ref]libvmaf='eof_action=endall:n_threads=7:phone_model=0:pool=mean:model_path=vmaf_v0.6.1.json:log_fmt=json:log_path=log.log' -f null

So this is a different use case from the #8 issue.

fifonik commented 2 years ago

I see that your case is different.

However, are you sure that you talking about "-t", not '-to' ('-t' -- duration, '-to' -- end position)? Still not understand what you expecting to get while comparing a piece with length 09:30 with the piece with length 10:00? Well, in your example the 10:00 will be ignored because of 'eof_action=endall', but I'm trying to understand the reason one need to specify different durations.

glazarov-uk commented 2 years ago

Sorry that was a typo! In both places the "-t" duration should be the same eg. "00:09:30.000" whereas the start time is different.

fifonik commented 2 years ago

OK, then lets go to my first "question": why one would like to specify different processing durations on ref file and every distorted file? P.S. I do understand why this might be required for "skip".

rikinp93 commented 2 years ago

This is a great feature request!

For the Duration it would be better to specify it with custom values, but I agree it should be kept the same for both the Ref and the Distorted outputs.

Only the Skip (start position) could have different values for the in/out files, with the ability to enter custom values as above.

glazarov-uk commented 2 years ago

hey @fifonik, any thoughts on this issue? Will you be implementing the change? Thanks

fifonik commented 2 years ago

I'm planning to.

glazarov-uk commented 2 years ago

great, any timescales..?

fifonik commented 2 years ago

Sorry, no timeframe atm.