• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EST 22:09
CET 04:09
KST 12:09
  • 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
TL.net Map Contest #21: Winners4Intel X Team Liquid Seoul event: Showmatches and Meet the Pros10[ASL20] Finals Preview: Arrival13TL.net Map Contest #21: Voting12[ASL20] Ro4 Preview: Descent11
Community News
Starcraft, SC2, HoTS, WC3, returning to Blizzcon!21$5,000+ WardiTV 2025 Championship5[BSL21] RO32 Group Stage3Weekly Cups (Oct 26-Nov 2): Liquid, Clem, Solar win; LAN in Philly2Weekly Cups (Oct 20-26): MaxPax, Clem, Creator win9
StarCraft 2
General
TL.net Map Contest #21: Winners Starcraft, SC2, HoTS, WC3, returning to Blizzcon! RotterdaM "Serral is the GOAT, and it's not close" Weekly Cups (Oct 20-26): MaxPax, Clem, Creator win 5.0.15 Patch Balance Hotfix (2025-10-8)
Tourneys
Constellation Cup - Main Event - Stellar Fest $5,000+ WardiTV 2025 Championship Merivale 8 Open - LAN - Stellar Fest Sea Duckling Open (Global, Bronze-Diamond) $3,500 WardiTV Korean Royale S4
Strategy
Custom Maps
Map Editor closed ?
External Content
Mutation # 498 Wheel of Misfortune|Cradle of Death Mutation # 497 Battle Haredened Mutation # 496 Endless Infection Mutation # 495 Rest In Peace
Brood War
General
BGH Auto Balance -> http://bghmmr.eu/ SnOw's ASL S20 Finals Review [BSL21] RO32 Group Stage Practice Partners (Official) [ASL20] Ask the mapmakers — Drop your questions
Tourneys
[Megathread] Daily Proleagues [BSL21] RO32 Group B - Sunday 21:00 CET [BSL21] RO32 Group A - Saturday 21:00 CET BSL21 Open Qualifiers Week & CONFIRM PARTICIPATION
Strategy
Current Meta How to stay on top of macro? PvZ map balance Soma's 9 hatch build from ASL Game 2
Other Games
General Games
Stormgate/Frost Giant Megathread Dawn of War IV Nintendo Switch Thread ZeroSpace Megathread General RTS Discussion Thread
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
TL Mafia Community Thread SPIRED by.ASL Mafia {211640}
Community
General
US Politics Mega-thread Russo-Ukrainian War Thread Things Aren’t Peaceful in Palestine YouTube Thread Dating: How's your luck?
Fan Clubs
White-Ra Fan Club The herO Fan Club!
Media & Entertainment
Anime Discussion Thread Movie Discussion! [Manga] One Piece Korean Music Discussion Series you have seen recently...
Sports
2024 - 2026 Football Thread NBA General Discussion MLB/Baseball 2023 TeamLiquid Health and Fitness Initiative For 2023 Formula 1 Discussion
World Cup 2022
Tech Support
SC2 Client Relocalization [Change SC2 Language] Linksys AE2500 USB WIFI keeps disconnecting Computer Build, Upgrade & Buying Resource Thread
TL Community
The Automated Ban List Recent Gifted Posts
Blogs
Saturation point
Uldridge
DnB/metal remix FFO Mick Go…
ImbaTosS
Why we need SC3
Hildegard
Career Paths and Skills for …
TrAiDoS
Reality "theory" prov…
perfectspheres
Our Last Hope in th…
KrillinFromwales
Customize Sidebar...

Website Feedback

Closed Threads



Active: 1756 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
Replay Cast
23:00
WardiTV Mondays #58
LiquipediaDiscussion
OSC
22:00
Masters Cup 150 Open Qual
davetesta59
Liquipedia
LAN Event
18:00
Day 3: Ursa 2v2, FFA
LiquipediaDiscussion
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
RuFF_SC2 192
NeuroSwarm 143
ProTech129
StarCraft: Brood War
Calm 7475
Artosis 671
Shuttle 609
actioN 389
Sharp 168
Noble 55
Icarus 2
Dota 2
LuMiX1
Other Games
tarik_tv12842
summit1g9733
JimRising 332
WinterStarcraft250
C9.Mang0227
ViBE165
FrodaN127
Organizations
Other Games
gamesdonequick890
Counter-Strike
PGL128
Other Games
BasetradeTV84
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
sctven
[ Show 14 non-featured ]
StarCraft 2
• Sammyuel 14
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• LaughNgamezSOOP
• Migwel
• sooper7s
StarCraft: Brood War
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
Dota 2
• masondota21440
League of Legends
• Stunt219
Other Games
• Scarra548
Upcoming Events
OSC
8h 51m
LAN Event
11h 51m
Korean StarCraft League
23h 51m
CranKy Ducklings
1d 6h
LAN Event
1d 11h
IPSL
1d 14h
dxtr13 vs OldBoy
Napoleon vs Doodle
BSL 21
1d 16h
Gosudark vs Kyrie
Gypsy vs Sterling
UltrA vs Radley
Dandy vs Ptak
Replay Cast
1d 19h
Sparkling Tuna Cup
2 days
WardiTV Korean Royale
2 days
[ Show More ]
LAN Event
2 days
IPSL
2 days
JDConan vs WIZARD
WolFix vs Cross
BSL 21
2 days
spx vs rasowy
HBO vs KameZerg
Cross vs Razz
dxtr13 vs ZZZero
Replay Cast
3 days
Wardi Open
3 days
WardiTV Korean Royale
4 days
Replay Cast
5 days
Kung Fu Cup
5 days
Classic vs Solar
herO vs Cure
Reynor vs GuMiho
ByuN vs ShoWTimE
Tenacious Turtle Tussle
5 days
The PondCast
6 days
RSL Revival
6 days
Solar vs Zoun
MaxPax vs Bunny
Kung Fu Cup
6 days
WardiTV Korean Royale
6 days
Liquipedia Results

Completed

BSL 21 Points
SC4ALL: StarCraft II
Eternal Conflict S1

Ongoing

C-Race Season 1
IPSL Winter 2025-26
KCM Race Survival 2025 Season 4
SOOP Univ League 2025
YSL S2
Stellar Fest: Constellation Cup
IEM Chengdu 2025
PGL Masters Bucharest 2025
Thunderpick World Champ.
CS Asia Championships 2025
ESL Pro League S22
StarSeries Fall 2025
FISSURE Playground #2
BLAST Open Fall 2025
BLAST Open Fall Qual

Upcoming

BSL Season 21
SLON Tour Season 2
BSL 21 Non-Korean Championship
Acropolis #4
IPSL Spring 2026
HSC XXVIII
RSL Offline Finals
WardiTV 2025
RSL Revival: Season 3
META Madness #9
BLAST Bounty Winter 2026: Closed Qualifier
eXTREMESLAND 2025
ESL Impact League Season 8
SL Budapest Major 2025
BLAST Rivals Fall 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.