Twitch Bandwidth Test Tool

The easiest way to see the health of a live, or past broadcast, is to head to This tool will show how the video data is flowing into Twitch servers, and shows some of the common errors, as well as if a broadcast has periods of instability. Most problems will appear in the Bitrate Graph displayed on Inspector. The graph displays bitrates out of the broadcaster’s encoder and how they look once they arrive to Twitch’s server. This means that sometimes the geographically closest server isn’t the best. For this reason, I still recommend using the Twitch bandwidth test tool. I made a video about using this tool, which I highly recommend watching. For any streamer, I’d recommend using the test tool to determine the best servers for your stream. I just gave it a shot the VPN option a shot and the Twitch Bandwidth Test tool results were good (same as without the vpn) but the stream test i ran was a lot worse, the bitrate dropped even faster than usual. I dunno what to do apart from getting a different ISP and praying that the new connection works fine with obs & twitch.

TwitchTest

A lightweight Windows program that performs a bandwidth test for Twitch.

About

TwitchTest is a free, open source program that allows you to easily measure your upload speed to each Twitch server. Picking a server with sufficient bandwidth, low RTT and a high quality rating will ensure the best results when streaming to Twitch.

A screenshot of the program. Here's what the different numbers mean:

Bandwidth: Fairly self explanatory - this is the bandwidth TwitchTest was able to sustain to the server. Note that TwitchTest will never go above 10mbps during testing and Twitch currently recommend a maximum of 6mbps (6000 kbps) when streaming.

Quality: This is a metric which tries to measure the overall stability / quality of the connection based on the rate at which data was sent and the number of re-transmitted packets. It's measured out of 100, and a quality rating of 80 or higher is recommended for a stable stream. If your internet connection is below 10mbps upload, quality numbers may be lower due to your ISP discarding data.

RTT: This is the time it took to establish the connection (Round Trip Time). Servers further away from you will have a higher RTT.

The TCP Window setting allows you to experiment with fine tuning certain TCP parameters. The default of 64k matches what OBS Studio uses. Other programs may use the system default. You probably shouldn't change this unless you really know what you're doing!

Note that speed test sites will not give you an accurate view of your potential upload speed to Twitch, as they are designed to measure your upload as a whole, not to a single site over a single connection. Some ISPs may also have poor routing or overloaded peering with Twitch which affects your maximum possible upload speed. When setting the bitrate in your streaming program, you'll want to leave around 500kbps spare for any games and other data that may need to be sent. Streaming at your absolute maximum bitrate will result in lag and possible dropped frames.

You must not already be streaming during the test, and although TwitchTest needs your stream key, your stream will not go live. Testing can take a long time, so it's best to select only regions close to you.

Privacy Notice

As of version 1.4, TwitchTest sends your settings and results to my server for analysis. Data is sent securely over HTTPS and will only be made available in anonymized, aggregate form, eg to show how a certain ISP compares relative to others. If you wish to opt out of this data collection, pass --disable-data-upload on the command line when starting TwitchTest.

Download

TwitchTest will work on all modern versions of Windows. The Visual Studio 2015 Runtime (vc_redist.x86.exe) is required (you'll get a missing VCRUNTIME140.DLL error otherwise). The program will prompt to launch as an administrator since connection quality statistics can only be measured under admin mode.

Download: twitchtest-1.52.zip (56 KiB).

TwitchTest is open source, licensed under the GPLv2. Source code can be found on GitHub.

Donate

If you find TwitchTest useful, please support my work by making a PayPal donation or using Bitcoin (bc1ql74yuuxaymlc8c2pmwhdmc28hzp4kr5zjn77k4) / Bitcoin Cash (qr60uckvnv32d8e0k3zdxqplku40lq7fks5qeec4ah). Thanks!

Version History

  • v1.52
    Updated to use Twitch ingests API instead of the discontinued Kraken API.
  • v1.51
    Updated quick select for new Twitch server names.
  • v1.5
    Added individual server check boxes for testing specific servers.
    New application icon by Arthur Shlain.
  • v1.4
    Added data sharing (see privacy notice above).
  • v1.31
    Show interface name and driver version on the main window.
    Check for known buggy 3rd party drivers and warn user if found.
  • v1.22
    Updated for new Twitch API which requires client_id.
  • v1.21
    Save the last used stream key.
  • v1.2
    Add 'Share' button which uploads a screenshot of the results to imgur.
  • v1.1
    First public version.
WidthFPSBitrate
648604480
720454148
576603540
648453360
720302765
504602710
576452655
720252304
648302240
504452033
432601991
648251867
576301770
432451493
576251475
504301355
504251129
43230996

HOW TO DO:

  1. Determine your upload speed, using this tool: Twitch Bandwidth Test Tool by R1ch
    • The reason you’re using this is because “speed test” websites determine your upload speed to servers that are not owned by twitch.
    • Non-twitch servers do not accurately reflect what will be done with twitch over a sustained period of time.
      • Uploading to a twitch server over a sustained period of time = STREAMING. How relevant!
    • If you pay for xsplit, they have a built-in utility that can do this.
  2. Twitch likes to recommend you use 80% of your upload speed for your total bitrate. Contact your local mathematician for more information.
    • Typically you should test your internet under normal conditions for when you stream.
    • If you stream in the evening while your stupid sex object watches netflix and your children from yet-to-be-dissolved marriages play Smash Bros. online or whatever, then test for available bitrate at this time.
    • If you find you lack bitrate, and also lack the spine to control your household, don’t bother streaming.
  3. Subtract 400kbps if you’re playing a modern multiplayer game. Many games require much less than this. I like to recalculate as infrequently as possible.
  4. Subtract your audio bitrate. In OBS you’ll find this in Settings > Encoding > Audio Encoding (the section below Video Encoding, top right drop-down in this section)
    • If your stream has no music whatsoever, only voice: 96 is sufficient.
    • If you have some kind of audio notifications, infrequent sound effects, or pirate low quality mp3s/play music from the 40’s: 128.
      • Most shooters are fine here.
    • If you play music regularly, or enable it in your game: 192.
    • If you want to jerk off your FLAC library: 320.
  5. Now that you have a remainder which represents your video bitrate budget: look at the table above and consider your goals.
    • The screen does not change drastically over time.
      • Example: Hearthstone, visual novels, most sprite-based games that aren’t bullet-hell, fighting, or rhythm games.
      • Prioritize resolution over frame rate.
        • Shit is moving slowly, making that shit move smoothly won’t look as appreciably different as font legibility.
    • The screen does change drastically over time.
      • If you can move the camera around whatsoever, you can consider the game “high motion.”
      • Prioritize frame rate over resolution.
      • Learn to accept that people can’t read your shit because you don’t want the gameplay to look herky-jerky.
        • Also, never being able to read shit is better than sometimes I can read things if the fucking streamer stops moving for a fucking second god I hope he can stand still SHIT why the fuck did he nudge to the left and make a huge blocky fucked-up mess of everything?
        • Consistent visual quality is better than teasing people with occasionally high quality that is then ripped away from them like titty access was when they moved on to solid food.
    • “Bash-senpai, my bitrate is baka!”
      • Fuck off, weeb.
      • At this point you’re going to have to realize that, living in the past, you’re going to have to play games that are from there.
        • We’re talking SNES emulators, kid. “Retro” games are necessarily low resolution and low fps because of the technical limitations that existed around the time your connection speed was thought to be a good idea. The fonts will be large enough for people to read, too.
        • PSX/N64 are not actually retro enough, usually.
          • The shortcut to determining whether you should stream at a low bitrate: Does the camera move a lot?
          • Most sidescrolling games only change the screen when you get to the other side. That’s as intense as you’re allowed to get.

Notes About the Dang Ol’ Table

The resolution widths are for a 16:9 aspect ratio. These specific ratios will minimize (this is not the same word as eliminate) those shitty block thingies that appear when the video is scaled up and down.

You may think you’re not re-sizing your video because you don’t have encoding options, or that you’re not doing YouTube highlights anyway, or you’re streaming 720p so whatever right?

You’re an idiot.

Twitch bandwidth test tool download

Even if you don’t resize your video for YouTube, the video will be resized in twitch while you’re streaming.

What if they full-screen with a non 16:9 resolution monitor? Mine’s 16:10.
What if they close the left and right panels on twitch?
What if they’re poor and have one monitor, or one OLD monitor, or a cheap laptop?
What if they just want to watch the world burn and scale their twitch window so they can shitpost to other websites while waiting for something to criticize you on?

Sure, the default player might show a 720p video frame, but if they close the left panel it changes to 1470×788. If they close the right panel (chat, because yours is cancer) it’s 1810×788. (As of: Feb 20, 2016)

Neither of those are 16:9.

If you do decide to stream at less than 720, you’ll at least want it to cleanly upscale to 720 for all the default pleb-tans you want to follow the channel, follow the twitter, fondle your manboobles, etc.

DO ME

Twitch Bandwidth Test Tool

I’ll use myself as an example, because why not start with the best?

Twitch Bandwidth Test Tool Download

Determine Upload Speed

80%

Wowwee.

Twitch doesn’t really like it if you stream so close to their cap (3500kbps)

It’s abusive, because they’re pussy little bitches.

But I’m not retaking any screenshots, fuck’em.

Tool

Fuck’em.

Optional Multiplayer Allowance per latency suggestions (OMA pls)

Dank Trax

navigate those settings, gurl

Consult the Table

According to the table there are no good options and I should just go to bed.

I can use pretty much any bitrate I want because I have dope ups. Obviously.

However, it’s not always the best idea to just use the highest bitrate you can. You have to…

Be Considerate Coddle Your Whiny Fucking Audience

Higher bitrate will always make your stream look better, but most of the kids pretending they’re not looking at porn on their phones don’t have the requisite down speed to view a high bitrate stream.

This will make your stream buffer, which is annoying. If these kids could tolerate buffering they’d be YouTube viewers.

Not that there’s anything wrong with that.

It’s not just inconvenient, you’re directly fucking up the point of having a live cast.

Don’t bother asking your viewers what their down speed is.

They’ll answer with what they’re paying for, maybe, but that doesn’t at all take into account what the usage in their neighborhood (or even household) might be.

Back when Netflix used the same encoding process for all their video streaming, 3000kbps was determined to be the ceiling for a 720p video.

(They encode by title now, rather than in a general sweep, but whatever, man.)

And you know what? Maybe that same market research is why twitch decided to be huge pussies and prefer you not stream above 3500kbps.

Twitch Bandwidth Test Tool Quality 0

I’ve found that even approaching 3000 tends to cause issues for viewers who trickled into my stream.

I don’t drop frames or have game performance issues of any kind streaming 2600-5000kbps, but man do people bitch about buffering.

Which is unfortunately something you have to deal with if you want people to stick around.

But you’ll also notice that the resolution and FPS combinations that will result in less-painful overall visual quality will indeed smudge the fuck out of finer details in exchange for smoother gameplay.

Which will cause the other kind of bitching: I Can’t Read Shit.

You can read your shit off to them.

You’re seeing your game at full resolution, you have a microphone. Interact with the cunts, shit.

You can’t use your mic to fix buffering.