Quantcast

How To Stream Your PC Gaming Online, Step-by-Step

By Nathan Edwards

It's cold. It's dark. It's winter. What better way to keep the loneliness at bay than to a) play video games b) for an audience c) on the INTERNET!

There are lots of ways to stream your gaming session online, and we’ve talked to a bunch of prominent members of the streaming community to get their recommendations for the easiest way to get started. Their recommendation for the best flexible, powerful, and free way: streaming on Twitch.tv using the Open Broadcaster Software. Getting this set up isn’t difficult, and we’re going to walk you through the process to make sure you get every setting optimized. Our goal is to broadcast the game itself, plus video and audio of the player. That's you! Well, me, for the purposes of this guide. Here's what you need, and how to set it up.

Photo credit: Flickr user vsmak via Creative Commons

A Decent PC

Encoding and streaming your game, your voice, and your ugly mug takes processing power and RAM. As I mentioned in my last story, Twitch recommends an Intel Core i5-2500K CPU (or "AMD equivalent") or higher, plus 8GB of RAM. This is to ensure you have enough processing power and memory to encode while playing your game. djWHEAT says, "You could stream using lower-rated hardware, but the quality output will suffer." You also need a graphics card powerful enough to play the game, and an internet connection with enough upstream bandwidth to stream your video. The Open Broadcaster Software website has an estimator to help you figure out what streaming settings to use. The higher the resolution and the frame rate, the more CPU- and memory-intensive the encoding process will be.

Photo credit: Flickr user robscomputer via Creative Commons

I'm using a desktop PC with an i5-2500K, 16GB DDR3/1600, Windows 8.1, and a GeForce GTX 680. My upstream bandwidth is about 6Mbps. In order to get decent frame rates, I'm going to aim for a broadcast resolution of 1280x720. This isn't the resolution I'll be gaming at, just the resolution I'm sending to Twitch's servers. Further down I'll discuss how increasing your resolution impacts your computer's performance.

A Webcam and Microphone

As Josh Augustine told me, "People don't watch for the games, they watch for you." If your audience can actually hear and see you as you're playing, they can connect with you, and with the process of playing the game. Watching Jeff Green play Dark Souls for the first time, while eating a sandwich (or a bowl of spaghetti) inspired me to go back to Dark Souls, and get my ass kicked all over Anor Londo exactly as badly as I did when I got frustrated and quit last winter. I'm using a Logitech C525, which I got for about $40. It has a built-in microphone, though I'll be using the mic on my headset.

I too would like to grimace on camera while dying in Dark Souls

A Second Monitor

DjWHEAT says it's nice to "[Be] able to play on one monitor while monitoring your channel and interacting with your audience on the other. Most streamers will suggest this as you can also put your production software (OBS, XSplit, etc) on the second monitor."

This second monitor doesn't have to be fancy. Basically, use your good monitor for your game and any old thing for the secondary screen.

A Twitch.tv Account

It is pretty damn easy to set up a Twitch account--either use your Facebook credentials or create a username and password. If you have a known gaming or social media handle, consider using that. A username that's easy for people to share and remember is better than a forgettable one. Remember, your username is also your Twitch page name, so choose wisely. Once you have an account, log in and navigate to your dashboard. You'll need it shortly.

Set Up Open Broadcaster Software

Download the OBS from OBSProject.com and install it on your computer. Twitch.tv has an extensive OBS setup guide, but I'll run through the basics here. In order to capture certain games you may have to run OBS as an administrator. Open OBS, then go to Settings > Settings and click the Encoding tab. Select "Use CBR" and "Enable CBR padding." For "Max Bitrate," the Twitch setup guide recommends "3300 or 80% of your upload throughput, whichever is lower." Buffer size should be the same as Max bitrate. Keep the audio encoding to 128Kbps AAC, 44.1kHz stereo.

Go to the Broadcast Settings menu. Under Mode, select "Live Stream" unless you just want to make a local recording, and select Twitch / Justin.tv as the streaming service. Pick a server close to you. Under Play Path/Stream Key, you'll need your Stream Key from twitch. This is how you authorize OBS to stream to your Twitch account, and you can find it at this link if you're logged into Twitch. Check the Auto-Reconnect box, set the timeout to 10 seconds, and the delay to zero. The dashboard link should just go to http://www.twitch.tv/broadcast/dashboard/. If you're saving local copies (which you should if you want to upload archived sessions onto YouTube or keep them for posterity), check Save to file and set an appropriate file path. Since these take up a fair amount of room, you'll want them on a mass storage drive, not an SSD (if you have one). You can set hotkeys to start or stop the stream here too.

Under the Video tab, the "Video Adapter" is whatever GPU you're using (most people have one), and the Base Resolution should probably be the resolution of the monitor you're gaming on. As the setup guide says, "Resolution Downscale is the resolution that you send our servers. Lower resolutions will consume less bandwidth overall, and use much less processing power." I'm using 1280x720 at 30fps, but if you wind up with power and bandwidth to spare, you can increase framerate to 60 (for high-fps games) or resolution to 1080, though you'll take a performance hit. Twitch doesn't recommend exceeding 1080p or 60fps on your stream.

When I streamed at the full native resolution of the game, my CPU load averaged around 70 percent and RAM usage hit around 5GB.

By way of example, I'm playing Dark Souls at a resolution of 1920x1080, at its default locked frame rate of 30fps. The average load on my system, before streaming, is around 20 percent CPU utilization and around 3.8GB of RAM. When streaming at 720p/30fps, CPU load hits closer to 40 or 45 percent, while RAM usage hovers around 4GB. When I streamed at the full native resolution of the game, my CPU load averaged around 70 percent and RAM usage hit around 5GB.

The Audio tab determines what audio gets sent to the stream. Desktop Audio Device should be your headset or speakers: wherever the noise comes from when you're gaming. OBS can automatically capture your mic or other audio input as well. I'm using a headset with integrated mic to avoid speaker/mic feedback. If I didn't have a headset mic, I'd use my headphones and the webcam's mic. If you have a beamforming mic, like the one Loyd recommends in his high-end soundcard article, you can use that with your speakers. You can also set push-to-talk or mute hotkeys here.

Finally we have the Advanced tab, and there are a few Twitch-specific optimizations recommended in the setup guide. Most can be left to their defaults unless you're having problems, but make sure "Use Multithreaded Optimizations" is checked, scene buffering time is set to 400ms, and Allow other modifiers on hotkeys is selected. The video preset should be veryfast / high / 2 / Use CFR.

Now it's time to add your scenes and sources.

Adding Sources

Again, there's a much more thorough section on scenes and sources in the setup guide, so we'll just skip to what we need: a game and a webcam. First you create a scene and then you add sources to that scene. Right-click in the Scenes box and add a new scene. Call it something descriptive.

Within that scene we're now going to add sources. Sources can be lots of things: an individual window (Window Capture), a whole monitor (Monitor Capture), an image, a slideshow, text, a video capture device (which can be a capture card, webcam, or any external camera), or a Game Capture. Game Capture is the one we're interested in first; it takes the raw DirectX video from the game itself.

You have to have the game running in order to select it. First, launch the game. Inspired by Jeff Green's Dark Souls misadventures, I chose Dark Souls (because I'm impressionable, masochistic, and an idiot). Once the game window appears, right-click on the Sources box and select Game Capture. You should see a list of all the windows on your machine; pick the one that has the game on it. I selected "Stretch image to screen" just to make sure it takes up the whole of my broadcasting window.

Once you've done that, hit OK and go back to the main OBS window. Hit "Preview Stream" and you should see your game window there. If not, you may have to restart OBS as an administrator. You should also see some activity bars under the speaker and mic icons.

Here's where having multiple monitors really comes in handy.

If everything looks good, it's time to add your webcam. Because your webcam is likely to have the same configuration regardless of what game you're streaming, we're going to add it to the Global Sources list. Select Global Sources from the OBS control panel, and hit Add. Select Add Video Capture Device, enter a name, and you'll be taken to OBS' standard video capture device menu. The Configure button should take you to your cam's configuration software. I'm just using the default settings on my webcam; if you decide to invest in a green screen (or green sheet) you can use the Chroma Key settings to make your background disappear. It's the budget version of what weathermen and Hollywood special effects people do. Below is a screencap from Sevadus; note that there's no room visible behind him.

If your webcam has a built-in mic, but you're using a different microphone, be sure to disable the Audio Input Device on the webcam. Hit OK. Now right-click on the Source box in the OBS main screen, hit Add, go down to Global Source, and select the webcam source you just configured.

Edit Scene

Time to test! Hit "Preview Stream" again and see what happens. You may find that your camera input is not quite in the right place, or is far too large, or isn't appearing at all. Select "Edit Scene," then click on something in the preview pane: the camera input, if you can see it, and the game input if you can't. If you can't see the camera window at all, right-click on the game in the preview window, select Order, and then Send to Back. Your other sources should appear. If your big ugly face is blocking something in the game, click on the camera input and drag the corner to resize it to something more acceptably small. Then you can click and drag it out of the way.

Side note: The OBS forums are incredibly helpful. When setting this up, I noticed my webcam was showing too much of my office and not enough of my dumb face. A quick search and I discovered, via this thread, that you can crop the edges of your webcam scene by holding the ALT key and resizing the edges. Super handy!

I also used the Text source to add a handy title to the top of my screen. The "Edit Scene" button works wonders here too, allowing you to drag and resize, send forward or backward, and more. Once everything looks good, fantastic! It's time to go back to Twitch and get your channel set up.

To the Twitch!

Once your have your scene configured in OBS, head back Twitch.tv. First hit up your profile settings page to upload a picture and make sure your username capitalization is correct. Add a short and a long bio; what makes you special? Why should anyone watch you stream? (It's okay to fill this part in later if you haven't exactly figured that out yet)

Next, go to your Dashboard. Once you're there, select Start Streaming in OBS, then refresh the dashboard. You should see your broadcast show up in the preview pane. Here you can give this particular session a title. Don't forget to change Not Playing to Playing, and select the game you're, you know. Playing. As Josh Augustine says, "This is easy to forget, and very important. When a viewer hits "I want to watch a League of Legends stream," you won't even be on the list if you didn't update your homepage."

If everything looks good, you can hit up your Twitch page, which is at twitch.tv/[yourusername]. Clicking the "Admin" tab at the top of the screen lets you change your page background and description, and add info panels, which can include images. You can also add an offline banner, which will show up in your video area when you're not streaming.

Here's djWHEAT's page; note how much useful info he puts into each panel.

This is also where you can see your chat channel. If you want to keep tabs on it while you're playing, select the gear icon in your chat pane and select Popout, then put it on your secondary monitor.

And Go!

When you're ready to start streaming, hit "Start Streaming" in OBS. Don't forget to change your dashboard to indicate what game you're playing, and it's a good idea to tweet or facebook a link to your page, so people know you're streaming and you're not just screaming into the void. Unless that's your thing.

Streaming Tips

All the tips from last time still apply. Remember, it takes time to build an audience. Do something unique or funny, build a schedule, and stick with it. If you need help or advice, djWHEAT says to look to the community:

"One of the best portals for ongoing information about getting started with streaming is help.twitch.tv. Here you’ll find articles written by Twitch staff as well as respected members of the community. Whether you need to know how to use a specific function on Twitch, or want to read about the different options you have with capture cards, this is a fantastic place to start.

Additionally, OBS and XSplit both have a very active community of posters who will frequently help visitors on the forums. These folks are generally very knowledgeable and willing to help streamers who are trying to learn more about streaming!

Lastly, OTHER BROADCASTERS! The broadcast community on Twitch is amazingly helpful and friendly. Sometimes the best way to learn (and even grow your channel) is to reach out to other streamers on Twitch."

Go forth and stream!