Open Broadcaster Software is free and open source software for the purposes of streaming live media content to the internet or to video files.
Originally I just made it for myself because I thought "why should I pay a subscription for software I could probably write myself?"
..And so, I did. And it evolved into somewhat of a monster of a project. And that's pretty much the end of the story.
I hope people can make use of this application, or otherwise learn something from it. I'm having a ton of fun writing this software and am learning much in the process. Overall it's been an excellent experience.
This project is free and licensed under the GNU General Public License v2.
fray`Fenner's OBS Guide
About
So what's the deal with this?
Well, motherf*cker, it's a free and open source software for media streaming, similar to xsplit.
Why am I writing this guide?
I was extremely impressed when I downloaded this software and gave it a go, I found a massive increase in performance coming from xsplit which would even allow me to stream 1080p 30fps if my internet could handle it on my i5 2500k. Xsplit was making my ingame choppy even just at 720p and I had played with the settings a lot to try and get it to run smoother.
What can this do for you?
Honestly it's kinda funny since most of us live in Australia, we're restricted by bandwidth rather than processing power. However, if you do struggle to get a stream in high quality because your CPU isn't powerful enough, this may be worth giving a try with his superior performance being easier on the CPU. Also it's free, open source and offers nearly all the features that xsplit does even though its new to the scene. Xsplit will have to step up their game fairly soon if OBS stay around as it is pretty much on the level of xsplit already and are not charging a penny for it.
1. Scene Area
This is where your Scenes go. Scenes are a container for all your sources. For basic streaming you will only need 1 but if you want to go more advanced and have a dynamic experience for your viewers you can use multiple. The most basic use for multiple scenes for SC2 players is having one scene for Ingame, with a source being the SC2 window and another scene for out of game, hiding the SC2 window showing sponsors and allowing you send penis pictures to your fan girls without your viewers getting a glimpse.
2. Source Area
Sources are what a scene is made up of. You can have as many sources within one scene as you want, layer them in any fashion you want and also resize them to any size you want. Main sources for an SC2 player are video capture to capture the screen, Bitmap file for an overlay and also the webcam.
3. Global Sources
Global Sources allow you to create a custom source with all the settings that you want, you can then add this to any scene in this source area without having to set up the source every time you add it to a new scene. This is great if you have some larger project or you're caster who fiddles around with their scenes often.
4. Settings
This is where you'll find everything to do with encoding, video, audio and all that fun stuff. I'll show you how to set this is up pretty basic later on.
5. Plugins
OBS allows for people to create plugins for their software. I use a great plugin that auto switches between scenes when you're in a game and out of a game - Also great for hiding those penis pictures.
6. Preview Stream
Unlike xsplit, OBS requires you to click a button to have a preview of your stream. I'm not sure exactly why they decided to do it this way instead of constantly having a preview, probably to save some cpu power or something. Anyway, if you want to preview your Scenes whilst you're not streaming you will have to click this bad boy first.
7. Start Streaming
Pretty self explanatory. If you click, will start your stream.
8+9 Mic/Sound Volume
This is the mic/sound volume that will output to your stream, not on your computer. You can click the speaker or microphone icon to just mute.
10. Preview Window
This is where you will able to see your scene in action if you have clicked the preview stream button or you are already streaming.
4. Setting shit up.
4.1 Adding a Scene
The first thing you will want to do, is add a scene. To do this, simply right click in the Scene Area and click Add Scene. You will be prompted to name it. This guide will just be for setting up 1 Scene but you can always add more scenes later on if you want one for out of game, or other things. If you right click the Scene after it is made, you can choose to set a hot key to it - great for people who want to make use of multiple Scenes.
4.2 Adding a Source to Your Scene
So since this is aimed at SC2 players, the guide will cover making one scene with 3 sources. The main screen, webcam and overlay. If you don't want one of these you can simple just skip a part.
4.2.1 Adding the Main Screen Capture
To add a capture of the main screen, for sc2 or any game you want to stream right click the source area and choose "Add Software Capture Source." After naming it a settings window will be thrown in your face. If you want to keep it simple just leave it as it is, it will capture the entirety of your main monitor. However you can change some things if you want. If you select window capture you can choose to capture JUST StarCraft 2 or any other window, this is also great if you want to hide those fan girls you have pestering you on Skype from your viewers and are too lazy to set up multiple scenes. Sub-region allows you to choose a smaller part of the screen if you don't want to capture an entire screen.
4.2.2 Adding a Webcam
Adding a webcam is simple. Right click the Source area and select Video Capture Device. After naming it you will be able to see all the video capture devices on your system, simply select your webcam from the drop down menu and choose the largest resolution for best results. You can resize it within the scene later, don't worry about this yet.
4.2.3 Adding an Overlay
To add an Overlay, right click in the source area and choose Add Bitmap. Browse and find your overlay and boom you're done!
4.3 Editing source locations and resizing within your scene
The first thing you want to do when you want to move things or resize things within your scene is hit Preview Stream. This will allow you to see your scene within the Preview Window.
4.3.1 Changing Source Layer Position
You may find that you can't see 1 of your sources, this is because there is a layer system and if for example your webcam is behind your main screen you wont be able to see it. So to bring your webcam to the front, select it in the Source Area then hit Ctrl + UP or DOWN arrow key. This will move it up or down within the layer system.
4.3.2 Resizing or Moving a Source
To resize or move a source within a scene, select it in the source area then in the preview area you will see a red box around the source with handles allowing you to resize it. This works like any image editing program, grab the handles to resize or just select the box to move it around.
4.4 SETTINGS.
Let's set up all the encoding settings and other fun stuff. Click the settings button.
4.4.1 Settings - General
Not much to this page but very useful. You can set a name for your settings profile and save it or rename, allowing you to have multiple setups - useful if you stream to more than 1 streaming service or you stream on different connections
4.4.2 Settings - Encoding
Awww yea baby, Encoding. Encoding can go into a lot of depth but this guide is meant to be simple so basically what you need to do is a speed test to find out how much upload you can spare for streaming. www.speedtest.net . Your upload will be given to your in Mbps but the settings for encoding are in kb/s to translate this just add three 0's on to the Mbps, so 0.8Mbps becomes 800kb/s. Once you know how much upload you have I recommend taking that number, so in this case 800 and then minus 400 from it, this will allow you stream with enough bandwidth left for Sc2 meaning you wont get any delay ingame whilst streaming.
AAC vs MP3 - I did a bit of research on this and it seems they're pretty much identical with AAC having slightly better quality at lower bit rates, if you're streaming audio at a bitrate under 128 I suggest using AAC and if higher it doesn't matter.
Ok so since i have 800kb/s altogether, i put 400bitrate in to the Maxbitrate and set the Buffer Size to the same - I find that the best results are when they're the same. This is probably different for really good connections. I simply set Audio encoding to AAC at a bitrate of 64, it still sounds decent even if its a low bitrate, if you have a really good connection and lots of upload to spare you can pump this up, but not really any reason to go over 192. Only Audiophiles with the sickest headphones ever will be able to tell the difference between 192+
So rule for noobies: take your bitrate, minus 400 from it then use that for your Maxbitrate and buffer rate. Set the audio to 64 as then it won't affect your bandwidth too much anyway. I recommend to always have the quality set to 10 regardless of your connection.
4.4.3 Settings - Broadcast Settings
This is where you set everything up relating to your broadcasting service. You can choose to stream to a live stream or to a file from the Mode drop down menu. In this case we are going to stream to twitch, so we choose live stream. Then from the streaming service we select Twitch. Then all you need is your stream key from twitch which can be found here: http://www.justin.tv/settings/channel/info/ Once you enter your stream key you're done. You can choose the server that is the closest to you and also save to a file as well and even set up hot keys for starting and stopping your stream here. I'm not quite sure what the dashboard link is, it is unnecessary anyway.
4.4.4 Settings - Video
This is where you choose your output resolution for the stream and this is where Aussies start to cry because they know they don't have the internet to handle 1080p. Here is a great page with good guidelines for choosing a resolution in relation to the upload and CPU you have. You want to adjust the resolution down scale, not the Base Resolution.
If that confuses you, here are my own untested guidelines:
300-500 bitrate: 360p, 25fps
500-800 bitrate: 420p, 25fps
800-1500 bitrate: 720p, 25fps
1500+ bitrate: 720p, 60fps - 1080p, 25fps
2500+ bitrate: 1080p, 60fps
4.4.5 Settings - Audio
Audio settings! For the most part this can be ignored however you can choose an audio device (best left to default if you don't know what you're doing). You can set a key for push to talk if that is what you want (a great feature xsplit doesn't have) and you can set keys for muting and unmuting your mic. You can also set a higher mic boost if people are struggling to hear you.
4.4.6 Settings - Advanced
Most probably shouldn't mess with this however I think this can be a useful page for people with bad internet and good processors. The x264 CPU Preset is the encoding preset and in basic terms, if you set it to slower then you will be able to produce a higher quality stream at the same bitrate - with the cost of putting a lot more strain on your cpu. If you find you have good fps in-game and your internet is holding you back you can try slower presets, but it will purely just be trial and error untill you get a middle ground you like and the improvements won't be massive.
If you have problems with the audio and the video syncing on your stream you can check this box to fix that.
I have no f*cking idea what send buffer does, I suggest not touching it unless you have a clue of what it is.
Hope this helps someone and I hope xsplit start to really pump more features into their software with this free competition out there.
Even the smallest donations help keep sc2sea running! All donations go towards helping our site run including our monthly server hosting fees and sc2sea sponsored community tournaments we host. Find out more here.