• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EST 05:11
CET 11:11
KST 19:11
  • Home
  • Forum
  • Calendar
  • Streams
  • Liquipedia
  • Features
  • Store
  • EPT
  • TL+
  • StarCraft 2
  • Brood War
  • Smash
  • Heroes
  • Counter-Strike
  • Overwatch
  • Liquibet
  • Fantasy StarCraft
  • TLPD
  • StarCraft 2
  • Brood War
  • Blogs
Forum Sidebar
Events/Features
News
Featured News
RSL Season 3 - Playoffs Preview0RSL Season 3 - RO16 Groups C & D Preview0RSL Season 3 - RO16 Groups A & B Preview2TL.net Map Contest #21: Winners12Intel X Team Liquid Seoul event: Showmatches and Meet the Pros10
Community News
Weekly Cups (Nov 24-30): MaxPax, Clem, herO win1BGE Stara Zagora 2026 announced14[BSL21] Ro.16 Group Stage (C->B->A->D)4Weekly Cups (Nov 17-23): Solar, MaxPax, Clem win3RSL Season 3: RO16 results & RO8 bracket13
StarCraft 2
General
SC2 Proleague Discontinued; SKT, KT, SGK, CJ disband Weekly Cups (Nov 24-30): MaxPax, Clem, herO win BGE Stara Zagora 2026 announced Information Request Regarding Chinese Ladder SC: Evo Complete - Ranked Ladder OPEN ALPHA
Tourneys
$5,000+ WardiTV 2025 Championship Constellation Cup - Main Event - Stellar Fest RSL Revival: Season 3 Tenacious Turtle Tussle [Alpha Pro Series] Nice vs Cure
Strategy
Custom Maps
Map Editor closed ?
External Content
Mutation # 502 Negative Reinforcement Mutation # 501 Price of Progress Mutation # 500 Fright night Mutation # 499 Chilling Adaptation
Brood War
General
Which season is the best in ASL? [ASL20] Ask the mapmakers — Drop your questions BGH Auto Balance -> http://bghmmr.eu/ FlaSh's Valkyrie Copium BW General Discussion
Tourneys
[Megathread] Daily Proleagues [BSL21] RO16 Group B - Sunday 21:00 CET [BSL21] RO16 Group C - Saturday 21:00 CET Small VOD Thread 2.0
Strategy
Game Theory for Starcraft How to stay on top of macro? Current Meta PvZ map balance
Other Games
General Games
Stormgate/Frost Giant Megathread Path of Exile Nintendo Switch Thread Should offensive tower rushing be viable in RTS games? The Perfect Game
Dota 2
Official 'what is Dota anymore' discussion
League of Legends
Heroes of the Storm
Simple Questions, Simple Answers Heroes of the Storm 2.0
Hearthstone
Deck construction bug Heroes of StarCraft mini-set
TL Mafia
Mafia Game Mode Feedback/Ideas TL Mafia Community Thread
Community
General
US Politics Mega-thread Things Aren’t Peaceful in Palestine Russo-Ukrainian War Thread The Big Programming Thread Artificial Intelligence Thread
Fan Clubs
White-Ra Fan Club
Media & Entertainment
[Manga] One Piece Movie Discussion! Anime Discussion Thread
Sports
2024 - 2026 Football Thread Formula 1 Discussion NBA General Discussion MLB/Baseball 2023
World Cup 2022
Tech Support
Computer Build, Upgrade & Buying Resource Thread
TL Community
Where to ask questions and add stream? The Automated Ban List
Blogs
James Bond movies ranking - pa…
Topin
Esports Earnings: Bigger Pri…
TrAiDoS
Thanks for the RSL
Hildegard
Saturation point
Uldridge
Customize Sidebar...

Website Feedback

Closed Threads



Active: 1273 users

[G] Picking resolution/FPS/bitrate for streaming

Forum Index > Tech Support
Post a Reply
ZeroTalent
Profile Joined December 2010
United States297 Posts
Last Edited: 2012-09-05 17:20:05
August 24 2012 21:38 GMT
#1
Cross-posted from XSplit forums, but I think it will be useful here, especially since I used SC2 as the reference footage.

Based on helping out on the XSplit forums for a couple of weeks now, setting stage resolution and bitrate is very difficult. A common error for first-time streamers is to pick a resolution that is too taxing for their CPU, or pick a bitrate that is too low for their resolution (resulting in reduced quality and increased stuttering on stream) or too high for their bitrate (resulting in increased CPU to encode finer details and push bits around). There is a much longer guide devoted to getting started with XSplit that talks a little about these settings, but it doesn't seem to be sinking in. So I put together a quick guide on how to pick your resolution and bitrate.

Click for full-sized image
[image loading]

Google Doc link: Streaming Resolution, FPS, & Bitrate lookup

All you need to do is find your CPU and Speedtest upload speed on this table to get your max resolution & FPS, and then use the smaller bitrate table to get the bitrate for that resolution/FPS pair. Be sure to use this to set your Stage Resolution (View->Resolution), and then set your channel to "Default Stage Resolution", to minimize resizing

EXAMPLE 1: I have an i5-2500K and a 2.5mbps upload, I should set my stage resolution to 720p and the framerate to 30 FPS. But, I don't upload speed have enough to use a high bitrate stream. I should start by setting my VBV maxrate to 2000 Kbps.

EXAMPLE 2: I have a super high end i7 3960, but only 2.0 Mbps up. Even though my CPU is capable of streaming 1080p@60fps, my internet connection is so slow that all I can stream in is 480p at 30fps, and choose a VBV maxrate of 1500 Kbps. Hmmm ... maybe I should get a better internet connection so I can stream in higher quality.

EXAMPLE 3: I have an old quad-core Athlon II that plays games like LoL and SC2 just fine, but a super awesome 10mbps upload speed from my ISP. Even though my connection could suppoert 1080p@60fps, my computer is probably only powerful enough to handle 360p@25fps. Perhaps it's time to buy a new PC?

EXAMPLE 4: I have an i7 3770K and an 8.0 mbps upload speed. I can afford to stream at 1080p@45 FPS and use the low bitrate of 4200 Kbps. However, the 1080p@30 high bitrate of 6000 Kbps is also available. My viewers might actually like that stream better than 1080p@45 low bitrate.

As always, these are estimates at best. Be sure to experiment with your specific setup. But I hope people find it helpful and easy to use! Also, If you have a CPU that's not listed, please add a comment with the bitrate & resolution you stream at and I will be more than happy to add it.

And now, some FAQ answers:
How did you pick these bitrates?

I took a replay that included a 30-second segment containing both a large army battle and multiple camera changes (managing drops/harass) and recorded it using fraps. This is meant to simulate a "high complexity" scene that is difficult to encode. I then transcoded it at several resolutions and framerates using ffmpeg , which uses the same encoder as XSplit, at settings equivalent to what XSplit uses except bitrate constraints. This gave me an average bitrate for high complexity footage without constraint. This is not an exact science, but it is at least based on real data and should be a decent starting point.

Why are the "High quality" bitrate recommendations so much higher than I see when I look at other guides?

There are several reasons for this:
  • Higher bitrates are more CPU intensive in streaming scenarios -- makes gaming harder
  • Very few viewers have connections consistently > 6Mbps, especially if they are doing other things while watching a stream. So it's only available to people who can stream in multiple bitrates, at which point you have to have a > 10mbps upload which is not even available in home/small business markets.
  • The higher bitrates are used only during complex scenes, which is a small fraction of the time spent streaming (though arguably the most important time!)


What about other settings (quality, preset, etc.)?

The right starting point is almost always to set quality to 10 and the preset to either "veryfast" or "XSplit default". If the game feels to slow at that point, try, in order:
  • Dropping from 30 fps to 25 fps and reducing VBV max bitrate by 10% Kbps
  • Dropping the VBV max bitrate again by another 10-20% (experiment here)
  • Lowering the quality until you think the stream is too ugly
  • Dropping you XSplit stage resolution (View->Resolution)


If the game is still feels like it's running fine, you can try two thinks crank up the quality
  • Set quality to "not set", and set your preset to "veryfast&ex:crf:24" or "XSplit default&ex:crf:24". If things are still running fine, and you are using a bitrate from the High Quality or Extreme Quality bitrate, keep decreasing the number after crf until you can't play the game. Stop when you get to 18 21.
  • increase the bit rate.
Broadly speaking, increasing the quality will have some impact at all times but only a small impact in complex scenes, while increasing the bitrate will have a big impact during large battles or other complex scenes.

I will be running some experiments to analyse the impact of various preset & quality changes. Stay tuned ...
Can we get an official definition of "all-in"? Please?
NexCa
Profile Joined March 2011
Germany954 Posts
September 05 2012 03:08 GMT
#2
Thanks 4 sharing, now my stream run way smoother
Best Protoss Player 4 ever - Bisu[Shield] || http://www.teamliquid.net/forum/viewmessage.php?topic_id=326242 || THIS IS WHERE WE STAND, THIS IS WHERE THEY FALL, GIVE THEM NOTHING, BUT TAKE FROM THEM EVERYTHING ! || SKT FIGHTIIING
R1CH
Profile Blog Joined May 2007
Netherlands10341 Posts
September 05 2012 03:50 GMT
#3
This guide looks like it was well researched, but unfortunately seems not to be very realistic. Those recommended bitrate numbers seem needlessly high. By not using a VBV max bitrate when testing for bitrate you're essentially telling x264 to stream at an unconstrained constant rate factor, which doesn't allocate bits fairly for a VBV situation. Such high bitrates should never be needed with a VBV.

As an example, check out the TSL4 stream - we do 1080p30 at 3mbps and it's incredibly high quality. Going higher starts to cause a lot of issues with viewers being unable to watch your stream due to their own Internet or ISP not being able to sustain such a bitrate, as well as the risk of CPU / GPU decoding not being able to keep up (Flash player is pretty terrible at decoding)

Also lowering the bitrate or quality will not help with game slowdown as they are just rate control options. FPS, resolution and preset are the most important factor for CPU. Recommending a CRF below 25 is also pretty much pointless, the bitrate will balloon to the point where the generated frames just aren't usable. As an example, CRF of 24 at 1080p30 in SC2 easily generates 10+mbps frame sizes which are well above most peoples bitrates.

In terms of raw quality, bitrate has the most impact on quality regardless of anything else. You should optimize for bitrate first based on upload, then select the appropriate resolution, preset and FPS for the CPU.
AdministratorTwitter: @R1CH_TL
TL+ Member
ZeroTalent
Profile Joined December 2010
United States297 Posts
Last Edited: 2012-09-05 13:29:22
September 05 2012 05:28 GMT
#4
On September 05 2012 12:50 R1CH wrote:
This guide looks like it was well researched, but unfortunately seems not to be very realistic. Those recommended bitrate numbers seem needlessly high.

...

In terms of raw quality, bitrate has the most impact on quality regardless of anything else. You should optimize for bitrate first based on upload, then select the appropriate resolution, preset and FPS for the CPU.


I tested CRFs all the way down to 18. It's true that when using a VBV constraint for streaming*, going below the 20-22 range doesn't improve quality much during any battle of meaningful size. During significant battles (say, when both players are above 100 supply) going below CRF 25 helps very little. However during less complex moments of gameplay, which is the vast majority of the time, increasing CRF while using a bitrate somewhat higher than other recommendations will result in a big boost in quality. I tested this and observed minimal impact on game framerates until I got down to CRF <= 20. Conveniently, the marginal gain in quality in going from CRF 21 to CRF 18 is much smaller than the gain from CRF 24 to CRF 21, so I think CRF 21 is probably a good stopping point for "best viable streaming quality".

I realize that the High/Extreme bitrate recommendations are unrealistically high for 1080p streams. I'm considering deleting them especially if there's feedback that many viewers can't watch streams at those bitrates. But there may stil be an audience for them. Based on my "extremely scientific" poll in the SC2 General Forum, 70% of stream viewers have > 3 Mbps connections, and 60% have > 6Mbps. I do think that anyone whose Best quality stream has a bitrate above, say, 4500 Kbps should provide a second low rez/bitrate/quality stream for lower-bandwidth users so that everyone can watch, and the current guide says that.

I'm a little surprised that 3000 Kbps is considered enough for the TSL high quality stream, unless it's encoded using medium or slow preset (an overclocked 3930 used as a dedicated streaming PC can encode 720p source at slow preset in real time!). Obviously a popular site like Team Liquid is going to have to provide a good experience for the largest number of users, but it might be worth it to consider providing a "extreme quality" stream for high bandwidth users. Based on my eyeballing of Task Manager a few weeks ago, the MLG Ultimate stream used 4500-5000 Kbps (and even it was unable to keep up with large battles, but I don't know what the rest of their encoding settings looked like).

I'm not so sure it's correct to "optimize for bitrate first based on upload". If you have a pre-Sandy bridge i3 and a 10 Mbps upload connection there's no point using 7500 Kbps to stream in 480p just because it's there. Divorcing the bitrate from your resolution/fps/CPU power entirely will lead to weird results like this. Also, increasing bitrate does seem to result in increased CPU and/or decreased encoding FPS, though my numbers for encoding FPS were for offline tests rather than streaming. CPU and bitrate end up going go hand-in-hand, at least a little.

* If someone let me be king for a day, I'd decree that we all constrain the bitrate with --bitrate and proper rate tolerance rather than fiddle around with CRFs, a ratetol that's an arbitrary unit of measurement, VBV-bufsize, rc-lookahead, etc., but, that's a whole 'nother kettle of fish.
Can we get an official definition of "all-in"? Please?
Please log in or register to reply.
Live Events Refresh
Next event in 1h 49m
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
SortOf 160
ProTech122
StarCraft: Brood War
Britney 28412
Shuttle 1454
Horang2 1232
Hyuk 891
actioN 888
Stork 491
BeSt 446
Larva 415
Mini 330
ZerO 169
[ Show more ]
Dewaltoss 164
Soma 141
Pusan 135
firebathero 107
Leta 95
Killer 89
Yoon 65
Shinee 57
JulyZerg 50
Barracks 30
Aegong 28
Backho 23
ggaemo 23
Noble 19
Mong 17
ajuk12(nOOB) 13
soO 11
Sacsri 11
zelot 8
yabsab 8
Terrorterran 7
SilentControl 7
Shine 6
Dota 2
XcaliburYe228
NeuroSwarm83
League of Legends
JimRising 423
Counter-Strike
olofmeister1316
Other Games
ceh9564
Happy353
Fuzer 130
Mew2King125
ZerO(Twitch)10
Organizations
Other Games
gamesdonequick752
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
sctven
[ Show 13 non-featured ]
StarCraft 2
• LUISG 40
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• LaughNgamezSOOP
• Migwel
• sooper7s
StarCraft: Brood War
• iopq 4
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
League of Legends
• Jankos1255
Upcoming Events
Wardi Open
1h 49m
StarCraft2.fi
6h 49m
PiGosaur Monday
14h 49m
Wardi Open
1d 1h
StarCraft2.fi
1d 6h
Replay Cast
1d 13h
The PondCast
1d 23h
Replay Cast
2 days
Korean StarCraft League
3 days
CranKy Ducklings
3 days
[ Show More ]
SC Evo League
4 days
BSL 21
4 days
Sziky vs OyAji
Gypsy vs eOnzErG
Sparkling Tuna Cup
4 days
BSL 21
5 days
Bonyth vs StRyKeR
Tarson vs Dandy
Replay Cast
5 days
Wardi Open
6 days
StarCraft2.fi
6 days
Replay Cast
6 days
Liquipedia Results

Completed

Proleague 2025-11-28
RSL Revival: Season 3
Light HT

Ongoing

C-Race Season 1
IPSL Winter 2025-26
KCM Race Survival 2025 Season 4
YSL S2
BSL Season 21
CSCL: Masked Kings S3
Slon Tour Season 2
Acropolis #4 - TS3
META Madness #9
SL Budapest Major 2025
ESL Impact League Season 8
BLAST Rivals Fall 2025
IEM Chengdu 2025
PGL Masters Bucharest 2025
Thunderpick World Champ.
CS Asia Championships 2025
ESL Pro League S22
StarSeries Fall 2025
FISSURE Playground #2

Upcoming

BSL 21 Non-Korean Championship
Acropolis #4
IPSL Spring 2026
Bellum Gens Elite Stara Zagora 2026
HSC XXVIII
RSL Offline Finals
WardiTV 2025
Kuram Kup
PGL Cluj-Napoca 2026
IEM Kraków 2026
BLAST Bounty Winter 2026
BLAST Bounty Winter Qual
eXTREMESLAND 2025
TLPD

1. ByuN
2. TY
3. Dark
4. Solar
5. Stats
6. Nerchio
7. sOs
8. soO
9. INnoVation
10. Elazer
1. Rain
2. Flash
3. EffOrt
4. Last
5. Bisu
6. Soulkey
7. Mini
8. Sharp
Sidebar Settings...

Advertising | Privacy Policy | Terms Of Use | Contact Us

Original banner artwork: Jim Warren
The contents of this webpage are copyright © 2025 TLnet. All Rights Reserved.