Files
JS-VMAF/README.md
T
Michael Fabian 'Xaymar' Dirks 67c85f5df8 Improve README
2022-12-27 16:34:07 +01:00

77 lines
3.1 KiB
Markdown

# js-vmaf: Simple, but effective VMAF comparison tool
This is a simple wrapper around FFmpeg and VMAF to handle comparison of files.
```
$node . --help
usage: js-vmaf [--help] [--hide_banner] [-q] [-v] --ffmpeg FFMPEG --ffprobe FFPROBE [--vmaf VMAF] -r
REFERENCE [-o OUTPUT] [--flip] [-cs COLOR_SPACE] [-cp COLOR_PRIMARIES] [-ct COLOR_TRC]
[-cr COLOR_RANGE] [-p FORMAT] [-w WIDTH] [-h HEIGHT] [--fps FPS] [-f FEATURE] [-m MODEL]
[-t THREADS]
Path [Path ...]
A simple, yet effective tool to quickly compare one or more videos using VMAF.
positional arguments:
Path One or more paths to a distorted file or a directory containing distorted files.
optional arguments:
--help show this help message and exit
--hide_banner Hide license banner.
-q, --quiet Be quiet.
-v, --verbose Be verbose.
--ffmpeg FFMPEG Path to the FFmpeg binary to use.
--ffprobe FFPROBE Path to the FFprobe binary to use.
--vmaf VMAF Path to the VMAF binary to use. Will fall back to FFmpeg if not provided
-r REFERENCE, --reference REFERENCE
Reference file
-o OUTPUT, --output OUTPUT
The file name, including formatters, for the output log file.
--flip Scale, convert and resample to distorted file instead of reference file.
-cs COLOR_SPACE, --color_space COLOR_SPACE
Define the color space of the reference file.
-cp COLOR_PRIMARIES, --color_primaries COLOR_PRIMARIES
Define the color primaries of the reference file.
-ct COLOR_TRC, --color_trc COLOR_TRC
Define the color transfer characteristics of the reference file.
-cr COLOR_RANGE, --color_range COLOR_RANGE
Define the color range of the reference file.
-p FORMAT, --format FORMAT
Define the format for comparison.
-w WIDTH, --width WIDTH
Define the width for the comparision.
-h HEIGHT, --height HEIGHT
Define the height for the comparision.
--fps FPS Define the FPS for comparison.
-f FEATURE, --feature FEATURE
Enable (and configure) a feature
-m MODEL, --model MODEL
Enable (and configure) a model
-t THREADS, --threads THREADS
Number of threads to use.
```
## Installing
```
npm install
npm run build
```
## Examples
##### Compare all files in a directory
```
$(prog) --ffmpeg ffmpeg --ffprobe ffprobe -r /mnt/usb0/ref.mp4 /mnt/usb1/
```
##### Use the distorted files as the target size
The following command converts the reference to the same format, resolution, framerate and color as the distorted files. Ideal for bitrate optimization.
```
$(prog) --ffmpeg ffmpeg --ffprobe ffprobe --flip -r /mnt/usb0/ref.mp4 /mnt/usb1/
```
##### Resize everything to 1080p and convert to yuv420p
```
$(prog) --ffmpeg ffmpeg --ffprobe ffprobe -h 1080 -p yuv420p -r /mnt/usb0/ref.mp4 /mnt/usb1/
```