Recording Console Games

Bombing Run

Yesterday was an interesting day, partially because I dinged another level and am now officially in my “late thirties”.  Most of the morning was spent in preparation for my wife to fly in, and doing a last minute run through the house to “pick up” a bit.  Honestly this year I somehow managed to pick up successfully as I went and didn’t really hit the point where I simply stopped caring that there was a pizza box on the kitchen counter.  So it really only took a few minutes, and I streamed some Warlords of Draenor while waiting.  For a reason that I did not know at the time… none of my voice over was coming through in the stream, but I will get to that later.

I picked up my wife around noon and we ran across town to my favorite Indian restaurant… where I proceeded to order something completely new in honor of the occasion.  My standby has always been Chicken Tika Masala medium hot, and no matter how many times I consider ordering something else… I always end up back on that.  The new dish was a sort of super spicy egg fried rice with chicken in it that they call Desi Rice.  In any fashion it was pretty freaking good.  Overall the day was pretty relaxing, and it served as the perfect break in the working week.  It was awesome to have my wife back, even if it is only for a few days as she flies out to the second conference of the year Sunday.

What completely overwhelmed me yesterday was all the well wishes from my internet family.  Both my twitter and g+ feeds were blowing up with well wishes all day yesterday, and upon logging into teamspeak that night I got another round.  I feel completely bombarded, and I thank all of you for that feeling.  It kinda feels like the whole Sally Fields “You like me, You really like me” moment.  But amazing friends aside… I find it always interesting to see which bot wishes me a happy birthday first.  This year and I believe many of the other years recently… the reward goes for the WoW Ace Forums…  who wished me a happy birthday at 7 pm on the 17th, which I can only assume is on Australian time?  In all seriousness… I am humbled by the amount of support I get from you all.

Recording Console Games

One of the coolest things about the PS4 is that it can stream live to twitch.  It also happens to be one of the most disappointing, since the twitch streaming rate is locked to 480p which shocked me.  I pretty much religiously stream in 1080p so it was frustrating the first time I cracked open one of my Destiny Alpha videos and saw how blurry the footage was.  The other nuisance is that it seems to only record MY voice chat as part of the stream, and not that of the other people I happen to be partied with.  The end result is this disjointed experience of listening to an often times hilarious one sided conversation.  I figured there had to be a better way.

For some time I had looked at a capture card, but honestly that whole concept was foreign to me.  After doing a ton of research I realized there was a huge problem there, with the way the streaming worked.  The two consoles that I most wanted to stream from were the Sony Playstation 3 and Sony Playstation 4… both of which I absolutely love.  The problem is that in both cases they use HDCP or High-bandwidth Digital Content Protection aka a screwball system that tries to encrypt the video data from the source to the television.  Apparently the Xbox One also struggles with this, and for some reason in all of these systems it is either on all of the time… or turned on the first time you play a movie and then stays on.  Normally this would prevent you from recording gameplay footage, because the recording device is not “HDCP Compliant”.

The widely accepted workaround is to plug these consoles into the capture card using component cables.  This however causes its own stream of problems as you take a digital signal… convert it to analog and then convert it back to digital.  The end result is often blurry and color shifted and just not something I wanted to mess with.  So after a lot of research I stumbled on the above video.  Basically the idea is to use an HDMI splitter to get around the HDCP lockout without actually stripping the HDCP protection and making the device illegal for sale.  All of this is voodoo to me to be honest, but I wanted to give it a shot.  I managed to find an Elgato HD Capture device on Craigslist and got a ridiculously good deal on it, therefore enabling this entire thing to work.  As of last night I had the set up going and it worked successfully, after a few attempts to work out the kinks.  Sorry for the twitch advertisement spam on twitter.

Rube Goldberg of Streaming

ConsoleStreamingSetup This ladies and gentleman is my streaming setup.  I decided to diagram it out in part because it made it actually make sense rather than the jumble of cables that I have running around my desktop.  Right now I have both the PS3 and PS4 hooked up in this fashion and will ultimately move the Xbox 360 in here as well.  For the setup I am proposing you need the following materials.

The Elgato comes with one HDMI cable and the necessary Micro to Full USB Cable.  Like I said I got mine through a craigslist deal for $75 enabling this whole setup to work.  So the only thing I was actually missing was the splitter.  After doing a lot of research on the subject it seems like only a few splitters do what is needed.  Thankfully the one I ordered and linked above is both tiny and works great.  Ultimately I want to get some much shorter usb cables because right now… having all these 6 foot cables is a mess.  Essentially you hook all of your game systems to the HDMI switch, and then hook the switch to an HDMI splitter, and then hook one of the two outbound ports to the Elgato.  That then passes the signal to the television and your computer.  You can download software from the Elgato website that does a decent job at capture, but I simply integrated all of this into my existing OBS setup.

Trial and Error

After a lot of trial and error I was able to produce a video of me playing Castle of Illusion on the PS3.  I do a rather horrible job at playing the game, but that is entirely beside the point.  Basically I could have died over and over and still would have been amused because the setup was working.  The only problem is… I seemed to be unable to record any dialog from my microphone.  I spent the better part of this video fiddling with my settings in OBS trying to make it function again.  The video however looked great, and was streaming to twitch and exporting to youtube in glorious 1080p.  The trouble with my headset started over the weekend when I decided to disconnect it from my machine and hook it to my ps4 for the purpose of grouping up in Destiny.

Being a USB headset, everything seemed to go wonky when I did this and everything from mumble, to teamspeak to obs treated the headset as though it had never been connected to the system, forcing me to remap everything.  Then I remembered… I had hooked the headset previously directly into my machine, and was now trying to go through my powered hub.  So I pulled the headset out, hooked it directly into the machine and bam… all of the sudden OBS started working again.  This second video has dialog coming across and with the help of my good friend Ashgar, I managed to sort out the volume levels so that I could actually be heard over the game audio.  So I feel like right now I have a repeatable solution for streaming HDMI connected consoles over twitch.

Now my specific setup is not a requirement… there are lots of different ways to do this.  Some folks have had good luck installing a cheap capture card in their PC and streaming through that.  The Elgato seemed like a more hands free solution to working out the finer points of video conversion.  There however are a bunch of different devices on the market that do essentially the same thing.  I wanted the Elgato simply because it did not require an additional power source and could draw power entirely from my PC over USB.  Since the HDMI switch and splitter each have their own power supplies, this just cut down on the total number of cords needed.  Right now the hole thing is a colossal mess, and at some point I want to hook it up with significantly shorter cables.  For now however it works great and I am super happy to be able to do this.

So You Want to Stream

Why I Stream?

This morning I found myself sitting here at the computer struggling to come up with a topic that I felt was worth writing about.  For the last several days I have been kicking around the notion of trying to do a very basic streaming guide, but really like everything I do… I don’t actually feel like I know what I am doing.  When I decided to start streaming on a whim a few months back, I had to pretty much figure everything out from scratch.  Thanks to lots of Google searches I managed to cobble together just enough information to do a passable job.  I am far from a streaming celebrity, and to be truthful no one actually watches my stream all that often.  I am happy to have a single other person in twitch chat with me.

So you might ask me then, why do I even bother streaming?  Honestly I am not really sure but it just seems fun to me.  There is something neat about showing the world what you are doing, and in some aspect that’s why we do any of this.  At least at a base level we blog, podcast, YouTube and stream all to share our lives with the world.  When I decided to start streaming I set up a structure on our guild voice server.  I created a channel called “Bel is Streaming”, and the basic idea was that if I was streaming I would join the channel and folks could pop in and chat with me… thereby making the entire feed seem more interesting.  This has worked pretty well, and on many evenings most of the people in channel are not even playing what I happen to be playing.

As a side note… I would not have had the courage to start the Aggrochat Podcast were it not for these streams.  For years I have said that we should be recording our mumble conversations… because some of the topics we end up delving into are really awesome.  It was while listening to one of these game streams one day at while working that I realized our nightly conversations sounded quite a bit like an impromptu podcast.  A few weeks later I was pulling together some of the regular members of these nightly discussions and AggroChat was born.  So if nothing else my piddling around with game streaming has had a mostly positive effect.   As to why I do it..  I am still trying to figure that one out.

Getting Started

The first thing you need to start streaming, is an account on a streaming provider.  The defacto industry leader right now is Twitch.tv which is the gaming offshoot of Justin.tv.  This is what I use personally but I have been hearing some really good things about Hitbox.tv for those who are wanting to use something different.  For the purpose of this guide we are going to primarily talk about what I use which is Twitch.  When you initially sign up, your username will be the default channel name for your stream.  However you can go into settings and change the Display name property to switch this up.  Basically I would suggest that you pick something simple and relatable to your blog or other social media efforts.  I am a simple monkey, so I try and pick /Belghast on all of the things unless it is already taken.

Moving forward what you really want from the twitch website can be found on the Dashboard.  You want to copy to a notepad document (or anywhere else you will remember it) the long string found on the Stream Key tab of the dashboard.  You will end up using this from that point on in any third party software to let you stream to your channel.  Another setting you might want to fiddle with while you are in the Twitch interface can be found on the Channel Settings page.  I highly suggest you toggle on the “Automatically archive my broadcasts” checkbox, because this opens up a whole world of options.  Firstly there will be folks that hit your page because it is “YOUR” page… not necessarily because you happen to be streaming something at the time.    Checking this box means that anything you broadcast will show up under the “Past Broadcasts” tab inside of your twitch profile.

The other cool thing this does for you, is that you can export directly from Twitch to YouTube.  Ultimately this is how I record anything that ends up on my YouTube channel.  I like keeping things simple, and being able to export directly without having to fiddling with the YouTube interface is a huge win to me.  The twitch interface is actually rather robust and it allows you to export individual segments of your video to YouTube, as well as having a default functionality to split videos into fifteen minute chunks.  By default YouTube will only allow you to upload videos that long until you have gone through the process of verifying your account…  which is an entirely different topic for a different day.  I am by no means “good at YouTube” but I do a passing job at having a channel.

You Need Some Software

Now in order to get your video stream to twitch.tv you are going to need some software.  I know absolutely nothing about Mac gaming…  so if you fall into this category, I am sorry this guide is going to leave you in the cold.  I am a PC gamer and as such only really experienced with PC configurations.  The Twitch broadcast page has a bunch of different options, and I am assuming that one or more of them can run on a Mac.  The “Gold Standard” in streaming seems to be Xsplit, as that is really what all the professional streamers seem to use.  However, to get the most out of it… it is a yearly subscription service.  I am totally fine with using the “Bronze Standard” in streaming software… because I am cheap.  That honor seems to fall to Open Broadcast Software or OBS, a very solid open source alternative to Xsplit.  Basically you have to ask yourself what your level of comfort is with software in general.  If you truly dislike fiddling with things until they work… save yourself some headache and pay for Xsplit.  If you are like me and are willing to scour internet forums for information to save some money… then OBS should work well for you.

image This is what my OBS configuration looks like.  The software is arranged into a few basic concepts.  Scenes can be thought of as a “screen setup” that you plan on broadcasting to the world.  I have one set up for each game that I happen to be playing, as well as a generic “Thanks”, “AFK” and “Pre-stream screen”.  You can swap back and forth between these rapidly from within the software, so it is completely to personal taste how many you configure.  You are going to need at least one scene to be able to broadcast anything to the world.  The next concept is Sources… these are essentially things you want to place on screen at the same time.  One of these will be your video game feed, then a lot of streamers include a feed from their web cam and various image overlays.  You can use ANY transparent image, and overlay it on your video.

I personally keep things pretty simple, my personal preference is that I have an image in the top left corner identifying what game I happen to be streaming at a glance.  I find this important since sometimes it takes a time or two for twitch to actually update your stream title and game you are playing.  Additionally I have a “Tales of the Aggronaut” image that floats on screen… that I use for a pretty simple purpose, to cover up the majority of my chat box.  Not that I do anything super secretive in game, but I would prefer to guard anyone’s account information that might happen to be sending me a message for guild business.  Not that I have a lot of followers, but I don’t want to just assume that everyone I deal with in the games wants their information broadcast on the internet.  The floating image does a nice job of obfuscating the text but at the same time advertising my blog and providing my twitter information.

For the purpose of this setup, the most important thing that you add is a “Game Capture” source.  This will ask you to name the source, which can be anything that makes sense to you.  Next you will get a drop down of every active application on your system.  In this case you would choose whatever game you are wanting to stream.  On this same screen there is a “stretch image to screen” check box and generally I would suggest doing this.  This is going to be important for most Indie games especially since the resolution may not be the actual resolution you happen to be streaming.  I personally stream everything 1080p, but a lot of streamers drop down to 720p for the purpose of compatibility.  I can’t stand to play games at that low of resolution, so I have not really figured out a viable way to play at 1080p but have something scale me down to 720p without the stream looking like crap.

image At this point you want to preview your new Scene by hitting the “Preview Stream” button.  You should in theory see your game image coming through in the little window inside of OBS.  If you see nothing but a black screen… now begins the “fiddly portion”.  OBS generally seems to work best when playing a game in “Fullscreen Windowed” mode.  There are a few exceptions to this rule, but in theory you will want to configure your game to run in that mode if at all possible.  Black screen means you are not getting a feed of video from the game.  There are also options for “Window Capture” and “Monitor Capture”, but those are more thermonuclear.  If you choose to broadcast your Monitor, it will literally broadcast everything that comes across your monitor even stuff you don’t necessarily want to broadcast.  I suggest only ever doing that if you happen to have a multiple monitor setup.  Window Capture in general seems a little flaky, but right now I am having to use that for ArcheAge to get it to work well.

The Super Technical Bits

Now comes the hardest part of the setup, and the one I cannot give you any “firm” answers for.  There are a few settings that you need to configure based on your internet connection.  If you are not comfortable with thinking of things in terms of kilobits per second aka kbps…  then you are likely going to find this bit frustrating.  There are essentially two schools of thought here, the super technical is to go through a process of figuring out exactly what your connection will support and assigning the values accordingly.  The second school of thought is to try 2000, and if that doesn’t work smoothly… try 1500.  I am going to actually cover the technical aspects, because the trial and error method is exactly that.

image Inside of OBS settings, there is the encoding tab, and more than anything else this tab dictates how smooth your stream looks.  For the most part everyone should be using the x264 encoder.  I did some tests with the Nvidia NVENC encoder, and the end results looked horrible.  It greatly reduced the system requirements of doing the encoding, the end result was a choppy and blocky mess.  Use CBR should also be checked as well as the CBR padding.  This means it is going to try its best to keep your stream at a constant bit rate, which should go a lot way to preventing stutters and stops.  The Audio settings should for the most part work for everyone as well.  The piece that is going to be unique however will be Max Bitrate and Buffer Size.  I personally like having a buffer a little bit larger than my Max Bitrate for extra padding and hopefully extra stability, however for most individuals they set these values to the exact same thing.

The above image is a test of my internet connection this morning while working on this post.  I will be using it as an example, but ultimately you are going to want to test your own line… because quite frankly my connection is way faster than most internet connections.  There are many testing providers out there but for this example I am using Speedtest.net just hit “Begin Test” and you should see your own results shortly.  This tester ends up giving us our speed in mbps, which is fine but for the purpose of the tool that estimates what these settings should be in OBS, we are going to want kbps.  This is simply a case of taking your mbps value, in this case 22.82 and multiplying it by 1024 the number of kb in a mb.  The end result in my case is 23367.68 kbps and then I take that number and dump it into the OBS estimator.  In my case it suggests that I set my max bitrate to 3500 and my buffer size to 3500 as well.  I however did not want my stream ever to take up my entire pipe so I dialed those back to the settings I actually use.

Hooking it to Twitch

image Now that we have our encoding configured, it is time to actually hook the thing to Twitch.tv and see what happens.  Remember that stream key I asked you to copy out to a notepad document?  This is the point where you actually need it.  This is what twitch uses instead of a username/password authentication scheme to allow someone to broadcast to your channel.  Guard this with your life… or at least take some precautions because with this key anyone can use your channel.  You want to set the mode to “Live Stream” and since we are going to be piping our output to Twitch, you want to select the “Twitch / Justin.tv” option from the streaming service drop down box.  The next setting is pretty important, for Server you want to select the closest location geographically.  I live in the Tulsa, OK area so for me I choose “US Central: Dallas, TX” and it works pretty smoothly.  Finally you want to paste your stream key in the “Play Path/Stream Key (if any):” box.  If you did not copy this down earlier you can retrieve it from the “Stream Key” tab of your Dashboard.

Test That Puppy Out

image

If you did all of the things above, now you should be able to click the “Start Streaming” button and be off and running.  Some things to make sure before you do this.  Firstly make sure the game you are wanting to stream is running in the background and preferably running “Fullscreen Windowed” mode or whatever the equivalent is in that game.  Secondly make sure you have the correct scene selected inside of OBS.  Lastly I highly suggest you decouple your twitch account from your twitter account for the purpose of testing.  Otherwise every time you press that start stream button you are going to be spamming the hell out of your twitter friends.  In theory you should be able to open your twitch stream and see the output of your game on the screen.  But before you do it… there is one last thing.

image Make sure your stream is actually showing the correct game being played and the title you wish it to show.  I have had more issue with this one than anything else, and now I load my profile three times in a row just to make sure the edit took.  Initially it seems like the first edit NEVER takes.  When when I reload my stream I have to log back in and change it again, and sometimes it doesn’t actually take until I do it a third time.  I wish there was a way to set this inside of OBS, but as far as I know you have to keep logging into the Twitch website to set it up.  The only reason why this is important is because it will broadcast to people browsing the twitch interface that you are playing a specific game, and in theory you want it to be the right one.  At this point… press the start button, cross your fingers and hopefully you are live to the world.  If not… it is time to hit Google and figure out why exactly a given game isn’t working with this setup.  I am by no means an expert, but hopefully this guide will be useful to at least some of you.

The Impossible Plateau

Forced Fasting

Screenshot_20140422_193251 This blog post is going to suck, I just wanted to get that out of the way now so you can avoid reading it.  In the mornings I muster the “oomph” to blog by channeling the dark arcane magic of coffee.  I am completely un-caffeinated today and it is horrible.  I am having to fast this morning as part of some blood work, and I have no problem with the not eating part…  but no coffee is hitting a little below the belt.  I totally imagine that once I have had my blood drawn I am going to go to the nearest QuikTrip and like try and drink straight from the coffee pot or something like that.  I’ve never really understood the purpose of fasting before blood work, since don’t you really want to see the persons stats how they actually are all the time?  What is the point of having this fasted idealistic state, when you know the person is going to screw everything up with caffeine anyways.

As part of our insurance plan at work, we are having to submit to a “biometric screening”, which seems really damned Orwellian to me.  The last few years I had been a conscientious objector to the process and as a result paid a significantly higher insurance premium, but this year that reached a critical mass.  If you do not take the screening your monthly insurance rates are literally over double what they would be if you submitted to the finger prick.  We did not find that out until after all of the normal screening sessions were finished.  So now I have to go to some massive last call session this morning.  I still think this entire process is bullshit.  I’m curious, are any of you having to do this for your work insurance?  My working theory is still that our HR department is incompetent and just simply cannot negotiate for new insurance plans worth a shit.

The Impossible Plateau

Last night I decided to faff about again in Alik’r and start the stream going while I did so.  There is a spot on the map that seems like it should have something cool at it, but for the life of me I cannot figure out how to get up there.  During a good chunk of the video I am trying to get up to the place and failing miserably.  I go for a really long swim, which I am sure was boring for everyone watching… and by everyone I mean no one.  Actually to be truthful over the course of the video I did manage to pick up two viewers.  First I was joined by ShinyWhip who apparently was bored and was willing to watch me go for a swim.  She got to watch me fail miserably at trying to solo a world boss as well.  Eventually I was joined by my guildie Saia who also got to watch me fail at a few things.  That is pretty much the subtext of my streams…  me failing at playing video games.

At some point I had to go afk for an extended period of time and I cut off the stream after returning.  Later in the evening I attempted a public dungeon with Warenwolf but we seemed to be missing a lot of the bosses.  Turning in the quest from inside gave us credit for the place, but I have never seen a public dungeon without a slew of optional bosses. In grand total I think we found three, and none of them actually seemed to drop anything of use.  Honestly I have been on a bad streak as far as bosses go.  I am reaching a point where the greens I craft seem to be significantly better than the blues I am getting as drops.  Crafting in this game is extremely overpowered, and I now have enough skill points dumped into blacksmithing that I have a pretty great chance of getting a temper off anything I deconstruct.

I dinged 38 last night, so In theory I could craft up an entirely new set of gear.  Not sure if this is really worth it however.  Thinking I am going to try and limp on with the 36 set I have until I ding 40, and then craft all new gear then.  The problem with crafting sets of gear is that it is a serious drain on your available tempers.  I am really not sure how many I have, but I don’t think I have near enough to be throwing them away randomly.  The big frustration so far with Alik’r is that I am still mostly finding Orichalcum.  I thought by now that I would be swimming in a sea of Dwarven Ore, but so far it has been extremely rare… which means I may not even have enough ingots to craft a full set of anything right now.

On Streaming

I am really bad about not touching social media or my RSS feed on the weekend, and as a result I usually have a significant backlog that starts sometime on Friday night.  Since I was off for Good Friday this past week, it mean this void started on a Thursday night.  As a result I missed this post by Scopique on his thoughts about streaming.  I am honestly not sure how I feel about streaming in general.  Twitch is one of those weird things that I am not really sure what to do about.  While I have a twitch channel and I stream somewhat regularly, and then dump said videos on Youtube…  I really don’t watch twitch much at all.  Well there was that period of time when all of us were watching Twitch Plays Pokemon… but that was more of the “trainwreck you just can’t help but watch” thing than something I genuinely enjoyed.  Generally speaking the only time I watch anything on twitch is when there is some presentation relating to a game I am playing.

As a result I feel kinda bad that I am streaming and love it when people watch my stream…  but I don’t ever actually end up watching anyone elses streams.  I feel like that is a big reason why my stream and youtube channel will never really be successful on their own.  They will always be attached to my blog, since the blog is what is really important to me.  I don’t fully get the twitch or youtube cultures, and in order to get either to really work it feels like you need to fully immerse yourself into said culture.  Right now I am streaming mostly because going back and listening to the things that my friends and I say on my stream entertains me.  I say all sorts of stuff and fifteen minutes later I cannot remember what the hell I just said, so it cracks me up the random stuff that comes out of my mouth while I game.  Ultimately I stream for the same reason I blog, because for whatever reason I find it entertaining and fun, and would probably be doing both even if I never had a single reader or viewer.  The stream however is just not something I think of as meaningful or permanent… it is very much a throwaway experience to me.  Entertaining for the moment it is happening, but not something to really ponder once the stream has been turned off.

That is not to say that there are not some absolutely amazing and entertaining folks out there.  Qelric for example does amazing videos, and her production value is just great.  I tend to watch whatever videos come down the pipe from her, because I find them equally entertaining and informative.  That said I have never really gotten into the “let’s play” culture on YouTube.  I tried doing some of it with my series on Trove… and really I just didn’t like the way it felt.  For a period of time I was trying to get people to do the like and subscribe thing… before I realized that I just didn’t really care much.  If people watch my YouTube channel and like my videos… awesome…  if they don’t… equally awesome.  I think the big difference is I am not trying to make a career out of being an internet persona.  I don’t need viewers or clicks or likes or whatever to get a pay check.  At the end of the day my blogging and my faffing about in streams and videos… is just something I do for entertainment.  I respect the folks who are trying to make this work as a career but I don’t think I could ever deal with the inherent instability that is trying to make a living off the whims of others.