x265:如果 frame-threads=1,我会得到更小的文件吗?

x265: Will I get smaller file size with frame-threads=1?

根据 x265 Command Line Options Documentation 关于 -F / --frame-threads 选项:

Using a single frame thread gives a slight improvement in compression, since the entire reference frames are always available for motion compensation, but it has severe performance implications.

这会显着影响文件大小吗?

不值得

如果编码时间显着增加,质量改进微不足道,文件大小几乎没有差异。

您随时可以进行测试

使用 x265 编码。命令 #1 使用默认 --frame-threads。按核心数计算,该值为 auto-determined。对于我的老年硬件,它正在使用 --frame-threads 3.

time x265 input.y4m -o default.hevc
real    0m58.430s
user    6m34.437s
sys     0m2.409s

time x265 --frame-threads 1 input.y4m -o frame-threads1.hevc
real    1m29.684s
user    5m38.404s
sys     0m2.992s

尺寸基本一致:

24858360 (24M) default.hevc
24859280 (24M) frame-threads1.hevc

使用 --frame-threads 1 速度明显变慢。在我的情况下慢了 3 倍,但我的 CPU 很古老,所以对你来说可能会有更大的差异。

通过视觉和 VMAF、PSNR、SSIM 或任何喜欢确定质量的方法进行比较。

ffmpeg -v error -i input.y4m -i default.hevc -lavfi "[0:v]settb=AVTB,setpts=PTS-STARTPTS[main];[1:v]settb=AVTB,setpts=PTS-STARTPTS[ref];[main][ref]libvmaf" -f null -
VMAF score: 82.979207

ffmpeg -v error -i input.y4m -i frame-threads1.hevc -lavfi "[0:v]settb=AVTB,setpts=PTS-STARTPTS[main];[1:v]settb=AVTB,setpts=PTS-STARTPTS[ref];[main][ref]libvmaf" -f null -
VMAF score: 82.986954

VMAF 分数越高越好,但仅相差 0.007747,我看也看不出来。