Am 27.10.25 um 16:37 schrieb felix.quintgz--- via ffmpeg-user:
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]
I did not indicate the source as clear as possible : It is a h.262
interlaced video.
To compress e.g. h.264, I have no problems (e.g.: p720, 50fps, h.265
result with e.g.: crf.16, and nlmeans, source file size 10-12GB, target
file size 2.5-3-5GB, vmaf > 96)
But minor differences can be seen wizh vivictpp.
Did you check the compressed result with vivictpp (s.
https://github.com/vivictorg/vivictpp, available also for Windows )
Regards
Richard
_______________________________________________
ffmpeg-user mailing list -- [email protected]
To unsubscribe send an email to [email protected]