Skip to content
This repository has been archived by the owner on Apr 24, 2023. It is now read-only.
/ encoding-samples Public archive

An attempt at an automated tool for finding the best possible media quality an encoder and codec can give.

Notifications You must be signed in to change notification settings

Xaymar/encoding-samples

Repository files navigation

Video Encoding Samples

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.

Requirements

Usage

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

Installation

  1. Grab the latest release source code (or just master source code) and extract it to any directory.
  2. 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
  3. 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.
  4. 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.
  5. Adjust the config.json file to your needs.
  6. Run the tool.

Further Information