Before anything else, we obviously need to cover some basics for streaming. First, you need to use some sort of streaming software that allows you to broadcast to a service of your choice. Popular software programs include:
There are more besides these, but these are some of the most well-known and widely used.
Most popular streaming software will have the same basic set of features for encoding and capturing different audio and video sources. Once you’re past those, they’ll have different features that allow you to customize your stream. Streamlabs, for example, integrates a lot of features for stream notifications, alerts, chat interaction features, and such that OBS doesn’t have. This guide will focus on the basics that are applicable for any live-streaming software, not the extras, which will be influenced by personal preference.
You also need to know what streaming service you’d like to use. The service is the actual website you’d be streaming to, e.g., Twitch.tv, YouTube, and Facebook Live. Each service has different features and options that may make them more or less appealing for you. Most video game streamers like to stream on Twitch or YouTube, Twitch being the more popular option. I’d recommend doing some research to decide which one you’d like to use the most.
A quick note about PC hardware for streaming
One quick statement about PC hardware as it relates to streaming: you don’t need a crazy powerful system to live stream. PC hardware has gotten to a point where even budget gaming systems are quite capable of streaming at decent settings. If you have a PC that can play the games you want, you can probably stream them. If you’re not streaming games but something more like a talk show, podcast, or something else along those lines, your hardware requirements will be even lighter. That said, if you’re trying to push a really high-quality stream, you’ll want quality hardware, but I’ll get into this a bit more later. Last, this guide is written under the assumption that you'd be gaming/streaming from a single system. For a dual-PC setup, the recommendations and requirements would be a little different.
For our purposes, I’ll be giving examples with Open Broadcast Software (OBS). It’s free, open-source, and is one of the most popular streaming programs. After downloading your streaming software, your first step is opening up the settings menu and linking your account. Most software should allow you to either sign into and link your account for your chosen service or use a stream key obtainable from your account. In OBS, it’s on the top-left where you can click File, then Settings.
Under Settings, the Stream category is where you can link your account for your chosen streaming service. You should be able to log in to link the account or utilize a Stream Key you can obtain directly from your account’s profile.
Once your account is linked, the next two areas we’re concerned with are Video and Output.
The Video category is pretty simple. Base (Canvas) Resolution will be the resolution you’re using on your monitor, so if you have a 1080p monitor, you set it to 1920x1080. Output (Scaled) Resolution is the resolution you’re broadcasting to viewers, and Common FPS Values is where you set the framerate you’re broadcasting to viewers.
The Output category has a few more settings, but the main ones we’re concerned with are Video Bitrate and Encoder. When you’re streaming, the encoder is what actually processes and converts the video data to be uploaded to your stream service. Bitrate determines the amount of data/bandwidth you’re actually using while uploading to your stream. You can leave the rest of the settings at default to start with.
Figuring out how to properly configure these settings is a bit of a long discussion, so let’s get into it.
First things first, we need to go over the importance of your network connection, specifically your upload speeds. Whenever you’re streaming, you’re uploading data over your internet. What kind of upload speeds you have will be the first factor in determining what resolution/framerate you can stream in.
Streaming at higher resolutions/framerates will take up more bandwidth, and if you don’t have enough bandwidth, your stream will suffer from dropped frames and stuttering. You should be able to check upload speeds with your internet service provider or a service like speedtest.net. Upload speeds will typically be measured in megabits per second (Mbps).
Each streaming service will have recommendations for a certain bitrate at a given resolution and framerate. Bitrate is measured in kilobits per second, and one megabit = 1000 kilobits. So, if you have an upload speed of 10Mbps, your max bitrate would be 10000. When setting your bitrate, it’s recommended to set it at something a little lower than your max upload speed because you won’t always have your full bandwidth available. Here are some general recommendations for bitrate at common resolutions/framerates.
Of course, you should always double-check the recommendations for your service. For Twitch and Youtube, you can refer to these links:
Recommended Encoding Settings for Streaming on Twitch
Recommended Encoding Settings for Streaming on YouTube
When trying to determine what resolution/framerate you should use, there are some other things you should consider besides your upload speed as well:
First, consider the type of content you’re streaming. “High-motion” content (content with lots of camera movement like first-person shooters and action games) is harder to compress, so in order to maintain image quality, you need to use a higher bitrate. Low motion content (static content like card games and turn-based strategy games, ones without a lot of camera movement) will be less sensitive to framerate and not require the same bitrate to maintain image quality. For example, streaming Counter Strike at 720p/60FPS, you may need to set your bitrate to 4500 or 5000 to keep your image quality good, whereas if you're streaming a card game like Hearthstone at the same settings, you could go with 3500, maybe less, while still having good image quality. Just remember that if you go too low, you'll start getting artifacts/pixelation on your stream, and it will be hard to see what's going on.
Second, you need to consider the viewer on the other end. If you’re streaming at high bitrates, they have to be able to download the same amount. If they have a poor connection, the stream will stutter and buffer frequently. Streaming services have quality settings that viewers can select to change quality if they’re having trouble watching, but depending on your streaming service, those aren’t always available*. Viewers may be watching on smaller screens (like using the Twitch app on their mobile devices) or may not be in full-screen. Considering that streaming at 1080p or higher resolution may not really improve their experience and could hamper it if they don't have the speeds to handle it.
*This is an advantage to streaming on YouTube, which provides these quality settings for all streamers. If you’re streaming on Twitch, quality settings are only guaranteed for partners.
Third, you do have to consider your computer hardware. Even if you have a really good internet connection, you can overtax your system if your settings are too high. Dropped frames, pixelation/artifacts on the stream, performance loss in-game on your end, there’s a lot of ways these issues could present themselves.
Personally, I would recommend starting with 720p/30FPS, or if you have the bandwidth for it, 720p/60FPS or 1080p/30FPS. This should be a good overall balance of quality, bandwidth requirements, and not over-taxing system resources. If you find that you’re having performance issues, you can lower your settings accordingly.
Software encoding utilizes your CPU for the encoding. Software encoding tends to like having more cores/threads, and once upon a time, you really needed an Intel i7 processor if you wanted good quality software encoding, but today even budget CPUs like the i5-12400 are packing in more cores/threads than old i7’s did. Because of this, software encoding is much more accessible.
When selecting the x264 software encoder in your streaming program, you’ll also need to select a speed for the encoding. It will default to “veryfast,” and there are a number of settings ranging from “slower” all the way up to “ultrafast.” Slower settings produce higher image quality at the cost of more CPU resources. It’s recommended to stay somewhere between medium and veryfast: any slower or faster, and the tradeoff with quality or performance generally isn’t worth it. x264 medium is kind of the "gold standard" in terms of quality. Newer mid and high-end CPUs (like the Ryzen 5600X or Intel i7-12700K) can handle x264 medium or fast; budget and low-end CPUs are typically more suitable for x264 faster or veryfast.
Depending on how much CPU overhead you have, the performance impact can vary quite a bit. If you have a really high-end CPU like a Ryzen 9 5900X, you could even encode at x264 slow with little to no performance loss. But if you have something more modest, there can be a noticeable impact depending on the games you play and the settings you use. You'll need to play around with your settings to find the right balance.
Hardware encoding will utilize your GPU for the encoding process. NVIDIA’s NVENC encoder on their 1600, 2000, and 3000 series cards is generally considered to produce about the same image quality as x264 medium at default settings. 10-series and 900-series NVIDIA cards have older versions of the NVENC encoder, which are not as good quality as the latest version but can still work well.
Unlike software encoding, hardware encoding actually uses a separate, dedicated chip on your GPU. What this means is that the performance impact to your system will be minimal as you won't be using up your CPU resources and will use little to no GPU resources. When selecting NVENC in your streaming program, it will default to the “Quality” setting. If you enable advanced encoding settings, you can also choose Max Quality, which will improve image quality at the cost of resources, or Performance, which will reduce image quality in favor of better performance. Quality is recommended for most users. Max Quality can have issues in situations where your GPU is fully maxed out, and it's only a minor quality improvement, and most users' performance will be good enough that you don't have to go any lower than Quality anyway.
For more information about the NVENC encoder and how to set it up properly, you can refer to NVIDIA’s NVENC OBS Guide.
AMD’s video cards also have hardware encoding, however, it’s known to have some issues related specifically to live streaming that makes it difficult to get good quality; it's not recommended to use it for live streaming.
I want to emphasize that there isn’t one single correct answer. Depending on your unique setup, one may be better than the other. Test things out, experiment, try both and figure out what works best for you. It’s a balancing act that you have to dial in with trial and error. That said, here are my general recommendations to get started:
If you have a newer NVIDIA card, try hardware first, even if you have a really good CPU. For most people, hardware encoding with the new NVENC encoder will work perfectly, and you can basically just set it, forget it, and you’ll have a good quality stream. If you're limited on CPU resources, even with an older NVIDIA card, try hardware first. If you have issues with performance, you can try lowering your settings or switching to software encoding.
If you have an AMD card, or an older NVIDIA card with a decent CPU, try software first. Even if you have a newer NVIDIA card, if your CPU is good enough, you can use x264 at medium with very little performance loss, if any at all. If you are over-taxing your CPU and losing performance, you can raise the encoding speed or try switching to hardware encoding.
Also, don’t forget that it’s not just the encoder: your resolution, framerate, and bitrate go hand-in-hand with the encoder, and you’ll have to adjust those settings as well.
The last and easiest step I’ll cover for live-streaming is adding sources to your stream. Sources are what will actually be displayed to the viewer on your stream. It’ll be on the main window for OBS on the bottom left. To add a source, you click the + icon.
Once you click the +, you’ll be presented with a list of options for different types of sources you can add:
Video Capture Device is what you’ll choose if you’re adding a webcam or a capture card.
Display Capture will capture whatever is displaying on your monitor
Game Capture will specifically capture any games that are open.
Window Capture can capture other windows and applications.
You can use the others as needed if you wish, but these will be the only ones you need starting off. The sources will display on your stream in the order you have them listed from top to bottom (e.g., if your webcam is at the top of the list, it will be displayed in front of the other sources like games). You can move them around as needed. You can also reposition and adjust the size of your sources in the preview window, which shows exactly how your stream will look to viewers.
Your software should automatically use your default audio device and microphone to capture sound from your computer. If you find that one is too loud or quiet, you can adjust the volume with the slider under each device.
Once that’s all done, the only thing left to do is start streaming! Initially, you’ll probably have to play around with your settings to find what works best. Unfortunately, you can’t adjust these settings in real time: you’ll have to restart the stream to change settings. But once everything is dialed in, you’ll pretty much be set! Let us know if you have any questions or feedback in the comments below!
Other Useful Links:
OBS Troubleshooting Guides
Twitch.tv Getting Started Guide for Live Streaming
How to Pick and Choose Parts for a Custom-Built PC
Fantastic write up!
Thank you very much! I spent a good amount of time on this and I hope it's helpful for anybody who's looking to get into streaming.
I had a question. So I I have a PS4 and wanted to start streaming on twitch. I bought a camera, microphone, and elgato. The problem I’m having is the laptop I have can’t support the stream. Now I wanted to know about getting a pc that will allow me to stream. I don’t want to Game on my PC I just want to stream from it for the moment and possible maybe later upgrading so I could play on the PC. I just wanted to know my options if possible? I’m new to all this tech stuff
Rich Text Editor.
To edit a paragraph's style, hit tab to get to the paragraph menu. From there you will be able to pick one style. Nothing defaults to paragraph.
An inline formatting menu will show up when you select text. Hit tab to get into that menu.
Some elements, such as rich link embeds, images, loading indicators, and error messages may get inserted into the editor. You may navigate to these using the arrow keys inside of the editor and delete them with the delete or backspace key.
Submit photos and a description of your PC to our build showcase
See other custom PC builds and get some ideas for what can be done
Services starting at $149.99