Video Encoding Samples (VES) is a project to determine the ideal (or even best) settings for any available encoder through comparison with VMAF, SSIM and PSNR. It was previously used to generate the data shown on the old website which will eventually be replaced by new, up to date information.
- A CPU with 4 Cores & 8 Threads, or 6 Cores & 6 Threads.
- Any of the compatible Operating Systems:
- Windows 10 64 bit
- Windows 7 64 bit
- Node.JS v15.0 or newer
- FFmpeg
- VMAF Model "4K RB v0.6.2"
- Any number of input Videos
- A lot of time.
The tool currently has no special parameters and reads its entire configuration from the config.json
file, so you can invoke it by calling node.js with the script argument:
- Default (usually fits):
node ./ves.js
- Or for larger configuraitons:
node --max-old-space-size=8192 ./ves.js
- Grab the latest release source code (or just master source code) and extract it to any directory.
- Install the latest FFmpeg versions for your platform that supports libvmaf (or built it yourself):
- Windows: Extract this archive into
ffmpeg/
. - Linux (apt):
apt-get install ffmpeg
- Windows: Extract this archive into
- Grab the recommended model (see requirements) and place it into
ffmpeg/vmaf/
.- It is possible to use different models, however this model has so far given the most accurate results.
- Put any source video files in
videos/
.- Videos must be properly tagged or they will be treated as bt709/bt709/bt709/tv.
- Video files must be in .mkv format.
- Adjust the
config.json
file to your needs. - Run the tool.