Psynaps OBS Settings for Twitch 2017
I often get requests to see my OBS settings for Twitch. These settings are also the same for YouTube or any other platform, because they use the core x264 settings for quality. These settings are a balance between quality and bitrate, and are designed to be viewable on source quality for majority of viewers on both desktop and mobile.
Below are screenshots of my OBS settings for each resolution. I also explain why I use the settings, and suggest which types of streams/gameplay works the best with each.
Overview of this Post
Psynaps’s current OBS Settings 2017:
- Single PC Settings
- 720p
- 1080p
- Dual PC Settings (best used with Psynaps Super Stream System)
- 720p
- 1080p
Single PC Settings 720p
Bitrate: Here I use 4200 Kbps (Bitrate). This is very smooth at 720p60. You can use the “standard” suggested 3500, it looks OK. Remember that 720p60 is mathematically optimal at 5500Kbps (0.1 BBP see calculation here), so anything less is a compromise (mathematically). 4200 Kbps is a reasonable compromise, it looks great, and most people can play this bitrate in their browser!
Buffer Size: The buffer size has multiple functions, here I use it to keep the bitrate stable. I find x264 encoding is more stable overall with lower buffer sizes, and this keeps the bitrate from spiking above the set bitrate.
Rate Control: Rate Control should be VBR (Variable Bit Rate) for best quality, encoding method, and bitrate. Many guides suggest CBR for stability, but CBR is simply not required for stability in most cases, and VBR actually solves many common problems that Twitch streamers face. CBR is OK if you feel most comfortable using it, but VBR is optimized to give us more control over quality. It is compatible with Twitch and YouTube (it has been for years), and works great with custom RTMP systems such as the Psynaps Super Stream System.
CRF:The CRF (Constant Rate Factor) is the best single-pass encoding method and tries to get a certain quality level. Lower numbers result in better quality. Interestingly, I find that this setting can be used to stabilize the variation in bitrate. For example, lower numbers push x264 to encode at a higher quality and bitrate, so you get less variable bitrates between high and low moving scenes. Lower numbers also look great for low moving scenes. I use CRF 20-22 for my stream.
Keyframe Interval: Keyframe Interval should be 2 for max compatibility with Twitch, and 2 is actually a great keyframe interval for x264 overall.
CPU Preset: The preset can vary depending on the power of your computer. The default is “veryfast”, anything slower (fast,medium,slow, etc) results in better quality, lower bitrate, and HIGHER cpu usage. You can actually choke-out your CPU and lose frames by setting this incorrectly. Recent Intel i7 CPUs should run 720p60 at faster or fast. Powerful PCs can run it at medium. There are diminishing returns with slower presets, so set it as fast as possible while maintaining the quality you expect. For my PC I could go medium, but I mostly use “fast” for my 720p60 streams because it looks great!
Profile: Profile should nearly always be “high”. It is significantly higher quality, and produces better, sharper, images compared to “main”. Note that “main” profile produces much less quality, but it is better on CPU. Main should only be used if you are using an older and/or slower PC (non-gaming PC) for streaming, or if you have very little to no movement in your scene. In my experience, streamers who have used main are very unhappy with the quality of their stream, and as a viewer I do not enjoy watching “main” encoded streams.
Audio Bitrate: 192kbps-256Kbps is typically what I use for my output to twitch. I noticed that AAC encoding in OBS studio is constant bitrate (unlike OBS classic which is VBR audio). These audio capabilities are superior to many other software choices for streaming, and I really appreciate that about OBS Studio. Here are the facts, most people can’t tell the difference between lower audio AAC like 160Kbps, and higher bitrates like 265kbps. However, many people have very high quality audio equipment (high-end headphones) and can tell the difference when the audio is complex. Here are my reasons for using 256kbps.
1.) Games contain complex and high-quality sounds. For example the sound files that ship with video games can be very high quality and game audio engines are surprisingly dynamic and complex (surround with reverb and other effects). Viewers will experience those sounds when they watch the stream.
2.) Streamers play music and other high quality/complex sounds for viewers. I sometimes play music direct from the producer and sounds sampled at up to 24-bit/96kHz. I can only hope to deliver better sound over the stream.
3.) Streamers combine game sounds, music, and voice resulting in very complex audio.
4.) Scientifically, AAC is resilient to re-compression artifacts at higher bitrates (not lower bitrates). This means if you want to edit highlights of your stream, or if the stream recording gets re-encoded in any way, higher AAC bitrates will be less vulnerable to destructive recompression artifacts.
5.) We don’t have a shortage of bandwidth like we did 10 years ago.
In conclusion, when some guide recommends 160kbps for audio, RUN AWAY (if you value a higher quality audio experience for your viewers).
Base Resolution: This should be set to your main streaming monitor’s resolution in most cases. However, this is just the “canvas” resolution, so you can set it to whatever resolution you want to setup your overlays and scenes to. For me 1920×1080 is a reasonable resolution because that is the max resolution of my monitors and media that I stream.
Output resolution: This is the resolution that is streamed to Twitch (or YouTube, etc). You can downscale this resolution to 720p (or other) like I did here.
Downscale Filter: This is very important. The filter helps to downscale your video, and retain some sharpness. Any setting is good, Bicubic is high quality and a happy medium.
FPS: 60 is as smooth as the day is long, I mean wait what. Lets face it, that low frame rate “cinematic look” doesn’t fly for video games and live streams, we see an increasing number of 60fps streams and will probably see even higher numbers in the future (144FPS streams maybe? Our eyes are evolving!).
Single PC Settings 1080p
Bitrate: Here I use 4700 Kbps (Bitrate). This is NOT as smooth at 720p60, but it is a compromise to get that 1080p60 goodness. It looks OK, suffers some compression artifacts, but most people will never notice. Overall, this looks REALLY good for low movement streams like Twitch Creative, IRL, or games like Hearthstone. 1080p60 will look even better at this bitrate as computers get more powerful and are able to encode at slower presets (see CPU Preset below).
Buffer Size: See my explanation above in “Single PC Settings 720p” .
Rate Control: See my explanation above in “Single PC Settings 720p” .
CRF: See my explanation above in “Single PC Settings 720p” .
Keyframe Interval: See my explanation above in “Single PC Settings 720p” .
CPU Preset: The preset can vary depending on the power of your computer. The default is “veryfast”, anything slower (fast,medium,slow, etc) results in better quality, lower bitrate, and HIGHER cpu usage. You can actually choke-out your CPU and lose frames by setting this incorrectly, ESPECIALLY at 1080p! Powerful Intel i7 PCs can run at slower presets like fast, or even medium. However, I mostly use “veryfast” or “faster” for my 1080p60 streams because slower speeds with 1080 hit the CPU really hard.
Profile: See my explanation above in “Single PC Settings 720p” .
Audio Tab: See my audio settings and explanation above in “Single PC Settings 720p” .
Base Resolution: This should be set to your main streaming monitor’s resolution in most cases. However, this is just the “canvas” resolution, so you can set it to whatever resolution you want to setup your overlays and scenes to. For me 1920×1080 is a reasonable resolution because that is the max resolution of my monitors and media that I stream.
Output resolution: This is the resolution that is streamed to Twitch (or YouTube, etc). You can set this to 1920×1080 for your 1080 stream.
Downscale Filter: See my explanation above in “Single PC Settings 720p” .
FPS: See my explanation above in “Single PC Settings 720p” .
Dual PC Settings 720p
For streaming at 720p60 on a dual-PC stream setup (such as the Psynaps Super Stream System), I use the “Dual PC Settings 1080p” settings (below) on my gaming rig, and the “Single PC Settings 720p” equivalent settings (above) on my encoding machine. See those sections for more info.
Dual PC Settings 1080p
Bitrate: Here I use 20000-25000Kbps (Bitrate). This is very smooth at 1080p60, and well above the calculated optimal bitrate for this resolution (0.1 BBP see calculation here). However, remember that I use a RTMP system (Psynaps Super Stream System), so I can stream at high bitrates to the encoding machine. This bitrate is also great for saving to disk, and editing YouTube videos and highlights.
Buffer Size: The buffer size has multiple functions, here my main objective is encoding stability. Sometimes very high buffers can lead to problems with the FFMPEG and RTMP. Keeping it at 8000kbps (but not higher) works great for me!
Rate Control: Rate Control should be VBR (Variable Bit Rate) for best quality, encoding method, and bitrate. It helps keep file sizes small if you save to disk (which is great because 8-hour streams everyday can take up a lot of space, it is optimized for quality (looks great), and is is compatible with custom RTMP systems such as the Psynaps Super Stream System.
CRF: I use CRF 20-22 for my stream. Lower numbers increase quality and bitrate.
Keyframe Interval: Keyframe Interval should be 2 for max compatibility with RTMP, Twitch, and 2 is actually a great keyframe interval for x264 overall.
CPU Preset: Here is a TIP for reducing CPU, and increasing FPS on the gaming machine. Superfast uses less CPU compared to the default is “veryfast”. Superfast looks great at high bitrates (such as the ones I am using here) so I get to enjoy high quality, low CPU.
Profile: See my explanation above in “Single PC Settings 720p” .
Audio Tab: You can stream 360kbps here. Go Max. Also, See my audio settings and explanation above in “Single PC Settings 720p” .
Audio Bitrate: 360Kbps (or maximum) should be used when streaming to a local RTMP server (such as the Psynaps Super Stream System). This is assuming the audio will get re-encoded on the encoding machine. However, if you are using audio “passthru” on the encoder (which I do with FFMPEG),you can use 192-256Kbps, similar to my “Single PC Settings 720p” settings above. For example, if the encoder has to re-encode the audio, you want the gaming computer to stream max audio bitrate so you can reduce re-compression artifacts and preserve quality (more explanation above in “Single PC Settings 720p“).