Best render profile for 1080p x264 - best quality in smallest size

Hello, Is something like that correct? I’d like best quality in smallest possible size with good compatibility with older devices.

ab=384k acodec=ac3 channels=6
bf=2 crf=20 f=matroska g=50 
movflags=+faststart preset=slower progressive=1 
vb=8000 vbufsize=32000k vcodec=libx264 
vlevel=4.0 vmaxrate=16000k vprofile=high

vlevel and vprofile - set High 4.0 profile for better compatibility instead of KdenLives default version 5
ab=384k acodec=ac3 channels=6 I prefer AC3 codec (Dolbly Digital)

'bf - 2 bframes = good balance compression and compatibility

g=50 GOP (Group of Pictures) - 2xframerate - bigger=better compression of static scenes (worst for action)
preset=slower - slow as hell = better quality

vbufsize=32000k - doubled of vmaxrate
(btw. through GUI textbox I can’t set more than 9999k)

But I’m not sure: can I use together
crf=20 and vb=8000

something add? or change?