0

根据有关/选项的x265 命令行选项文档-F--frame-threads

使用单帧线程在压缩方面略有改进,因为整个参考帧始终可用于运动补偿,但它具有严重的性能影响。

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

4

1 回答 1

2

不值得

对于显着更多的编码时间,您可以获得微不足道的质量改进并且几乎没有文件大小差异。

您可以随时进行测试

使用 x265 编码。命令 #1 使用 default --frame-threads。该值由核心数自动确定。使用我的老年硬件,它正在使用--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 的差异,我无法通过查看来判断。

于 2020-10-23T17:57:14.760 回答