rigaya / QSVEnc

QSVによる高速エンコードの性能実験
http://rigaya34589.blog135.fc2.com/blog-category-10.html
Other
313 stars 28 forks source link

The VBR mode may not work correctly. #105

Closed kliffgomel closed 1 year ago

kliffgomel commented 1 year ago

d:\SOFT\QSVEnc\QSVEncC64.exe --log log.txt --log-level debug -i Netflix_SquareAndTimelapse_4096x2160_60fps_10bit_420.y4m -o nf_qsvenc.hevc --raw --input-res 4096x2160 --fps 60/1 --input-csp yuv420p10le --device 1 --codec hevc --level 5.1 --profile main10 --tier high --output-depth 10 --vbr 26000 --max-bitrate 40000 --vbv-bufsize 80000 --quality best --sar 1:1 --chromaloc 0 --colormatrix bt709 --colorprim bt709 --transfer bt709 --colorrange limited -f hevc

encoded 600 frames, 3.28 fps, 24374.77 kbps, 29.06 MB encode time 0:03:02, CPU: 2.6%, GPU: 34.8%, VD: 2.3% frame type IDR 1 frame type I 1, total size 0.22 MB frame type P 150, total size 18.78 MB frame type B 449, total size 10.06 MB

These parameters do not allow me to reach the target bitrate, the wrong VBV buffer size is also displayed in the log file. I think that the work of VBV mode is not correct.

log.txt

rigaya commented 1 year ago

VBR mode does no mean you get exactly the bitrate you have specified , it will have some difference especially with short videos.

In this case the video has only 600 frames, and only 6.3% of difference. You might be able to get more close bitrate with longer videos.

kliffgomel commented 1 year ago

This was a test for an example, I noticed this problem when processing video films. Look at the log, the video buffer is also displayed incorrectly there. And the bitrate of the compressed file is at least 10% lower than the target bitrate, for large videos too.