Today I’m going to teach you how to stream your gameplay using an amazing program called XSplit. XSplit is an application that allows you to control exactly what your viewer sees, from your ugly mug on a webcam to custom graphics overlaid on top of your favorite games.
There is a free version of XSplit that streams with a watermark at a restricted framerate/resolution. If you are thinking about streaming semi-high quality footage, you’ll need to pick up either a Personal or Premium license
(XSplit Licenses). The big difference between Personal and Premium besides price, is that the Premium license allows you to stream for commercial use. The quality, FPS, resolution, and scene caps are exactly the same for both Personal and Premium licenses. While Premium comes with a few extra handy features (Stream delay, a remote desktop presenter, and a bulk licensing option), it’s not necessary for the average gamer or video enthusiast who wants to share his content. I recommend buying a Personal license, as that’s really all you’ll need.
I’m going to assume you can figure out how to download and install the program once you’ve purchased your license, otherwise we have bigger problems to discuss (Click here for more information). You would have created an account when you bought the license, which XSplit will ask for the first time you launch. Checking the auto-sign-in helps speed up the boot process for next time. We’ll start with a general overview of XSplit’s main interface:
- This is the area of XSplit where you see what the viewer sees. We will go into detail on the many different types of content you can add to this area.
- Scene Sources shows all of the current pieces of media you have attached to a certain Scene.
- XSplit’s Scene selector. A “scene” allows you to setup certain media and configurations, and save it for easy swapping later.
- The Menu bar. Most of XSplit’s functionality is accessed here.
Rather than outline every single option available in XSplit, let’s go on a short journey where we setup a Scene and ultimately broadcast it. The first thing we want to do is add a Scene Source. To do this, click Add in the Scene Sources area. We will select Screen Region as our first source.
A red crosshair will appear on your screen, allowing you to click and drag whatever section of the screen you would like your viewer to see. At this point it is important to think about what resolution you want to stream at. We’ll touch on computer requirements for streaming high resolutions later, but you should be dragging out the screen size that your game will take up. Having two monitors makes this process a bit easier (you can have the XSplit console up on one monitor, and screen region the other monitor where your game will be shown). For now, we will just make a large selection of the screen.
Once we let go of the Screen Region tool, the area we just selected appears in the main content section of XSplit. We will then click on the center of that screen square and drag it to the top left, then click and drag on the corner of the screen square to expand it across our whole view.
Now that we have our screen all set up, let’s add a webcam! Click on Add in the Scene Sources area, and select Add Camera (any cameras or webcams you have setup on your machine should show up).
It is important to note that if you have an HD Webcam, XSplit will not start your camera at an HD resolution. To utilize the full capacity of your camera so you can see glorious HD pictures of yourself, right click on your camera in the Scene Sources area, select Configure, and choose Video Output. From here, you will be able to bump your camera’s resolution up if it’s supported. I’ve found that 1280 x 720 works the best, as you can hardly notice the difference between that and 1920 x 1080.
I’ve found that I have to set my webcam to HD every time I launch XSplit. Hopefully this is something that will be patched in a future update. We’ll throw the webcam into the bottom right corner for now as we move on to one of the more exciting, customizeable features of XSplit: adding media files.
XSplit allows you to add many different types of media to your Scene that can complement your content. This means video, audio, images, and even animation files (.swf, .gif). A popular theme among the streaming community is to add graphic overlays that sit on top of the Screen Region. This allows you to personalize the in-game HUD in many cases, depending on the game or task you are streaming. For this tutorial, I’m going to be adding a graphic overlay for StarCraft 2, one of the greatest games of all time. Small side-note; if you’ve never heard of StarCraft 2, reach around the back of your computer, yank out the power cord, and place your tower directly in the toilet. Anyways, the file is basically a cut-out of the game’s HUD: a simple .png. There are a bunch of free overlays available here, created by the user PylonPants on /r/starcraft. To add an overlay, click on Add inside the Scene Sources area, then select Add Media File. Select the image from wherever it is saved to add it to your Scene. I’m using an overlay from the aforementioned link, which happens to be 1920 pixels wide. In order for this file to be viewed at it’s intended resolution, we need to drag out the corner again like we did with our Screen Region.
The overlay we’ve added, like many overlays out there, has left space for us to display our webcam. Scene Sources work like layers in Photoshop; the Source at the top of the list sits above every source below it. Since our overlay is a .png file, we are able to put our webcam underneath it while still allowing viewers to see our gorgeous face. It’s easiest to position your webcam by making it the top Source, moving it where you want it, then bumping it back underneath the overlay Source.
Let’s launch StarCraft 2 quick to see how our setup is going to look to the viewers of our stream.
As you can see, our overlay fits right on top of the in-game HUD. Just as a quick aside: if you are planning on streaming StarCraft 2, you will want to run the game in Windowed (Fullscreen) mode. You will see a significant drop in fps if you run the game on Fullscreen. Windowed (Fullscreen) also makes it much easier to switch between the game client and any other windows you have open while you stream.
Now that we’ve gotten the visual side of things all ready to go, let’s delve into the settings you’ll need to stream!
The first option you’ll want to set up is what resolution you are going to stream at. Most streams run at 1280 x 720 (you will need an upload speed of ~1.5mbps). XSplit will yell if you select the 1920 x 1080 resolution, but it’s definitely possible to stream in full 1080p. You will need an upload speed >= 3mbps to pull off 1080p, and a fairly beastly computer. There are many tricks you can find on Reddit and the XSplit forums to make 720p look as good as most 1080p streams, so it’s usually easier to just select 720p. I’ll post my ISP speeds below just as a reference for those who want to run full 1080 resolutions.
We will now select a frame rate of 30.00 for our stream. If you are having problems with lag/choppiness in your stream, dropping your frame rate down to 24.00 or 25.00 could help. When I stream at the 1080 resolution, I choose 30.00 fps. If I’m streaming at the 720 resolution, I’m able to stream 60.00 fps. It tends to be a trade off on how you want to use your upload speed, either on a higher resolution or a faster frame rate.
The transition menu allows you to control how it looks when XSplit switches to another Scene. Think PowerPoint slide transitions. There are a bunch of options; I’ve always just used Collapse because it seems the cleanest to me. Moving on, the Scale viewport option allows us to change the size of the XSplit window. IMPORTANT: This does NOT change the resolution or size of any part of your stream, it just shrinks down the UI of XSplit. I always set this to 10% when I’m streaming, as it’s less of a drain on my CPU than having it at 100% all the time.
We are now going to configure XSplit to stream to Twitch.tv. There are a few other streaming sites available (own3D.tv, USTREAM, etc.) but I’ve found that Twitch is the most reliable and well built. If you haven’t set up a Twitch account yet, create one! Assuming you already have a Twitch account, let’s select Edit Channels underneath Broadcast, and then the Add button. We will select Justin.tv/Twitch as the type.
Fill out the information for your channel, keeping in mind the Username and Password fields are for your Twitch account. For location, select a city that is closest to you. XSplit Default preset is fine. Quality, VBV Max Bitrate and VBV Buffer all depend on your upload speed. There is a nice thread on the XSplit Forums that outlines computer/ISP requirements for certain settings. I’ve got an i7 980 CPU and 3.2mbps upload speed, and I can run these settings without lag:
These settings definitely take some fine tuning to get everything working properly. My suggestion is to have a buddy open up your stream once you start testing your settings and have them let you know how it looks from a viewer perspective.
The last few options I want to take a look at fall under the Profile, General, and Hotkeys tabs. Profile offers a few fields to personalize your account, while General lets you control some Windows options as well as select any audio input devices you want for your stream. I leave Disable Aero theme checked, it seems like XSplit runs faster without it. I’ve selected a desktop microphone as my audio input device, and setup a folder where any local recordings will save to. Finally, XSplit lets you set up hotkeys that allow for fast switching between Scenes. I like to use the Num-Pad for my Scene hotkeys, as that section of the keyboard doesn’t get used at all in most games. Hotkeys really help your production value; I’m able to switch from an in-game overlay to an out-of-game overlay with the click of a button, with XSplit handling the transition between the two.
Congratulations! If you’ve made it this far, you are ready to start streaming! Simply click Broadcast -> Select your channel to go live! XSplit will let you know how many viewers are currently watching your stream, along with your current bitrate and number of dropped frames. There will be dropped frames during almost every broadcast, but if this number is consistently high you will want to adjust your quality or resolution settings.
If you’ve found this tutorial helpful, let me know (@endCarrot)! If you have any questions or concerns on anything I’ve covered today, feel free to leave me a comment and I’ll respond as quickly as I can. Check out my stream at twitch.tv/atlast_tv for some glorious Starcraft 2 and League of Legends action.