19.02.2025, 09:03
It IS used with nal-hrd vbr/cbr (= VBV):
In your command line, you did not specify VBV: there's no bitrate target or constaint so x264 has no ratecontrol activated at all. CRF alone is consistent quality across the video, it is unbounded in term of bitrate. If you additionally specify nal-hrd CBR or VBR, you must specify VBV and then lookahead won't be discarded anymore. In this situation precisely zero must be avoided at all cost!
x264 --vbv-maxrate 40000 --vbv-bufsize 30000 --no-mbtree --rc-lookahead 250 --crf 18 --fps 25/1 --demuxer y4m -o out2.264 input.y4m
=>
options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=6 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=250 rc=crf mbtree=0 crf=18.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 vbv_maxrate=40000 vbv_bufsize=30000 crf_max=0.0 nal_hrd=none filler=0 ip_ratio=1.40 pb_ratio=1.30 aq=1:1.00
In your command line, you did not specify VBV: there's no bitrate target or constaint so x264 has no ratecontrol activated at all. CRF alone is consistent quality across the video, it is unbounded in term of bitrate. If you additionally specify nal-hrd CBR or VBR, you must specify VBV and then lookahead won't be discarded anymore. In this situation precisely zero must be avoided at all cost!