OBS ignores video encoder parameters in custom output(ffmpeg)
So i use obs to stream to an icecast streamserver however people reporting that the stream closes sometimes on their end.
i suspect that this is caused by the big variation in the bitrate. i set it to 4mbit but it goes up to 10mbit (see screenshot) and on low motion in scene it goes down to 1mbit. i think this means that the mode is vbr and not cbr.
i tried to use custom params (see screenshot) but no matter what i put in this field the result is the same. the bitrate always fluctuates too much.
any ideas on how to get cbr like you would get when you stream regular to youtube via nvenc_hevc?
unfortunately i need to use the recording function of obs for that since it needs icecast needs a very specific url and i couldnt get it to work with the stream function.
7 Replies
Setting the bufsize that high will make it less like CBR. Nvenc already fluctuates a fair amount, so I wouldn't set it any higher than equal to the bitrate. Unsure if you can use filler with the icecast protocol, but try enabling filler data if possible @Yasaka
Seems there is no filler option for hevc_nvemc ffmpeg. I believe there is in avcodec, but appears to not be exposed
could also try
preset=p6
, which would get you lookahead, which should help with bitrate spikeswhat would be the exact syntax for that? -preset p6 or preset=p6 ?
GG @Yasaka, you just advanced to level 2 !
I think it'd be
-preset 6
No, syntax for custom ffmpeg output is param=value param=value
@Yasaka
Space separated
this seems to work. the bitrate now is always between 3.5 and 4.9
thanks