Question / Help Unstable bitrate (with CBR)

ddly

New Member
Hello!

I'm getting the unstable bitrate while streaming. I set it to 6000 or 5900 and it jumps from 2900 to 8000, CBR enabled. I stream PUBG through the NVENC.
I have a gigabit network (750 mbit with speedtest). PC confing is pretty powerfull. Network connected with cable.

What could be the problem?

Upd: Also tried to stream on youtube with 18000 bitrate, it jumps from 16000 to 21000.

Best regards.
 
Last edited:

Pupp3tm4st3r

New Member
Hi,

do you have any visual issues? I mean, is your stream image quality affected by this? When I´m streaming (usually with 5.5Mb/s) the bitrate is fluctuating as well - it depends on the rendered image (and compression) I think.

Regards
Simon
 

ddly

New Member
Hi,

do you have any visual issues? I mean, is your stream image quality affected by this? When I´m streaming (usually with 5.5Mb/s) the bitrate is fluctuating as well - it depends on the rendered image (and compression) I think.

Regards
Simon

Hello Simon,

Yes, the image quality could go down, get pixelated etc. I found that it could happen in FPS games when you move a lot.
But the bitrate... shouldn't it be stable, or maybe jump not so hard? I looked at the other steamers, their image quality is really good.
Aslo tried to stream througth the x264, getting the same result, cpu i9-9900k.
 

DeMoN

Member
Why CBR in the first place? VBR is much more efficient and you greatly reduce the extreme artifacting on a sudden motion
 

DeMoN

Member
Twitch supports it. Never ever had issues.
and youtube transcodes anyway. And then it makes even more sense to use VBR to get more quality within the bitrate of your OBS video and thus a better transcode.
 

DeMoN

Member
That may be. But I dont care what they recommend.
VBR causes less traffic on simple scenes like desktop, menus etc and thus I have to upload less on such moments and the viewers less to download
VBR quality is much higher than CBR
The stream is smooth
The stream seeking works

Why would I change?
 

koala

Active Member
From your point of view, VBR is fine. But from the streaming service's point of view and the viewer's point of view, it's not good. It's due to the way the internet works, especially packet forwarding in the backbone routers. If there is a certain amount of constant data flow detected between some routers, it is classified as some kind of data streaming with realtime requirement to avoid lags and buffering on the clients. This is in contrast to short requests from small downloads or http browser traffic.To achieve no-buffering for the clients, the backbone routers reserve the detected bandwidth for the streaming data.

But with VBR the bandwidth is variable. The backbone routers reserve something in the middle between the lowest and the highest detected data rate. Now, if your stream suddenly sends high data rate due to high motion, it may be that it congests the reserved bandwidth, and the viewers get buffering. You as sender doesn't see this, and even if you watch your own stream realtime, you will not always see this. It's not in your void's as well.

It gets worse if you have a large amount of viewers. In this case, the outbound network connection of the streaming service might congest if your VBR goes up to the upper limit. This results in lags and buffering on the clients. The streaming service puts as many users on a server as it is possible without congesting its network connection. If you use VBR, you suddenly need about 20% more bandwidth, and this multiplies with the amount of viewers. To not congest the outbound, the streaming service has to reserve this 20% more bandwidth in the first place, but then there is no point in using VBR at all - you can just use CBR with the same bandwidth as your upper VBR limit.

And this is what you as streamer should in fact do: don't use VBR. Instead, use CBR with the same bitrate you set as upper VBR limit. It might look as inefficient use of bandwidth, but it grants your users a smoother and no-buffer stream.
 

DeMoN

Member
thats too unfortunate meh :( :(
CBR is the most inefficient encoding you can do :( :(
And I also hate it that a sudden motion causes so harsh artifacting for that second :-/

But it should work for youtube, shouldnt it? They dont send the source, they send their transcodes.
I use rather youtube and I have not much viewers too.
 

DeMoN

Member
Their transcodes arent in CBR.
They use their normal vod transcodes. They even stream their vp9 transcodes now.
And they're same transcodes like they do with the vods.
e.g. ID number 308 is the encoding for 1440p60 VP9. And they're NOT CBR. They're in Constrained Quality Mode
http://wiki.webmproject.org/ffmpeg/vp9-encoding-guide

The bottom is what they use.

But even if they would use CBR - you would benefit by uploading VBR and as huge bitrate as your uploadspeed can handle stable, because obviously you get a better transcode if you give it cleaner video to work with.
 
Top