Streaming With OBS

TL;DR Version!

  • XSplit is a resource hog and expensive kind of bad for streaming.
  • XSplit is great for game capture and having scenes for recording gameplay/desktop stuff.
  • OBS is free, runs and performs miles better than XSplit for streaming.
  • Streaming is pretty fun, you should try it~

Links

Twitch

Stream site we all know about.

OBS

Free open source streaming software.

Liteyear Rhombus

Some channels I like to watch.

The People That Actually Read Things Version

Okay, now that the cool kids are gone let's get into it! Just to clarify, I am in no way an expert or someone that's super tech savvy. I am however someone that streams regularly and has dozens of games played to completion on stream. Over that time I learned a lot about how to stream and what seems to work best for me. Just keep in mind that this is just the way I prefer to do it, with what I know works for me and friends I've helped set up. I'd love to see more stream channels out there, I think it can be pretty entertaining or just a nice distraction in the background while doing stuff. When I browse Twitch looking for new channels it's always a bummer seeing people having a myriad of issues that can easily be avoided. Ranging from audio to video or some weird thing they're doing. I always want to help them out, but I don't want to come across like a dick or a know-it-all so I end up doing nothing. To help remedy that a tiny bit I just want to help spread the word about OBS and some simple steps to help start a stream or improve one already. So I'll share my setup and what software/hardware has worked for me.

Streaming Checklist!

Good CPU

Decent Video Card

Good Upload Speed

Capture Hardware (optional)

Capture & Encoding Software (OBS in this case)

USB Headset or Desktop Microphone (Optional.. kinda)

Second Monitor (Optional)

The first bottleneck your stream will need to go through is your CPU. Your CPU is going to be doing a ton of work while you stream! Besides running your computer it will play your game and or capture software. More importantly It will be encoding the video to pump it to the stream. Your CPU is one of the deciding factors of how good your stream can look, and even how well your games will run if you play from the same PC. I had my I7 975 at factory speed of 3.3GHz and I was sometimes able to do 420p 30FPS. After over clocking to 4.2 GHz I stream at 720p 60 FPS sometimes higher or lower depending on the game.

The second major bottleneck your stream will face is upload speed. This is like the pipeline to your stream. Your bandwidth decides how good your stream can look despite your CPU's best efforts. Keep in mind that online games use this as well, so to stream and play multiplayer you need a hefty upload speed. I use to have an upload speed of 900kbps tops. I streamed at 800kbps, depending on the games I’d stream between 240p ad 480p at 30 FPS. After upgrading to an upload speed of 5.1 MBps I can pretty much stream at my CPU’s limits.

A decent video card helps run games played off your PC much better. OBS also makes use of your video card for down scaling purposes. Capture hardware is needed for console streaming. It actually takes up less CPU power than playing a game off the same computer. So you can encode a lot easier this way. A word of warning though, a majority of HD capture gear does not capture older games. You need to make sure to get one that can capture old resolutions, CRT era. I like to use a dazzle capture device for older games like NES PS1, n64, SNES. Sadly it’s a POS and that’s probably why it’s able to. Another option would be to get some sort of scaler but that’s way beyond me.

As for software you’ll hear about stuff like FME, fsplit, dxtory, SCFH, XSplit. I use to use XSplit a lot, it was so much better than everything out there. It was all in one capture and encoder software that could create scenes. I feel like XSplit is a great way to create videos for youtube or even making a “Let’s Play” and is fully featured with all sorts of cool plugins. When it comes to streaming though.. it’s always been kind of bad. It takes up a lot of resources, and the “game source” option WILL lose a good amount of FPS from your stream. I recently moved on to a free open source software called OBS that pretty much let me stream at higher resolutions with better FPS while still working my CPU less. I can’t recommend OBS enough for streaming.

Why a USB headset/mic? For the most part, people don’t have dedicated sound cards. And a majority of streams that have a slight buzz or ring in their voice over is because they use a traditional mic in port. On board sound is a sensitive lady, your power supply, static or whatever can make it fuzzy. I find that USB microphones really do help work around that. On top of that USB mics tend to have better gain, so are louder. At least to my experience in this way too specific of a case!

Why use OBS?

To provide some context to this I’ll link to two videos from my test channel. After that I’ll list how my computer performed with each of these tests. I purposely chose settings that I felt looked decent and that both XSplit and OBS can handle for the specific game. In other words both programs should easily handle these settings with my setup.

PC

GTX680

I7 975 @4.2GHz

12 Gigs Ram

Windows 7 64bit Ultimate

Internet Speed 50MB Down 5.1 Up

Setup for both programs:

Resolution 906*512

FPS 60

Quality 10

Bitrate 3000kbps

CPU Preset Fast

Audio 128 bitrate at 44.1khz stereo

Aero Off

Keep in mind that twitch archives aren't perfect, if it seems too choppy try refreshing the page.

XSplit Test

OBS Test

The difference may not seem like much (FPS being more consistent in OBS) but these differences can decide how smooth and good your stream can look, and even how well your game plays. Keep in mind that I purposely went with settings that both can easily perform.

XSplit

Stream wise..

Wasn’t consistent with FPS. Dropped a few frames.

Actual game play..

Had lower framerate, jumping from 40 to 55 FPS.

A few button delays or didn’t register presses. (Most obvious when missing shield counters)

CPU temp of 84c

OBS

Stream wise..

Consistent FPS. Didn’t drop any frames.

Actual game play..

Played at the normal 70 FPS.

No button delay.

CPU temp 67c

That’s with a test that both programs can easily handle at those settings with my computer. Had there been a more intense game or higher stream settings the differences would be a lot more obvious. I just thought I’d show best case scenario for both options. I purposely chose Vindictus as the game because I know it has a feature to take priority over CPU and it has some pretty fast action.

Setting Up Stream

I was going to have an OBS guide here but it really has an excellent help tab, short and to the point with pictures. It has great tool tips as well. So with that in mind I’ll just give some simple advice on what’s easy to overlook when streaming. Best of all if you have any issues they have an IRC channel and as far as Ive seen have answered plenty of questions.

Make a test channel!

It’s always a good idea to have an off the grid channel to review archives of test streams or to send a buddy to ask “can you hear me now?”

Never watch your own stream!

The worst thing I run into is people watching their own stream while streaming. Looping audio, eating up bandwidth. Plus it just seems kind of depressing when you get that mirror effect and nobody is there. If you must, and just want to see viewer count or something, make sure you mute it!

1080p STREAM!11!!

Not at all needed. I find that frame rate is far better than resolution. I don’t mean 60 FPS. I just mean a consistent frame rate. If you can hit 60 FPS but it jerks down to 45ish all the time it will feel like crap. It’s better to lower it some so it’s nice and smooth. The most obvious thing here though is the fact that most viewers won’t maximize their window. Most like to chat while watching, dare I say that it’s kind of the point. Because of that your resolution only has to look good in that minimized window, not at it’s max. This trick can help squeeze out extra headroom for your CPU. (Thanks Rhom!)

Webcams!

I think a facecam is at it’s best if the person has great body language and reactions. If you are stiff as a board and stone faced maybe avoid this one, at least during gameplay. Horror games are always good for a scare cam though. Also don’t be a shirtless D-bag. Please.

Audio!

When it comes to sound a good rule of thumb is to make sure you are slightly louder than the game when it’s at it’s peak volume (music or action scene). I also like to test my audio with my speakers set to halfway. Remember you never know what a viewer’s volume is set to when they first join, so being super loud for them will scare them away. It’s also important to see how easily your voice clips if you get too excited and are louder than normal. I’ve had a clipping issue for the longest time, but I’ve finally fixed it (yesterday) by buying a nice mic. Test your audio for feedback! Make sure game sound goes through your headset to avoid repeating game sound effects and the like. There are always exceptions but I think playing your music playlist over game play is kind of obnoxious.

What resolution?

First you need to find out what the game’s resolution is. Always pick a stream resolution that scales to the game’s resolution well to avoid extra blurry text and overly fuzzy edges. It should only do that because it’s a low resolution, not because of weird scaling. And remember, it’s always best to make the minimized stream window look good. The maximized window is just a luxury most people won’t use.

OBS settings

First thing to do is to decide your upload speed. If it’s a multiplayer game make sure you take that into account as well. Also just because you have awesome internet you can’t just upload at 10MBps or whatever, keep in mind that viewers might not have such a download speed. So setting crazy high settings just because you can isn’t exactly a good thing. Always adjust your FPS to whatever the game goes up to or lower. It’s wasteful to have it encoding at 60FPS when you’re playing a game or using capture gear that runs at 30 FPS. I’ll provide my old and current settings to give an idea of how to set it up. Either way you should test it lots to find that sweet spot. Keep in mind that it can change from game to game.

Old settings with 3.3GHz CPU 900KB Upload

Quality 10

CPU Fast

800kbps bitrate

Resolution 452*256 at best

FPS 30 FPS at best

New Settings with 4GHz CPU 5.1MB upload

Quality 10

CPU Fast

2500-3000kbps Bitrate

Resolution 908*512

FPS 60

Find Your Own Style

Starting out streaming can be pretty rough. Twitch in particular is set up in a way where it’s tough to find new people (thanks MOBA games). So even if you have a great stream set up no one may join for a long time. Don’t give up, people will show up and if they like your stream they will stick around. Slowly you will build up regulars and depending on the game it can snowball to large counts. Personally I stream because it’s a lot more fun playing games talking to people than playing games alone. The most viewers I ever had was with the new XCom with 300+ people. It was awful, people being ass-holes and spamming chat. I found that my sweet spot is around 10-20. Any more than that and it’s hard to keep up with chat. Like with anything over the internet you do put yourself out there, so don’t take things to heart too much. Internet sucks most the time, but not always! I’ve made plenty of friends there that I speak to almost every time I stream.

I guess that’s it! I hope this might help someone out with their stream. I’d love to hear about other people’s preferred set up and their channels! Just don’t be a shirtless LoL streamer playing music over their game the whole time please..

Please excuse my typos and grammar!

1 Comments