Question / Help Question....what is the proper upload bitrate for OBS for 20MbUp?

Kiada

Member
^^^^ 3500 is the maximum Twitch will allow non-partners before declaring it a DDoS because it severally affects the ingest servers. Don't use a setting this high because the majority of viewers won't be able to stream your broadcast. Stick to 2000 - 2500.

flavoured, the encoding is done on your CPU using the x264 encoder - not your GPU (unless you're using either Shadowplay or QuickSync). Hardware encoding gives worse quality results than x264, but it removes the strain of encoding from your CPU. If you use a hardware encoder (like Shadowplay, QuickSync or a capture card) then you will need to stream at a higher bitrate to get equivalent quality results to using the x264 encoder.
 

Jack0r

The Helping Squad
This got all a bit messed up it seems. First of all, a 4mbps stream is not a DDoS attack on twitch, but they leave it open that they might some day close down streams with such bitrates if necessary. And its of course true that Twitch very often is not even able to deliver 2mbps streams without problems, so I can only recommend to stay below the 4mbps margin.
I personally stream First Person Shooter at 720p, 30fps, 3-3.5 mbps and on the fast preset. Slower paced games would definitely look good at a lower bitrate and more viewers would be able to watch my stream.
Its a matter of what your target is, better quality, or more viewers? And if you want to go all out on bitrate, just use a service that does not limit you.

To the encoder discussion:
By default OBS uses the x264 that runs on your CPU
QuickSync would use the integrated Intel CPU
while NVenc would use the Nvidia GPU (like Shadowplay does)
and soon OBS will also support VCE which uses the ATI GPU

Apart of x264, all encoders are hardware encoders. These depend on the version of your GPU/CPU and often need more bitrate to create the same video quality. They are getting better and better, the newest gen QuickSync can already be used to stream. I think what Ferretbomb wanted to say is that the NVENC/Shadowplay is qualitywise far behind x264 and also behind QuickSync. (I dont have enough results on VCE to comment on that)

So for online streaming its currently the best way to use x264 whenever possible. For recording I would certainly recommend a hardware encoder, as you can easily crank up the bitrate.
 
sorry for going off topic here
while NVenc would use the Nvidia GPU (like Shadowplay does)
I have a question on that, can we stream with it? I tried doing 60fps but for some reason on Twitch watching the past broadcast it was all messed up, skipping all over the place even though no issues was happening on OBS(doing some local recording test was all perfect)... now if I drop to 30fps then Twitch does stream it properly using that setting. So is there an issue with 60fps + NVenc on streaming to Twitch? Using a GTX 750 Ti

-----

Nevermind tested again right now and it went all fine, I guess the server was acting odd last night when I tried.
 
Last edited:

Boildown

Active Member
Twitch's video player uses Flash, and Flash can't handle high framerates properly. That's why I limit my framerate to Twitch to 40fps or so, even if I can send higher than that, the Flash player won't display it.

Although, Flash has gotten somewhat better with a recent update when viewed in full-screen. Be sure to keep your Flash updated.
 

Sapiens

Forum Moderator
The problem he's describing sounds much more like an issue with NVENC on his end. Flash player can handle 60 FPS fine as long as the resolution isn't too high.
 

Boildown

Active Member
And 1280x720 is too high for 60fps (possibly excepting full screen mode with updated Flash).

I thought it sounded like a Flash problem to me, or I wouldn' t have mentioned it. An NVEnc problem would present itself in a save to disk, which he said was fine.
 

isamu

New Member
Excellent discussion guys. You all have educated me on quite a few things and I'm learning a lot from this thread. So many misconceptions I had regarding OBS and good quality.

Apparently according to you guys, keeping the stream at 720p or even 480p is good enough for twitch, so I am going to lower my res to either one of those. Decent framerate is more important to me. I was also under the assumption that if my friend who is watching my stream, has a download speed of around 15Mb, that is only adequate for watching 480p or maybe 720p streams, and is NOT acceptable for watching 1080p streams. No wonder he keeps complaining that the stream keeps skipping or lagging when I set my res to 1080p. I guess it's all about keeping it low.

Final misconception I had was Nvenc being the be-all end-all option for streaming, and that the other two options(x264 and Quck Sync) are garbage in comparision. Guess that's not the case. According to you guys' posts I should be using x264 correct? You say x264 offer better performance than Nvenc? My CPU is an older Intel Core i7 950 OC'ed @ 4.0Ghz. Can I expect that to be sufficient for good stream quality using x264?
 

Boildown

Active Member
Its all about quality per bitrate and CPU usage to get that. x264 has the potential for the highest quality per bitrate, but also uses the most CPU to do that. Hardware encoders like NVEnc and Quicksync reduce the CPU usage, leaving more left over for your game, but are lower quality at a given bitrate.

Of course, x264 is also very configurable, so a lot depends on the x264 preset, when you're using x264. UltraFast preset is bad quality but very light on CPU usage, comparable to NVEnc. On the other extreme, Slow preset is great quality but uses so much CPU that practically no CPU can achieve it and run a game at the same time. The default x264 preset of Very Fast is a good middle ground for most people.

Most of the hardware encoders also have presets of their own, but they seem to make less of a difference one way or the other than x264 presets.
 

Schlomo Sun

New Member
sorry to dig up this old thread, but the info in here is exactly what I was looking for. I was wondering if anybody has tried nvenc on nvidia gtx 960, 970, or 980 cards. I've read those cards have improved encoding...

"NVIDIA’s latest generation of GPUs based on the second generation Maxwell architecture support full Hardware acceleration for High Efficiency Video coding (also known as HEVC or H.265) along with support for H.264 encoding and related encoding features that were supported on earlier Kepler and first generation Maxwell GPUs. The second generation Maxwell GPUs also provide significant improvement in encoding performance in comparison to earlier generations of NVENC. This improvement in performance is due to improvements in architecture within NVENC hardware"
source: http://developer.download.nvidia.com/compute/nvenc/v5.0_beta/NVENC_DA-06209-001_v06.pdf
(2nd generation Maxwell GPUs being gtx 9xx series cards).

Does the MaxwellNVENC encoding come close to CPU x264 encoding? If so, can the 2nd gen Maxwell nvenc encoder handle 1080p60fps streaming? since streaming at 1080p60fps is too intensive for most CPUs

sidenote... I've read it's possible now to stream to youtube at a maximum bitrate of 9000 Kbps.
source: https://support.google.com/youtube/answer/2853702?hl=en
 
Last edited:

Jack0r

The Helping Squad
I created two comparison videos of the 4 encoders we support atm, using 720p resolution, 30fps and 2500kbit bitrate and 1080p with 3500kbit, both with default settings apart of that:
Side by Side:
https://www.youtube.com/watch?v=PK6IVEfJLqk
Quatered:
https://www.youtube.com/watch?v=vfM4esnQz7E
In general x264 with a slower preset gives the best quality, the hardware encoders often need more bitrate, especially in fast paced situations, but the differences can be small at times and depending on your content, so in the end I would recommend to just test it if you have a nvenc capable card.
 

Schlomo Sun

New Member
Thx for the response, Jack0r. What video card did you use for nvenc encoding in those videos?

And also, I should have said, I don't have a nvidia card. So I can"t test it. I'm looking to upgrade my amd r9 280.

I have the available bandwidth so I can stream at higher bitrates. I would like to see the comparisons of the gtx 9xx card using nvenc(nvidia video encoder 5.0) at a bitrate of 9000kbps vs CPU x264 at 9000kbps.
 

FerretBomb

Active Member
Regarding bitrate, read earlier in the thread. Unless you're a Twitch Partner, you should not exceed 2000kbps. No matter how much bitrate you have available, your viewers will stutter and buffer worse and more often, the more you exceed this.

NVENC should not be considered a replacement for x264 (and no one is using x265 livestreaming yet, or probably will be for at least 5-10 years); it's frankly more of a band-aid for people with bargain-basement CPUs (like the Core i3 series) to allow them to stream. Regardless of which model card you have, it's crap quality at a given bitrate, when compared to x264. It can be used for local recordings effectively, as you don't have to worry about bitrate in that sort of situation, and can recompress the completed video later prior to upload.

If you have a decent CPU and aren't recording a second copy of OBS to record locally at higher res/framerate than you are streaming, NVENC is not an option you will want to pursue. It still looks like junk at reasonable streaming bitrates, despite the marketing 'upgrade' hype.
 

Schlomo Sun

New Member
I've read the entire thread and I know that streaming at the bitrate you mention is crap with nvenc. I guess I should have said I want to stream to youtube. That's why I want to know what the quality is like at 9000kbps. And i've yet to read how the nvidia gtx 960, 970, or 980 perform using the nvenc encoder. I've read they have up to twice the encoding speed from the gtx 760, 770, or 780 cards.
 

Schlomo Sun

New Member
...Regardless of which model card you have, it's crap quality at a given bitrate, when compared to x264...

....NVENC is not an option you will want to pursue. It still looks like junk at reasonable streaming bitrates, despite the marketing 'upgrade' hype.

so you have tried the newer model cards? is there any improvements over the previous gen cards? I thank you for your input, but i just want to hear that from somebody that has first hand experience with the latest hardware and encoders. I don't want to base my next purchase on an assumption.
 

Boildown

Active Member
I have a GTX 750Ti in my encoding PC, which has the Maxwell chip, with improved NVEnc encoding over the Kepler based Nvidia GPUs. But the improvement in quality per bitrate isn't enough to create a good looking stream at low bitrates like what would be sent to Twitch.

That said, if you could stream at 9000 bitrate, it might be enough, I can't say because I haven't tried it. It certainly won't look perfect by any means, I saved to hard drive using my 750Ti and NVEnc encoding at 20,000 bitrate and I could still notice a slight quality degradation (but it was acceptable to me, because I needed to save a lot of recordings, for this project). 9000 bitrate would be far worse but yet might still be acceptable for live streaming.

Anything recorded with bitrates on the order of what Twitch allows with NVEnc looks like garbage, even with the latest Maxwell chips though. NVEnc is for high bitrate recording, not streaming, generally speaking. Not sure anyone has tried 9000 bitrate streaming to YouTube with NVEnc that I've ever heard of. If someone wanted to test it, you could save to disk at 9000 bitrate using the same settings you'd stream with, and then just play back the file, and make up your own mind.
 
Top