Jump to content

Streaming KSP


KasperVld

Recommended Posts

3RZ0DL3.jpg

Hello everyone!

I'm sure a lot of you have seen the awesome people streaming on KSP-TV or on their personal channel and thought to yourself: I can do that too! Well, you can and it turns out that it isn't too difficult. This tutorial should get you streaming in under an hour, easily. So, how do you get started? First, you need to select a streaming program to use. There are three mainstream programs for you to choose from:

  • XSplit
    XSplit is a popular choice amongst people who can spend the cash for a license. It offers a lot of options and uses the fast x264 video encoder. A free version is available but it will watermark your stream. A personal license will cost $60, though discounts may apply (at this time there is a 33% discount, meaning a license for personal use will cost you $40). Website.
  • OBS
    Open Broadcaster Software is free and open source software for recording and live streaming. It's open source and both 32 and 64 bit versions are available. The software is very basic and completely free. Website.
  • FFSplit
    In my opinion this is the best of both worlds. FFSplit offers you a good interface with advanced options, the same quick video encoder as XSplit and is completely free. It does take some tinkering to get everything to work properly, but once it does you won't look back. For the remainder if this tutorial I'll be using this program. Website.

Your computer and internet connection

When you get into streaming it's important to realise that your computer has to capture, encode and broadcast the video real-time, while you are playing your game. For this reason it's important that your computer and especially your internet connection are up to the task. If you're struggling with lag regularly during KSP, even on smaller rockets, then streaming probably isn't for you until you upgrade your computer. To give an indication as far as processors go, FFSplit advices quad core CPU (Intel i7 or AMD Phenom II 1055+) for streaming in 720p. You'll generally want a 50Mb internet connection or better, though it really depends on your upload speed. The higher the resolution you stream in, the more internet bandwidth you'll need.

Your other equipment

What do you want to achieve with streaming? I've streamed regularly in the past and I chose to do so without a facecam or even a microphone. I'd play to enjoy the game and see if anyone was interested in chatting with me during that time. However, you may have different preferences and maybe you do want a facecam and/or microphone. If you do, make sure you have a good webcam and/or microphone, headset or any other equipment you require. Some people also have green screens, which they use to insert a custom background behind them, or even blend their facecam into the game. I have no experience with these techniques, so I'd advise you to ask a streamer who has. Good quality equipment can make or break a stream.

Downloading and installing FFSplit

You can download FFSplit on this page. You can either choose the latest build (which I recommend) or the latest stable build. If one doesn't work, try the other. To run FFSplit you require three libraries to be installed: VC++ Runtime 2012 (x86) (download), .NET Framework 4.5 (download) and the latest version of DirectX (download). Once you have installed the libraries, open the installer for FFSplit and follow the instructions on screen. At the time of writing this tutorial, the latest build is FFSplit 0.7.0 test build 23 so this is the version I'll be using.

Getting a Twitch account and setting up your stream

Twitch is the biggest streaming website out there, though perhaps Youtube is catching up. In any case, Twitch is our platform of choice. If you haven't registered an account with Twitch yet you can do so on this page. Once you've registered an account and logged in you need to find your 'dashboard'. The link is available in the left hand menu if you click on the small arrow underneath your username, messages and profile. Note that it is worthwhile to explore the options your profile offers you first. If you can't find the link or if you're a bit lazy click here instead. Your dashboard is the central piece of your stream. From here you can watch the chat, set your stream title and define which game you're playing. In fact, we can define that game right now. It's Kerbal Space Program right? Indicate to Twitch that you're playing Kerbal Space Program and think of a nice title for your stream. This will ensure that your stream ends up in the list of people who are currently playing KSP, which will in turn attract new viewers. Click the update button when you're done.

Setting up KSP

Here we have to stop and think. How are we going to put all those programs on your screen? Well, if you have multiple screens this may not be an issue. You can have KSP on one screen and the broadcasting software and stream chat on the other, but what if you have just the one screen like me? To get around this I simply put KSP in windowed mode, at the same resolution as my streaming resolution (1280x720p). Going any lower than your streaming resolution will negatively affect the stream quality and going higher will use up resources your computer may need for streaming. Once KSP is in windowed mode it leaves me more than enough room to put the chat besides it (through a popout chat) and the streaming software window fits in such a position that I can read all the relevant information.

Configuring FFSplit

This will be the trickiest part, because with a lot of functions comes a lot of options. We'll take this one screen at a time. First off: the bottom of the main screen. Notice that you have a window for canvasses and a window for layers. A canvas is composed of a set of layers and is basically what people will see. You can have one or multiple canvasses, each with one or multiple layers. So, given the basic canvas that FFSplit provides us with, how do we set it up to show KSP? Make sure KSP is running and click 'new' under the layer window.

VpYNEpr.png

[table=width: 100%]

[tr]

[td]You'll notice a number of different options here: layer types, regions.. it can be quite daunting at first but fear not, it's simpler than you think. First, lets name our layer so we can keep track of it. Something like "KSP Layer" will do, so use that as your layer name. Under the name you'll find a selection menu for the layer type. Screen will do for now, and the others speak for themselves: you can add text, text (now playing), image, videorecordingdevice and screen. Screen is already selected and it's the one we need. Note the three options below it: capture monitor, capture region, capture window. Select capture window. In the dropdown box directly next to it, select Kerbal Space Program. We want only the client area, or else you'll also get the ugly borders of window (presuming KSP is in windowed mode). Click 'add layer' below.

Of course, you can add many things this way: generally it's a good idea to add an image or video on the beginning of your stream so your subscribers get a chance to enter the channel before you start streaming. You can also add layers that show what music is playing and you can add your webcam and such to the screen. It's worth while to play around with your settings for a bit and get familiar with adding new layers. If you don't plan on using more than one layer in the end, do make another one now. It can be a simple text layer.

You may notice that KSP does not fit well in the stream window (top left part of the main FFSplit screen). To fix this, rightclick your "KSP Layer" in the layer window and select fit to canvas. Now, take a look at your second layer. Rightclick it and try moving it up and down in the list of layers. The way layers work is by stacking them. You can stack one layer on top of another, so be careful that you're not blocking a layer you want people to see. Specifying a good order is therefore really important. Notice that you have two icons next to each layer in the layer window: a padlock and an eye. Clicking the eye logo will toggle the layer visible or invisible, clicking the padlock logo will 'lock' the layer, preventing certain actions. I always have a layer on top that is a screen filling image, for when I have technical difficulties or if I need to step away for a while. As long as such a layer is set to invisible it will not interfere with your regular stream, but it will be available in one click.[/td]

[td]UuPCKZt.jpg[/td]

[/tr]

[/table]

Connecting FFSplit to Twitch & encoding settings

Did I say configuring FFSplit would be the trickiest part? Well, I tricked you! Hah! All kidding aside, this next part is pretty technical but I will try to guide you through it. To begin, find the 'options' button in the bottom right of your FFSplit window. The options menu will pop up. The first tab (Session) can be ignored for the most part, the only interesting options there is the delay option, which you want to use when you don't want the people who watch your stream to see what you're doing. In a strategy game for example. I cannot think of a good reason to enable this for KSP, so lets leave it at zero.

y0N53dD.pngSIzJ8pJ.png

The 'service' tab

This is where you go to configure your connection to Twitch, so lets do that. Our streaming service is Twitch, so select that from the top dropdown. To select the server, hit the 'Find Best Server' button and let FFSplit do the work for you. Make sure it doesn't select a server halfway across the world though. Remember the Twitch Dashboard we covered earlier? Well, time to head back to that page. On top, find the tab that says 'stream key' and open it, then click on the 'show key' button. Copy the stream key and enter it in the stream key box, then press Verify. Once the service is verified make sure the other settings are set to the same values as the example above. You can rename the service profile by clicking on the current name. This one is called Personal Channel, but you can name it anything you wish.

Never share your Twitch streaming key, it allows anyone to broadcast anything on your channel, and you'll be the one facing the consequences!

The 'encoder' tab

Twitch has specific demands when it comes to the encoding of your videos. Not being compliant with these standards can lead to all sorts of problems, such as your streams not being available on mobile devices. The most important thing is to keep your bitrate mode on Constant Bitrate (CBR). The option below it is the stream resolution. I would recommend a minimum of 853x480. Any lower and your stream will be very pixely and low-res and people will not watch it. Most people stream at 1280x720 or 1920x1080, which are high definition resolutions. Remember that the higher you set your resolution the more resources it takes from your computer and internet connection. Streaming at 1280x720 pixels means streaming a total of 921.600 pixels each frame, which increases to 2.073.600 pixels for 1920x1080.

Frame rate: minimum 30FPS, maximum 60FPS (Frames Per Second). Video Bitrate: Twitch advises 2000kbps for 720p broadcasts and 3000kbps for 1080p broadcasts. Going much lower than that will severely affect the quality of your stream, and you'd be better of decreasing the resolution instead. Next, tick advanced options and look at the encode preset: setting this to a faster speed will require less resources from your computer but more resources from your internet connection. My internet connection is solid, so I put this to ultrafast, but you need to see which works best for you. I haven't messed around with the other advanced settings yet, but OpenCL offloads some work to your GPU instead of your processor - it may cause crashes though. If you really need to save bandwidth you can set the audio format to mp3 and the bitrate to 64 or even 32. Twitch does have a maximum bitrate: 160kbit for AAC and 128kbit for MP3.

EnJZuVt.png8UbQafX.png

The 'capture' tab

There's not too much to say about this tab, the default settings work just fine. That is, unless (like me) you have a laptop or computer with both an integrated graphics card and a dedicated graphics card. In this case you'll always, always, always want to select the dedicated graphics card as your video adapter. Not doing so will result in a huge performance loss. If you have a microphone recording device, or multiple, you can select which one to use here as well. And you can boost the volume and set a time delay if needed.

Back to the 'session' tab

Almost done now! Go back to the 'sessions' tab and make sure that FFSplit tells you that your encoding settings are Twitch compliant. Hit apply or OK and return to the main FFSplit screen. You can test your upload speed from here as well, to see if your internet connection can take the strain.

Streaming

You're ready to stream! Make sure you've had your bathroom break and that you're happy with what people will see when you start your stream. Are you happy? Really? Alright, hit the 'start' button on the bottom of your FFSplit screen and you'll be live before you know it. Once you've hit start notice that the small window next to the layers will start telling you a lot of information such as how long you've been going and how much bandwidth you've used in that time. Keep an eye on the average frame rate (should not fall below 25) and your dropped frames (should remain below about 2%-5%). If you're having issues with either, try streaming at a lower resolution or lower some other settings.

Good luck!

Edited by KasperVld
Link to comment
Share on other sites

  • 2 weeks later...

I do think this is quite OK but i'd like to add something about the internet connection speed and why that 50 Mbps figure might be a bit misleading.

It varies by region and that figure is usually only your download.

If you don't know the numbers have a look at your contract, it should be there somewhere. Usually it's vastly smaller, a 50 Mbps connection might have something like 50 Mbps download and 5 Mbps upload. Twitch has some recommendation for different resolution (Maybe OBS specific Link). If your upload is too small for the resolution you're trying to stream you might either get lags or distorted frames.

In addition you have to take into account that the some other pieces of software are using some of your upload as well e.g. while playing online games.

P.S. Beware of the difference between Megabit and Megabyte while having a look at your connection speed!

Link to comment
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...