Friday, January 31, 2014

Streaming Requirements

I said a couple weeks ago after watching the big speedrunning marathon that I needed to work out how they were streaming from a console to see if that was something I could do at some point. The first page I found (for speed running records) recommended getting a DVD recorder, recording a DVD off of your television screen, and then mailing in the DVD. Or if you had a high speed connection you could get the file off of the DVD and email it or something. I feel like I had actually stumbled across that page a few years ago and being surprised at how terrible an idea it seemed. And now with high speed being even more common it feels really crazy. Mailing DVDs to people feels so quaint. And is clearly not the way they ran their marathon since they were streaming the games live... They weren't sending me DVDs via Canada Post!

I did some more digging in some forums and the answer is actually pretty simple. You need a video capture card of some kind for your computer in order to get the video and sound directly from the console. Oddly enough I can remember doing exactly this over a decade ago. I had a TV tuner card in a computer left behind by a former roommate and I hooked my SNES up to the AV cable connection at one point. I think probably to play FFIV? That computer unfortunately caught fire a long time ago and I didn't salvage any of the bits from it.

Of course it turns out an old TV tuner probably wouldn't have done the job properly anyway. People seem pretty down on AV cable connections because they give terrible video quality relative to the other options. Also people who are playing games with 'frame perfect' button presses don't want to play with the lag coming through a capture card. So the recommended setup seems to involve getting a capture card, a powered splitter, and some extra cables. Then you can connect the console up to the splitter and connect the splitter to your tv and to your capture card. This way you get to play the game on your tv like normal but everything is copied onto your computer as well for recording and streaming.

Getting the picture into your computer is only half the battle because from there you need to pick up the picture and sound and record them. There's a bunch of software to do this and it seems pretty trivial to set up. Open Broadcaster Software is open source and seemed to work just fine for me. I was able to get it set up and was able to stream a League of Legends test game with it picking up the game, the game sound, and my microphone. Sweet!

What wasn't so sweet is my in game ping spiked up from 90ms to ~2000ms. I was still better at last hitting than the bot was even with 2 seconds of lag but it really wasn't very fun and wouldn't have worked for a real game. I checked the archived video afterwards and the quality was terrible. Something like 70 or 80% of the frames were getting dropped and coupled with the fact I was only able to input an action every 2 seconds it really wasn't very interesting. So there was some sort of problem going on...

Dig around a bit and find out that to upload even a decent quality stream requires about 1.5Mbps of upload bandwidth. Rogers account website was down when I went to check what I had but looking at their list of available packages the only one that made sense for what I could have says it has 2Mbps of upload bandwidth. Seems like it should be enough? But then I found a speed tester website which said I was only getting 440kbps. So either my package isn't on their list or I'm really not getting anything close to what they're promising. I went back today and my package just flat out isn't on their list. The worst one they have right now has 80GB of download cap and I somehow only have 60GB. I've often dipped a little over 60GB and they've been happy to charge me overage despite the fact that their worst package right now has a higher cap. Who knows when that changed but it feels like they've been taking advantage of the fact I don't handle confrontation very well and haven't bothered to look things up. Well, if they aren't giving me enough bandwidth to stream I'm going to have to do something about it anyway... Time to figure out what the best thing to do about it is. Probably I need to figure out what I can get from other companies and then put the screws to them. My cable tv has sucked recently too so maybe I can threaten to cancel both and get something out of them. I'll probably still cancel tv regardless but maybe I can let them talk me into keeping my internet for the right deal.

Other than figuring out my internet I'd also need to get a video capture card and a splitter. One that can handle the low resolution signal of a SNES. I did some searching on that too and it sounds like maybe Canada Computers sells these sorts of things. I may go on an adventure this weekend to check out what they have in store and see where things stand from there.


Matt V said...

Rogers did that to me too. I was paying for a package they no longer offered that was worse than the package they did offer at the same price.

I cancelled internet and television and went to TekSavvy and do not regret it in the slightest.

Mark said...

The OBS people have an estimator for their software, where you can feed it roughly your setup and it makes recommendations -

That 440kbps looks to be your bottleneck :(

Rogers is brutal - I'm paying so much money for so little! I'm considering switching to - they do IPTV so can maybe also replace my cable TV? But I'ma gonna wait until after the Superbowl. (So, you know, I might use that day off I'm taking tomorrow to cancel my cable & internet)

Mark said...

And a note on Streaming: I *really* hope Sony lets me stream PS1 & PS2 games on my PS4 in the near future, because I would *totally* do that.

(I'm not that hopeful, but there is a rumour floating around they'll be adding support via emulation - I just hope it'll let me put a disc in the drive to play it - although now that I think of it, if the PS4 can't play audio CDs, it stands to reason it can't read any CDs which rules out PS1 discs :( )