Gadgetory


All Cool Mind-blowing Gadgets You Love in One Place

Building the ULTIMATE Twitch Streaming PC!

2017-12-28
many serious game streamers use a second PC actually so they got one for gaming and then another one dedicated to encoding and interacting with their audience so we were brainstorming and talking about some cool projects that we've done in the past with unread and virtualization technology and well let's just say the old light bulb went off what if we could build using an Intel high core count core I nine processor a two-in-one solution splitting a single Tower with a single motherboard effectively in half to perform both of those duties virtually of course would we end up with a viable day-to-day streaming solution well thanks to Intel sponsorship of this investigation we are about to find out okay so let's start with this why would anyone want to run a virtualized two-in-one setup as opposed to just having two separate machines I mean bare metals more efficient right let's take a look at a few reasons why it might actually be a cool idea first and most importantly for many is cost unless you already have a second computer to dedicate to encoding you would still have to buy GPU RAM and storage for two but you could save the considerable expense of many other components in addition your total power consumption and heat output will be a touch lower than running separate PCs meaning your energy bill will be lower - the second reason to go virtual is space while it's not a concern for some if you're streaming from a college dorm or a small apartment this means one less tower taking up space in your gaming area not every virtualized - and one has to be this big reason number three versatility since the gaming and streaming setups are virtualized not only are any potential software issues confined to each VM but they can also be much more quickly and easily backed up or cloned once you're set up so in the future you can easily hit the reset button in case anything should go wrong also thanks to the magic of on raid your gaming / streaming machine can act as a file and media server for the rest of your household so the plan then is to use a portion of our CPU to encode our video stream using x264 with high quality settings that way we can avoid the potential for scheduler conflicts without manually assigning CPU affinities and task manager like we would if we were doing both tasks on one OS well okay Linus this all sounds great but there's got to be disadvantages right well there is the fact that when using virtualization some devices can't be easily allocated to a VM our onboard audio for example shares an eye a new group with the chipset and essentially cannot be used same story with USB ports each grouping of ports has to be on a dedicated controller in order to pass it through so that you can hot plug your devices something that we pretty much take for granted these days and finally while it's possible to run on raid without its own video card it's a royal pain so we grabbed a dedicated sound card for our gaming VM and extra USB controller we're using one of the onboard ones for the other VM and an el cheapo third graphics card for under 8 so we are ready to you oh wait so during our testing we found that gaming performance was actually best when we assigned four cores and eight threads to our gaming VM and in some configurations we actually found tests that performed better in a virtualized environment compared to an equivalent configuration running on bare metal Y so this is the kind of thing that we encounter sometimes when we're running on the bleeding edge we spoke with on raids developers about the issue and they're putting together some information to share with the Red Hat and KVM hypervisor folks so that hopefully we'll see a resolution by the time game's demand more cores for optimal performance but for the time being our classic four core eight thread setup manages a negligible performance hit compared to bare metal and our streaming VM can suck up those extra cores anyway so that it could be used for heavier video editing and faster encoding for those edited videos that can later be uploaded to YouTube or other video on-demand sites alright then so let's show off the rest of the setup we're using the utterly unique level one text DisplayPort 1.2 KVM from Wendell and his team this gives us support for high refresh rate monitors like a Seuss's 240 hertz rog swift PG 2 v 8 q and easy switching between our VMs saving us from using two keyboards and mice though it should be noted that having an extra one on hand is pretty useful in some cases we're using Corsairs massive obsidian 900 D tower thanks to its ample cooling capacity and we're powering all three of our GPUs the 1080 Ti for gaming the 1050 Ti for streaming and that basic one for unrated off of an ax 1200 eye power supply and we've thrown in a monstrous on raid array of 712 terabyte Seagate iron wolf pro drives for 60 terabytes of protected storage that's visible to both VMs not to mention as I said before anyone else on the network who needs it allowing us to record our streams basically indefinitely so we can make them epic frag vids after we're done streaming finally for our capture Carlo and other surprise no capture card so we actually originally had planned to use one that 4k one from El Gato but this ended up being way cooler so our gaming VM is actually transmitting its video and audio feed to the encoder VM using the low impact OBS NDI plugin which runs with very little quality loss over our virtualized 10 gigabit network connection between our VMs then from there we've set the streaming machines output settings to Twitch's ultimate 1080p 60fps quality setting and would you look at that after a few command-line tweaks we could not only encode on the fly but do so at x264 s-slow preset which is 6 notches up from the default potato quality ultra-fast and to validate our original hypothesis is there some benefit from separating them in VMs we pushed our 11 hyper threaded cores to their limit in the streaming vm to the point where we forced our encoded video to start dropping frames then we went back to the gaming vm to see if those resources were effectively being isolated and it was still running games like nobody's business so what have we learned then on this journey well for one a virtualized dual head system with all of its shortcomings has some advantages operating our two virtual machines was about as transparent as running two completely independent systems whether via KVM switch or with two full sets of peripherals this is a use case for many course systems that we've been excited about for years now and one that has many applications beyond game streaming that is just gonna get better in time and second is that with superior codecs such as x265 on the horizon that are better optimized not only for image quality but for better thread and memory utilization that happens to mesh great with core I nines new cache design you'll be able to push the quality even higher with a setup like this all we need to do then is wait for twitch and mainstream broadcasting software to support it in the meantime though we've still built one of the coolest x264 streaming setups out there so thanks to everyone for their help with this and especially Intel for sponsoring this sick experiment and also you guys for watching it so if you guys dislike this video you can hit that button but if you liked it hit like yet subscribe maybe consider checking out where to buy the stuff we featured at the link in the video description maybe a shiny new core I 9 also link down there is our merch storage has cool shirts like this one and our community forum which you should totally join
We are a participant in the Amazon Services LLC Associates Program, an affiliate advertising program designed to provide a means for us to earn fees by linking to Amazon.com and affiliated sites.