DOWNLOAD
Run it on your own files first.
Install the tool, point it at a file you deliver today, and read how much smaller it could be at the quality bar you set. The report is free and needs no key. The tool runs on your machine, uses no network, and sends nothing anywhere.
Quick start
Install FFmpeg with x265 and VMAF
An FFmpeg build that includes
libx265andlibvmaf. On Windows the gyan.dev "essentials" build has both; on macOS, Homebrew'sffmpeg; on Linux, your distribution's package or a static build. Python 3.12 or newer is needed only if you install with pip; the macOS and Linux lines below bring their own. Step 3 checks.Get your install link
Tell us who you are and we send the install command straight back, here on this page. The link is personal and works for 7 days.
Check the environment
hlsai doctorMeasure a file you deliver today
hlsai measure delivered.mp4Add
--source master.movto encode from and score against the master instead. Add--seconds 120to try the first two minutes of a long file.
What you get back
hls.ai measure (report only)
Input: delivered.mp4 | h264 1920x1080 30000/1001 fps | 18.5 s | 10.1 MB | 4,377 kbps
Target: mean VMAF >= 95, 5th-percentile frame >= 92 (relative to the input)
Result: an HEVC encode meeting the target would be 3.3 MB (1,414 kbps), 67.7% smaller
Quality of that encode vs the input: mean 95.12, 5th percentile 93.62, lowest frame 92.85
Trial encodes: 4 | 85 s | report saved to hlsai-report-delivered.jsonThe run above is the studio clip from the results page, on this site's own test machine. Your numbers depend on your content and your current settings.
How to read the report
- The reference is the file you gave it. Without
--source, quality is scored against the delivered file, so "VMAF 95" means "this close to what you ship now". That is an easier bar than scoring against the master and gives larger reductions. With--source, the master is the reference. - Two numbers set the bar.
--targetis the mean score the encode must keep (default 95).--flooris the score the 5th-percentile frame must keep (default 92), so the hardest moments are not traded away for a good average. - Savings come from meeting the bar, not exceeding it. This is not an equal-quality comparison; it is the smallest encode that still clears the bar you chose.
- Long files are searched on samples. Four 5-second samples by default, with the complete file encoded once at the end.
--verifyscores the complete output as well. - Each run takes a few trial encodes. Expect four to six, at the
slowx265 preset unless you pass--preset.
From report to encode
The report shows the size. A license key unlocks the encode itself and the setting that produced it, so your own encoder can reproduce it.
hlsai activate <your key>
hlsai encode delivered.mp4 --out optimized/The output folder holds optimized.mp4, settings.json with the x265 setting, and results.json with every trial and score. Keys are verified offline, so the tool keeps working inside a network with no internet access.
Options
| Option | What it does | Default |
|---|---|---|
--target | Mean quality score the encode must keep | 95 |
--floor | Score the 5th-percentile frame must keep | 92 |
--metric | vmaf or the stricter vmaf_neg | vmaf |
--source | Master to encode from and score against | the input |
--preset | x265 preset for the trials and the encode | slow |
--maxrate | Bitrate cap in kbps | none |
--seconds | Use only the first seconds of the input | whole file |
--verify | Score the complete output when samples were used | off |
--report | Where measure writes its JSON report | hlsai-report-<name>.json |
Your files stay yours.
The tool reads the files you name, writes trial encodes to a temporary folder it deletes afterwards, and makes no network connections. The report is a local JSON file that you choose whether to share.
Talk to us about an evaluation