The one key ingredient that I did not talk about last week was the software. Encoding and uploading software obviously play a key role in how well the stream works and the audience's enjoyment of your broadcast. Currently, the Stream Team uses XSplit for the majority of its broadcasts, so I will spend most of my space today explaining how to set that up. But there are alternatives. What do other pieces of software have to offer, and is there a setup that reduces the CPU lag for older systems? Continue on and we'll get into the nitty-gritty of livesteaming software.
There are multiple factors to consider when choosing software for livestreaming: quality, ease of use, and of course, price. Initially, the Stream Team used Livestream and its software to broadcast its games, but we quickly learned the limitations of its free software. Also, Twitch.tv (then just Justin.tv) was very user-friendly and offered initiatives to promote the growing trend of gamers streaming their play sessions. XSplit was in early beta, and it offered users a free interface to make streams look amazing. Granted, XSplit isn't free now, but it is still low cost for the quality.
Let me break down the basics of XSplit for you.
The middle section is the preview area and editor. By default, the preview editor is actual size. This is where XSplit gets stupid simple. The different elements can easily be moved, resized, and even rotated in the preview area. Play around with this area. I have had the most fun messing around with the different scenes I've been able to create. Try rotating or foreshortening your webcam or the game screen for interesting layout looks.
The top menu is the core. The broadcast menu allows you to setup and adjust everything from the broadcast channels to the video compression. By the way, I adjusted the video compression for my last stream to attempt to conserve bandwidth. I don't recommend that. The stream quality suffers a lot. Leave it at the default setting. Another thing: If you can send your local recordings to a separate hard drive, do so; it'll reduce CPU lag. You can find this setting under the general tab under "my recordings."
Last week, I mentioned using an Elgato capture device to reduce the stress on your gaming machine. This means that all the encoding software needs to be set up on the non-gaming machine. It also means that you have to send the audio of your gaming machine to the encoding machine.
First, Elgato (like other capture cards such as BlackMagic) comes with its own capture software that gives you a preview of what is being sent by the gaming machine. You could, if the image were large enough, just screen-capture this image and be good to go. However, if your second computer can handle it, the better solution would be to nab the image directly. Fortunately, XSplit perceives the capture software as a game. In the "scene sources" area, of XSplit, click "add" then "add game"; you should see options for GameCapture. This will capture an image from the source directly. However, if there is significant delay from the GameCapture software and XSplit, then just capture the screen region; that error means that it's causing too much stress on your capturing computer.
When you're sending PC game information through an HDMI capture device, you are sending not only video but audio as well. However, this requires a bit more setup and can require another piece of software. If I set my HDMI sound output as my default sound device, the Elgato receives that information, and it can sound fine on the stream, but I won't be able to hear the sound. And I have to set up my microphone and VOIP software on the capture computer as well. This makes things very inconvenient, so I bought a piece of software called Virtual Audio Cable.
Because every system is slightly different, I cannot tell you how to set up yours, but I can tell you how I have set up mine. I have two virtual cables set up in the VAC control panel, then I have one VAC MME window open for each of my input and output devices. I also set up virtual line 2 to my default playback device in the Windows control panel so that my game sounds will pipe through there. In the first window, I set virtual line 2 as the input device and virtual line 1 as the output device. In the second window, I set my microphone as the input device and virtual line 1 as the output device. This means that all computer sounds and my microphone feed into line 1, with only the computer sounds in line 2. In the third window, line 2 is the input device and my headset is the output device. That way I don't hear my voice in the speakers. Then in the last window, I set line 1 as the input device and the HDMI cable as the output device. This way all the sounds from my computer, including my mic, are sent to the capture computer. This might seem a bit complicated, but trust me, it makes complete sense when you try it for yourself.
Unfortunately, XSplit tends to be the most resource-heavy piece of encoding software I use. It is arguably one of the most robust as well. By comparison, VidBlaster is insanely robust but is probably overkill for game streaming, and Flash Media Encoder is insanely simple but probably doesn't have the features a streamer is looking for. FFsplit has hit the market more recently. It tends to be nearly on par with XSplit, but I've found that FFsplit is a bit more streamlined. I prefer the interface and editor of XSplit, but FFsplit is currently free. There's a give and take.
Lastly, if you have a computer that has serious issues with graphic interface of the game-capture software, you can run Flash Media Encoder without an interface at all. A user named Multiboxing has uploaded a great in-depth tutorial of how to stream using FME and screen capture software called VHScrCap. These two pieces of software use very few resources but require a lot of back-end setup time. Give that a shot if you're having trouble with conventional software. Let me know how it works in the comments, and I will talk to you again next week.