AVideo-Encoder icon indicating copy to clipboard operation
AVideo-Encoder copied to clipboard

VMAF scores for tuning your encoder.

Open ronaldod opened this issue 4 years ago • 2 comments

For tuning the encoding it would be nice if the encoder supports VMAF. It will take more time but it will tell how good the encoder settings are. It is a tool from netflix. It compares the before and after video and tell you how much distortion is between it. Like 0 is totally crap to 100 is like same as input.

Example results on cards: image

taken from youtube eposvox

ronaldod avatar Jan 04 '21 22:01 ronaldod

Hello back @ronaldod , I did some testing , and yeh this is a great tool from Netflix . My question is how can we make use of it on the script ?

Most users has only software encoding ( x264 ) , going with preset veryfast , since the different in take and time_encode/quality_results is not scaling as expected .

Another reach is 2-pass encoding . The only usefulness I see for this script is for admins only . Where on the video dashboard , we could add an array with statements from 0 to 100 for debugging purposes ( claiming how much quality has been lost ).

Reaching the best quality will require many IF statements . Since you can really apply the same encoding flags to videos on 8bit,10bit & 12bits . Also for the video based smpte2084 ,bt2020 and bt2020nc.

For example , in your platform try downloading this video , and make the quality the same . ( you can't with basic encoding ) https://youtu.be/LXb3EKWsInQ

With the actual encoder , you will have this result ;

image

When it should be this result ;

image

But thank you for sharing . I'll be using it more often now for debugging purposes .

I'm having hard time asking daniel to add simple array feature for bitrate array , and still nothing . https://github.com/WWBN/AVideo-Encoder/issues/294 So I don't think we gonna have any soon this feature , when we can't even chose the video's bitrate on dynamic encoding .

akhilleusuggo avatar Jan 05 '21 01:01 akhilleusuggo

The intention is for tuning in an encoder with:

  • new hardware
  • test settings
  • Quality Control from time to time.
  • new ffmpeg releas
  • etc etc

So yes this is an admin tool and for debugging purpose only as it will eat a lot of resources. But i think with this you can reach a good balance between file size, CPU-GPU usage, quality and speed. Depending on your needs you can tweak it with statistics and maybe auto mate it.

ronaldod avatar Jan 05 '21 09:01 ronaldod