Twitch Streaming Guide

Posted by
April 23rd, 2014 4:14 pm

Hey everyone! Here’s a guide on how you can stream your game development process on Windows. Streaming is one of many ways you can participate in the community and share your development experiences.

You will need to install Open Broadcaster Software. This is a competitor to the popular XSplit, and in my opinion is easier to use. Also, it’s free!

When you start the application, you’ll see a window similar to this one:

OBS tutorial 1

You’ll see two boxes labeled Scenes and Sources, which are very important to composing your stream production:

  • Sources are aptly named video sources which can be layered and positioned to create the final output. For most purposes, simply using a Monitor Capture is fine enough. You can right click here to add and manipulate sources.
  • Scenes are configurations of sources that you can switch to using bound hotkeys or plugins that automatically switch scenes for you. I recommend setting up at least two scenes and binding them to hotkeys, one as your desktop and the other as a “I’ll be right back” or censor screen so you don’t have to show an idle screen or something private. A funny gif will suffice (yes, you can use pictures as sources).

Press Preview Stream and play around with your scene and source settings to get a feel for the application. Once you’re ready we can start working on the encoding and uploading to… Press Settings, and you’ll get this window:

OBS Tutorial 2

On the left side:

  • General — change application language, switch and add streaming profiles, various settings
  • Encoding — change which encoder is used. If you are using Intel’s integrated video on Sandy Bridge and up processors, you should use Quick Sync. I haven’t seen performance stats for Nvidia NVENC for those who use those graphics cards, but I have heard that it is actually very bandwidth heavy. So play around with these settings and observe your Preview bitrate and performance.
  • Broadcast Settings — here you can choose to record directly to file or to a streaming service. We’re using Twitch here, so what you’re going to have to do is login to Twitch, go to your Dashboard, and click Stream Key on the toolbar, and copy your Stream Key from there. Select Twitch as your streaming service and a server near you, and paste your stream key into the box. Set some hotkeys for toggling the stream (I use Ctrl+Alt+Num7 and 8).
  • Video — This controls the output size. You should choose your monitor resolution and then downscale it as you need to based on how much bandwidth you have. Since we’re not hosting full video game streams, it’s safe to set your FPS to 15 to dramatically reduce bandwidth usage and maximize your set bitrate from the Encoding panel.
  • Audio — You probably won’t have to mess with anything here, but it’s worth mentioning. You can set mute toggle hotkeys, push-to-talk, etc.
  • Advanced — Set the encoding profile to main and the keyframe interval to 2, or the Broadcast Settings panel will continue to whine at you.
  • Microphone Noise Gate — this is a panel added by the Microphone Noise Gate plugin, this will automatically toggle your microphone so background noise doesn’t get into the stream when you’re not speaking. You’ll have to configure this based on your microphone setup.

Once you have reviewed all of the settings panels, you can start your stream by clicking “Start Streaming”!

Now that you’re streaming, you can go to your dashboard, hide the preview (so you don’t get a feedback loop from the sound of your stream) and change your playing status to Playing Ludum Dare, as follows:

OBS tutorial 3

By setting your Playing status to Ludum Dare, you’ll show up on the right panel on the Ludum Dare website as well as in the game category for the jam.

Hope this helps!

2 Responses to “Twitch Streaming Guide”

  1. TomboFry says:

    Those using Linux to stream don’t have as many options however. The method I’ll personally be using is with a little script here:

Leave a Reply

You must be logged in to post a comment.

[cache: storing page]