15.12.2022, 17:21
(15.12.2022, 14:24)Selur Wrote: Not totally sure about how ffmpeg handles it, but normal x264 only respects buffersize&co if profile&level are set. You only specified the profile.
Fixed
(15.12.2022, 14:24)Selur Wrote: You probably might want to read up on vbv restrictions and read up on ffmpegs 'x264-params' instead of using maxrate and bufsize. The vbv readup is needed, so that you understand what that max bit rate really is meant to do, since it does not set an absolute maximum bit rate.
Read some on that VBV functionality, I believe I applied it properly below.
(15.12.2022, 14:24)Selur Wrote: 'opencl=true' <- is probably a bad idea if it enables the opencl support in x264, since the opencl support in x264 isn't really useful and sometimes even harmful.
Removed it, but not sure why it would be harmful?
Okay, this was the command I got to, but there was significant blockiness when movement appeared, almost like I was watching 6Mb/s 1080i50 streams on TV:
preset=ultrafast profile=high444 level=4 crf=17 tune=zerolatency maxrate=20M bufsize=20M x264-params=pix_fmt=yuv444p:hwaccel=dxva:force-cfr=1
Maybe if I dropped the preset to veryhigh, or somehow forced an Open GOP and interlacing, but I'm not sure it's worth it, since most of these will increase CPU usage and at this resolution games are CPU-bound, so it's already high enough.
I compared the above command to this H264 NVENC one and the results were far from comparable:
profile=high444p level=4 rc=vbr maxrate=20M bufsize=20M
Plus the GPU usage was very low for the quality of the output: 8%.
Maybe because I used VBR instead of CRF?
At this point I am not sure it's worth scratching our heads further, since I now have a good quality output file, while keeping the size low. Unless there is some way of setting the ildct and ilme flags for interlaced encoding, plus limiting the output fields to 60 from within the encoder, since OBS only outputs progressive by default, which is not possible, from my lookups.
Thanks for your time, you've been a big help, as always.