In my tests, libx265 isn't that great at compressing video. It takes much 
longer than libx264 for the same VMAF with a slightly smaller file size.
All my tests have been with anime that require a VMAF greater than 90 so that 
the differences are not noticeable.

I'm currently using AV1, which achieves higher compressions with the same VMAF 
with a faster conversion time than libx265.
I noticed that converting from 8-bit to 10-bit achieves a greater size 
reduction for the same VMAF with my files.

To calculate VMAF, I use the following line:
ffmpeg.exe -i target.mp4 -i source.mp4 -lavfi libvmaf -f null -

To compress with AV1 for a minimum VMAF of 95, I use the following:
ffmpeg.exe -i source.mp4 -c:a copy -c:v libsvtav1 -crf 32 -preset 6 
-svtav1-params tune=1:fast-decode=1 -pix_fmt yuv420p10le -g 240 target.mp4

To compress with x264 for a minimum VMAF of 96, I used the following:
ffmpeg.exe -i source.mp4 -c:a copy -c:v libx264 -crf 23 -preset slow -tune 
animation target.mp4

On very rare occasions, the converted file ended up larger than the original. 
By appreciation, depended a lot on how vibrant the colors in the original file 
were.


 On Monday, October 27, 2025 at 08:57:39 AM GMT-4, Richard Bartczak via 
ffmpeg-user <[email protected]> wrote:

 Hello,

I use ffmpeg 8.0, lib x265 to compress videos.

The coomand :

#!/bin/sh
for f in *.ts; do ffmpeg -y -i "$f" -vcodec libx265 -crf 19 -preset slow
-vf yadif,nlmeans="1.4:7:5:3:3" -c:a copy "$(basename "$f" .ts).mkv";done

It is an interlaced video, therefore yadif, nlmeans to reduce filesize.

But the result is all ways not as expected. I did check it with vivictpp
(subective tool to compare two videos (same source) at a screen and
libvmaf to get the respective score :

Different crf values used, but without an significant improvement.

source file target file   vmaf  crf vivictpp (checked source against target
size (MB)   size (MB)  at one screen)
251,6       121,6            VMAF score: 93.913822  19  visible less unsharp
251,6       135,2           VMAF score: 94.189536  18  visible less unsharp
251,6       150,6           VMAF score: 94.433205  17  visible less unsharp
251,6       167,7           VMAF score: 94.648169  16  visible less unsharp
251,6       208,6          VMAF score: 95.011963  14  visible less unsharp
251,6       259,6          VMAF score: 95.011963  12  visible less unsharp

the movie

source :

Stream #0:0[0x100]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002),
yuv420p(tv, top first), 720x576 [SAR 64:45 DAR 16:9], 25 fps, 25 tbr,
90k tbn, start 0.044000
     Side data:
       cpb: bitrate max/min/avg: 15000000/0/0 buffer size: 1835008
vbv_delay: N/A

target :

Stream #0:0: Video: hevc (Main), yuv420p(tv, progressive), 720x576 [SAR
64:45 DAR 16:9], 25 fps, 25 tbr, 1k tbn
     Metadata:
       ENCODER         : Lavc62.11.100 libx265

Any idea how to improve the results ?

Richard

_______________________________________________
ffmpeg-user mailing list -- [email protected]
To unsubscribe send an email to [email protected]
_______________________________________________
ffmpeg-user mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to