EDT 11:34 CEST 17:34 KST 00:34

Streams: 108 live
66396 total viewers

Active: 8932
Pizza Meter
[WCS AM] Ro16 Group B Prev…
WCS AM - Ro16 Interviews a…
AMD Premier League S1 Gran…
[WCS KR] Semis: Soulkey vs…
[WCS AM] Premier League Ro…
GomTV: about the gamespeed…
Papa John's explores EG, L…
TeamLiquid Map Contest Fin…
Liquid wins the Curse Invi…
mousesports defeats DD.Dot…
Dragon joins Clarity Gaming
Code S Group of Death, Par…
New Get 50% off Papa Joh…
TL Advertising Features
Best way to "move on" af…
Korean Music Discussion
New XBOX reveal May 21st
One Piece Manga
[TV] HBO Game of Thrones
Houston Barcraft
2013 Philadelphia Starcraf…
The Automated Ban List
G-1 Grand Finals Meetup
Ask TL Staff Anything
The IdrA Fanclub
The sOs Fanclub!
[Stream] aG'Clare
[Stream] High Masters Terr…
Shift button buggy while s…
Computer Build Resource Th…
Any fix for Twitch tv lag?
Mechanical Keyboard Guide
How to switch Gamma in Sta…
GomTV: about the gamespe…
The 6 Year Old SC2 Shout…
Papa John's explores EG,…
sc2planner.com now suppo…
A New Build Order Planner
Awesome/Confusing SC2 BM
[WCS EU] Challenger League…
[Code S] Placement Matches…
[Code S] RO4 Day 1 WCS Kor…
SC2 LR Resources
[ECS] EnerJ Cup Series 2013
[G] NaNiwa's PvZ (vs HyuN)…
[G] Boss TvP Allin
[H] ZvP Need help
The HotS Protoss Help Me T…
The HotS Terran Help Me Th…
OneGoal: A better SC2 [Pro…
[M] (8) Crux Breeze
[M] (4) TPW Strangewood Mire
[D] Favorite Maps that Did…
[D] Map Contest Finalists,…
General Discussion
Inhouse Dota
TL's Item Trading Thread.
Silly DOTA2 Videos
mousesports defeats DD.D…
The International Intera…
[The International] Easter…
We are giving away Season …
Perfect World's Dota 2 Su…
Liquid Pasture Community L…
[TPL S5] Demon Edge Cup
Drafting, my thoughts on it
Simple Questions, Simple A…
Solo Mid - Who? What? How?
A guide to Krobelus, the D…
Newly ported Hero discussi…
Pucca Comeback?
DES Sonic Interview 5/18…
SC2 Player looking to le…
[TLS2] Qualifier #4 VODs
BW Liquibet Season 25
sAviOr vs NaDa
Gem League II
Torenhire Starleague II
[GC S3] Gambit's Cup Semif…
D Ranks Teamleague Season 4
[TLS2] Qualifier #4
Simple Questions, Simple A…
Increasing APM/EAPM
Challenger map on Starcraf…
Tips and tricks: Defilers …
NBA Playoffs 2013
Tera MMORPG
2012 - 2013 Football Thr…
EVE Corporation
Steam Trading Cards
[Patch 3.07: Nerf Everythi…
[LoL] [SFW] Random Pics & …
[HELP] i CAN'T play melee …
[OGN] Olympus The Champion…
[LoL] General Stream Thread
[D] Pro Scene Evolution
[Champion] Swain
[Guide] Montegomery's Supe…
[Champion] Ezreal
The: What is my item worth?
Selling Items Thread
Witch Doctor Discussion
[M][N] Les Mafia
Carnival Cruise Mafia
Chinese Grammar Micro Mafi…
TL Health and Fitness Init…
The Injuries Thread
The 2013 Weightlifting Pro…
Leta - Movie
Michael - skyline
Anytime - Beast
By.Hero - Shuttle
Anytime - Pusan

Website Feedback

Closed Threads

IRC Chat
irc.quakenet.org #teamliquid

IRC Web Client

TeamSpeak 3 (76 users)

Stream Quality Guide

Forum Index > Tech Support 1 2 3 4 5 6 7 All
  R1CH       Administrator       May 08 2011 11:23.Profile Blog # 
This thread will attempt to explain what factors affect your stream quality and hopefully provide some insight on to what you should be looking at when you configure your stream. I'm not going to advocate any particular way of streaming since there are too many factors to consider, but hopefully this provides some basic information on to what you should be looking at when configuring things. Hopefully this is useful to someone!

Note: This guide is a bit out of date and some things are no longer accurate. For XSplit users, see this post for a quick idea of how settings affect quality.

There are three main factors when streaming:
  • Quality
    This is how your stream looks to your viewers.

  • Bandwidth
    Streaming requires a high upload bandwidth for best results.

  • CPU Usage
    If you're playing SC2 on the same PC as you're streaming on, you have to balance it so neither your stream nor SC2 starts suffering from lack of CPU power.


Quality
It's important to note that quality is not directly related to any single factor - eg cranking the resolution to 1080p and claiming that's the best possible quality is simply not true. There are many factors involved with how good your stream will look. Here are some:

  • Codec
    Most streaming software uses either H264 or VP6. The codec is a piece of software that converts the 50MB+/sec of raw image data into a compressed video format suitable for Internet data rates. H264 / MPEG4 is the more modern codec. However there are many implementations and variations in the way codecs can be programmed, such that some encoding software is better than others despite using the same standard.

    Popular software that uses H264 includes Adobe Flash Media Encoder and XSplit. XSplit uses the x264 encoder which is regarded as being the highest quality whereas FMLE uses MainConcept. VP6 is an older codec that is available to users of Adobe Flash Media Encoder. It requires a higher bitrate (more upload) for the same quality, but has some benefits in that it recovers from scene changes faster than FME's H264.

    It's also worth mentioning under the Codec section (but really it's a software issue) that XSplit's internal source scaling will always result in a blurrier output than a Adobe FME stream due to a scaling bug in XSplit (Hi SplitMedia please fix this, I've sent in about three bug reports already!). This becomes very noticeable if you have text or other sharp elements on your stream and is one of the main reasons I personally dislike XSplit. UPDATE: This bug no longer exists as long as your output resolution matches your input resolution.

  • Frame Rate
    The higher the frame rate, the more frames the codec will need to process and the smoother your stream will look. A good frame rate to target is around 25 FPS. Some streamers use 20 FPS and as long as it's a consistent 20 FPS this is fine, however below 20 FPS your stream will become noticeably jerky and unpleasant to watch. Going above 25 FPS does not yield many benefits while taking additional CPU to encode.

    The main thing to aim for with the frame rate is consistency. A consistent frame rate is good, a frame rate that jumps up and down is very noticeable and annoying to a viewer. Frame rate correlates pretty directly with the codec - the quickest way to reduce CPU usage if you're having trouble is to reduce the frame rate as a 20% reduction in frame rate results in 20% less work for the codec.

  • Resolution
    While you may think the higher the resolution, the better the quality will be, this isn't necessarily true. Very few people will have the CPU and Internet bandwidth to support a high quality 1080p (1920x1080) stream at a decent frame rate. It's much better to have a lower resolution stream at a steady and consistent frame rate than to try and push the resolution as high as it goes.

    Codecs work on a variable bit-rate and more complex scenes can require more time to encode. While your stream might seem fine at 1080p@30FPS while looking at the SC2 menu, come a big battle and you may find your stream turns into a slideshow as the codec can't keep up with all the data.

    Try to pick sizes that are exact 2:1 reductions for best quality, eg if your SC2 is at 1680x1050, try streaming at 840x525. To change the resolution you can either set your SC2 to play in a lower resolution or set your streaming software to resize the input / output. Generally though you will want SC2 to run at your native monitor resolution with either a full size or half size resolution for your stream.

  • Bitrate
    The bit rate is the approximate amount of kbps that the codec will try to produce. However the H264 format is a variable bit rate format, so even if you specify 2000kbps, if the codec tries to encode something and it happens to come out at 2500kbps for that particular instant, it's going to either use it or drop it. It's important to pick a bit rate that is well below the maximum upload speed of your Internet to account for bursts like this. If you have 2mbps upload and stream at 1900kbps, come a burst of 2500kbps your stream is going to lag or drop frames (both equally bad).

    Lagging can become cumulative to the point where if your upstream never manages to recover and "catch up" to the live point in the stream (eg an average of 2.1mbps trying to go out of a 2mbps upstream), your stream will simply not work. Dropped frames are also bad as if a key frame is dropped, it can take 5 - 10 seconds before another key frame is generated, during which time your viewers will have no video.

    On the flip side, too low of a bitrate and your stream will look terrible. Codecs can't work magic - it's impossible to turn 1920x1080 @ 25FPS into a decent looking 1mbps stream for example.

The above four factors are the most important things to consider when setting up your stream. Some streamers prefer a higher resolution with a lower frame rate. Others take a more conservative approach and use a low resolution with a high frame rate and bit rate. This is actually very good option to start with since it guarantees no bitrate quality issues and doesn't usually use much CPU.

Bandwidth
I've touched on the topic of bandwidth in the quality section, but it deserves its own section for clarity. First of all, streaming is tough on your connection. Any packet loss or jitter can cause your data to arrive late at the streaming provider which will discard it due to the timestamp being late. Worse still, your throughput may be reduced by retransmissions to the point where your stream buffer backs up and no new data ever makes it to your viewers.

When determining your bitrate, a good rule of thumb is to leave about 25% of your upstream unused. If you have a 2mbps upload speed, set your stream bitrate to 1500kbps. This leaves enough room for the occasional burst of data from the codec as well as for background applications such as any VoIP software and of course SC2 itself.

When determining your upstream speed, it's important to perform a realistic test. If you go to www.speedtest.net and pick the closest server to you, you're not going to get a realistic result. For users in the US, I would suggest picking a server on the East or West coast, whichever is furthest from you as a good baseline. If you're still using Windows XP, you will need to apply some registry tweaks to be able to get good performance to sites with higher latency, but that's beyond the scope of this guide.

Depending on your connection type, your upload speed may vary during the day as more users get online. Crowded cable networks and especially using wireless can be a big issue. Run tests at the time you would usually be streaming for accurate results. One final thing to keep in mind is some ISPs offer "boost" technology where for the first X seconds of a transfer, upload/download limits are relaxed slightly to provide for better looking results in speed tests.

For those of you on capped connections with a limited amount of transfer per month, you may want to avoid regular streaming. It can very quickly add up to a lot of bandwidth and may cost you additional fees from your ISP.

Finally, keep in mind that when you set your bitrate to X, your viewers need approximately X + 500kbps for a reliable streaming experience. If you can upload at 10000kbps then that's great, but don't expect many people to be able to watch your stream. (Side note: Justin.TV provides a service to transcode your stream into a lower resolution / bitrate if you are a partnered account. Contact them for details)

Here's some very rough example bitrates you should be looking at for a nice quality stream at 25 FPS (these will vary depending on encoder used and other factors, with XSplit you can get away with a lower bitrate for the same quality for example):

480p (720x480): 750-1000kbps
720p (1280x720): 1500-3000kbps
1080p (1920x1080): 3000-5000kbps+

Most of you will not be playing in a resolution that matches one of these exactly, so you'll likely want to resize your stream down to a matching aspect ratio.

CPU Usage
Here comes the fun part. Streaming requires lots of CPU. So does SC2. If you stream at too high a quality, both your stream and your game will start to lag. You need to find a balance between quality and how much the stream impacts your game performance.

First, if you have anything less than a quad core processor, you may as well forget about streaming in any kind of decent quality for now. SC2 itself can easily almost max out a dual core CPU, leaving no room for streaming.

Ideal CPUs:
Core i5 2500k / i7 2600k
Core i5 / i7 8xx / 9xx Series
AMD Phenom X4 / X6

Unfortunately anything less than these including older Core 2 models are showing their age and you won't be able to reach the best results. Streaming and SC2 are extremely CPU dependent, your graphics card has a very minimal impact on things so don't go out and buy an expensive GPU in the hope it will fix things.

The codec you choose (which is influenced by which program you stream with) has a very big impact on CPU. Adobe's Flash Media Encoder has a pretty standard H264 encoder but it uses a lot of CPU. One benefit is that is multi-threaded, meaning it can take full advantage of multiple cores and benefits from i7 CPUs. XSplit on the other hand produces a higher quality output but appears not to benefit from multiple cores very well, so your CPU speed becomes a factor (one reason why the 2500k and 2600k work so well is they can easily hit 4+GHz with overclocking) UPDATE: The latest XSplit versions can now use multiple cores properly. There are other programs such as VLC (very difficult to setup) and Dynno (suffers from macroblock artifacting) but the two main programs most people will be looking at are XSplit and FME.

How you get your SC2 into the streaming program also has a big impact on CPU usage and in-game lag. Most screen capture options such as XSplit's internal capture and VHScrCap use a significant amount of CPU and rely on GDI which causes your game to lag even if your CPU isn't near maximum. The best option by far is to use DXTory which rips the screen directly out of your video card after it has been rendered by intercepting DirectX calls. This has almost zero overhead associated with it, however DXTory is not free - it will set you back around $50 and will not allow you to capture anything other than games. The next best appears to be SCFH, a GDI based screen capture. Even if you use XSplit, you aren't forced to use XSplit's internal capture - you can easily add a camera source of DXTory or SCFH.

Programs such as XSplit offer a virtual set where you can add overlays and other effects. Keep in mind - especially if you use transparency - that the cost of these effects can add up in terms of CPU usage. High-quality resizing is also an expensive operation for CPUs, so for the lowest possible CPU use, try to match your screen size with your stream size (XSplit users can ignore this since XSplit seems to scale everything regardless of it matching the output size).

Some guides recommend setting affinity so your streaming program and SC2 run on separate CPU cores. I don't really recommend this as it just limits performance, if you want to ensure your SC2 doesn't lag at the expense of your stream, simply set SC2.exe to High Priority in task manager.

Another thing if you use Vista / Windows 7 to do is to disable Aero (the fancy translucent desktop effects etc). To do this, right click on the shortcut to your streaming program or SC2 and under Compatibility, tick the "Disable desktop composition" box. This especially helps when using GDI capture methods.

Final Thoughts
One reason I like to use Adobe FMLE over XSplit is the status window. XSplit offers you pretty much zero feedback - it doesn't tell you the current FPS, whether there is any local buffering, if there are any input or output dropped frames, etc. It's pretty much just luck - try some settings and see if your stream lags, if you get buffering just restart and hope it's better, etc. FMLE on the other hand offers you very useful statistics - dropped frames, current bitrate (remember it's variable) and more.

Input drops mean your capture source such as DXTory or SCFH isn't providing input fast enough - this can happen in big battles where your SC2 FPS drops below your desired stream FPS. Output drops are the ones to watch for - this means output frames were dropped because they couldn't be encoded in time. Any amount of output drops means your stream will lag and you should re-adjust your settings. If you see publishing buffer or frame drops at non-zero values, this indicates your upload is too slow or the connection to your streaming service is failing.

Remember to test things with a realistic load - simply looking at the SC2 menu is easy for a codec to encode and won't provide accurate feedback. Watch some replays and move the camera around etc (but don't run replays on 2x or higher since that will use more CPU than a realistic game).
Last edit: 2012-02-04 06:11:18
Twitter: @R1CH_TL
Old Post

 
 Marcus420   Canada. May 08 2011 11:33. Posts 1828
Profile # 
Sticky pls!

(one unified thread on stream help :D)
Old Post

 
 Grobyc   Canada. May 08 2011 11:34. Posts 16962
Profile Blog # 
Wow, beautiful guide R1CH, thanks for making this. This should be stickied in the tech support section if it isn't already.
Surprise, motherfucker!
Old Post

  R1CH       Administrator       May 08 2011 11:37.Profile Blog # 
It's more of a technical background reading thing than a support guide, unfortunately it won't really help anyone with the "How do I set up xsplit" or "Can I stream with X" style questions. I just thought it would be nice if there was some explanation of how it all fits together rather than people plugging in settings without really understanding what they do.
Twitter: @R1CH_TL
Old Post

 
 Sheekthief   United States. May 08 2011 11:44. Posts 267
Profile Blog # 
Yeah was about to say its not much of a guide lol.

Really nicely laid out and this should hopefully help people understand what ever the hell they are doing. Thanks :D
Commentator at RageQuit.tv | www.RageQuit.tv |
Old Post

 
 irninja   United States. May 08 2011 12:16. Posts 1207
Profile Blog # 
For those unsure of using Flash, be sure to know that flash medio encoder is simply that - an encoder. It takes a source (vhscreencapture or similar like xsplit) and encodes it, usually more efficently.

So if you wish to take a break from Xsplit. Go download VH Screen Capture, and then Flash Media Encoder.



www.teamlegacy.net | MMO junkies
Old Post

 
 DeepBlu2   United States. May 08 2011 13:29. Posts 969
Profile Blog # 
Thank you, Rich. So much, seriously. It's so annoying constantly having to change the settings. I know you don't like xsplit but it's so simple and this guide makes it even easier. Thanks so much. You deserve alot more credit.
u gotta sk8
Old Post

 
 Boblhead   United States. May 08 2011 13:33. Posts 2556
Profile # 
Very nice guide, hopefully this will help with many questions for ppl using xsplit/fme
trust me looking at the same questions over and over BLEH!

R1CH what do you think I should do, I have a 5mbps upload, but when putting stream to 1.2mbps I get constant disconnects, do you think this has somthing to do with my router Upgraded it 5-6 years ago? My modem is able to handle 40 down/ 10 up. You think a new router would fix this problem?
Last edit: 2011-05-08 13:35:57
Old Post

 
 semantics   May 08 2011 13:44. Posts 8556
Profile Blog # 

On May 08 2011 11:37 R1CH wrote:
It's more of a technical background reading thing than a support guide, unfortunately it won't really help anyone with the "How do I set up xsplit" or "Can I stream with X" style questions. I just thought it would be nice if there was some explanation of how it all fits together rather than people plugging in settings without really understanding what they do.

noticed you don't give suggestions just lay it out as it is, but atleast your expliation should help some people figure out it's not bad not to use h.264 which wasn't designed for streams but still can produce quite a nice stream at a lower bitrate, among other suggestions such as what bitrate is on your stream and how resolution can effect it.
Last edit: 2011-05-08 13:44:56
Old Post

 
 Dusty   United States. May 08 2011 14:30. Posts 1320
Profile Blog # 
You seem like a knowledgeable person on this subject. Thank you for making a great guide I will try to read all of it but for now I only skimmed on it. I have one question, though.

Would the i7-2600 be significantly better than the i5-2500k for streaming and gaming only?
Diamond 1 LoL player on NA | Worst Scarra NA | http://www.lolking.net/guides/list?author=DustyLoL | @DustyLoL - follow me so you can unravel the secrets of the universe ( ͡° ͜ʖ ͡°)
Old Post

  R1CH       Administrator       May 08 2011 14:32.Profile Blog # 
Depending on what program you stream with the i7 will be better. FMLE will make use of the extra threads, however XSplit probably won't. If you ever do any other video editing, most video encoding software can make use of the extra power.
Twitter: @R1CH_TL
Old Post

 
 Dusty   United States. May 08 2011 14:34. Posts 1320
Profile Blog # 
I wont be wanting to do much video encoding and when I stream I much prefer to use X-split so thats a win for me right there, plus I want to try on save some money thanks for the answer .
Last edit: 2011-05-08 14:35:15
Diamond 1 LoL player on NA | Worst Scarra NA | http://www.lolking.net/guides/list?author=DustyLoL | @DustyLoL - follow me so you can unravel the secrets of the universe ( ͡° ͜ʖ ͡°)
Old Post

 
 Ponyo   United States. May 08 2011 15:02. Posts 1231
Profile Blog # 
r1ch where has this topic been all my life. Thank you very much sir, plan to start streaming everyday after finals!
ponyo.848
Old Post

 
 Ragnarawk   Canada. May 08 2011 15:08. Posts 32
Profile # 
this is exactly what i was looking for

tyty
Old Post

 
 lynx.oblige   Sierra Leone. May 08 2011 17:33. Posts 2027
Profile # 
Excellent as always, R1CH. Cheers
Everyone needs a nemesis.
Old Post

 
 EdwardStarcraft   May 08 2011 18:33. Posts 119
Profile Blog # 
I run a very high quality stream on JTV and I have to say that everything that R1CH says here is golden. I'd like to add three things though:

* 1200kbps is probably the max bitrate you want to go without the transcoder on JustinTV without viewers complaining about lag. You'll get a decent 720p stream with h264 (won't be top notch though).

* If you want your stream quality to be very good, I would play at the same resolution you stream at. Thus, if you stream at 720p (recommended; most people can't watch at 1080p anyways if they're on a older computer or laptop, and chances are your computer can't encoder at 1080p fast enough), you'll want to play SC2 at 720p. It will result in better picture quality.

* R1CH said:
+ Show Spoiler +
If you disable Aero, you'll actually reduce a LOT of overhead. You can get Aero to automatically disable by right clicking on Flash Media Encoder or Xsplit's icon in the start menu, going to properties > compatibility, and check "disable desktop composition".
Please follow me @EdwardStarcraft on Twitter, Facebook, and Youtube!
Old Post

 
 BroboCop   United States. May 09 2011 01:04. Posts 373
Profile # 
great writeup. Would of been helpful when I was buying new components for myself as I would of had to research less but none the less still a great writeup/read.

This may not be the right thread to ask this, so I will spoiler it. Any feedback would be great :>.

+ Show Spoiler +
Old Post

 
 Shadow Boss   United States. May 09 2011 03:47. Posts 18
Profile # 
Thank you so much for this writeup! Even though it's not really a guide, it still answered a lot of questions I had about streaming in general and will greatly influence my decisions on which parts I will buy for my new desktop. Looks like it'll also be a good idea to upgrade my internet plan with Verizon for higher upload speeds. Thank you again! =)
Old Post

 
 square .   Spain. May 09 2011 04:05. Posts 28
Profile # 
Very VERY nice guide, as a noob streamer i was looking for something like this, i dont like to just change settings and cross my fingers hoping everything works, im sure this will help me with my stream, although i have a Q6600, ill take it to 3GHz and see if that helps
thanks
Old Post

 
 Adebisi   Canada. May 09 2011 04:05. Posts 1535
Profile Blog # 
Great post, maybe consider adding something like recommended settings based on different upload rates?
I watch Starcraft.
Old Post

1 2 3 4 5 6 7 All
Please log in or register to reply.
 
Refresh
StarCraft: Brood War
StarCraft 2
Dota 2
League of Legends
[ Show 88 non-featured ]

» Recent SC2 Results
» Premier SC2 Tournaments
Sidebar Settings...

The Little App Factory



The opinions expressed by our users do not reflect the official position of TeamLiquid.net or its staff.

Advertising | Jobs | Privacy | Terms Of Use | Contact Us

Original banner artwork: Jim Warren. Ad tag: TF_US.
The contents of this webpage are copyright © 2002-2013 Teamliquid.net. All Rights Reserved