8 ms·
Play GTA V in your Browser, Sort of
- onion2k 11y agoThis is awesome. I can see it being handy for demo'ing things. :) One thing to note: It gets a bit confused about where your mouse is if you try to stream one monitor in to a browser on a second monitor.
- abluecloud 11y agoThis is pointless and nothing new. Remote desktop in the browser has never been an issue, so obviously playing games isn't an issue either. The pointless part is that he's connecting to a "server" that's next to him, not in a DC in London. I guess if you really wanted to play GTA V on the toilet, on your phone, it solves the issue - but really...
- andybak 11y agoNothing is new. It's simply a case of joining the dots. 1. AWS can run Windows and therefore Steam. Nothing new. 2. Steam home streaming works over VPN. Nothing new. 3. VNC can stream games. Nothing new. etc. But put all these pieces together and the first person to wrap it up and make sure all the legal parts are in place might make a fortune.
- mryan 11y agoI agree with your point - as hackers, we are often too quick to dismiss something as "nothing new" because we have seen something similar before ("I don't need Dropbox, I have rsync"). That being said, in this case these three dots have been joined up multiple times already, so there really is nothing new here. The interesting challenge is in reducing latency so that remote games are actually playable when the server is not on the same LAN.
- abluecloud 11y agoThis is my point, it's been done. The problem that still exists is the lag you'll get when not playing at your house, so nothing has changed. Apparently people don't get that. Now, if he gets this running between his house and work, I'll be give him some credit.
- rrss1122 11y agoI'm sure he's holding his breath waiting for your credit.
- abluecloud 11y agogreat riposte.
- abluecloud 11y agoWhat are you talking about, these pieces have already been put together multiple times. http://www.pcworld.com/article/2359241/how-steam-in-home-streaming-can-turn-your-old-laptop-or-windows-tablet-into-a-pc-gaming-force.html http://www.pcworld.com/article/2359241/how-steam-in-home-str... http://shield.nvidia.co.uk/play-pc-games/ http://shield.nvidia.co.uk/play-pc-games/ http://store.steampowered.com/streaming/ http://store.steampowered.com/streaming/ This guy isn't running it from AWS though, like I said. He's running it from a "server" that's right in front of him. By the way, have you ever tried RDCing a remote Windows machine and done some trivial tasks in the GUI?
- phoboslab 11y agoThese are not running in the browser, though. And previous Remote Desktop solutions that are viewable in a browser can't handle 60fps (let alone anything >10fps for full motion).
- SeeDave 11y ago>By the way, have you ever tried RDCing a remote Windows machine and done some trivial tasks in the GUI? I have, and the only real issues with latency/bandwidth were with over satellite connections.
- icebraining 11y agoYeah, I regularly log in to machines in France and Canada and it works fine (on a 50mbps connection, at least).
- bshep 11y agoI actually have an AWS machine that runs Steam + VPN and I can stream games to my home laptop, it works really well. I also have non-steam games that I've added like Star Wars: The Old republic, Starcraft II and Diablo III and they all work well using the same system. The only glitch I've noticed is that if steam starts before the VPN, I have to RDC in and restart steam so it picks up the VPN network. (If anyone has any idea how to fix this I would be very grateful)
- adam12 11y ago> Remote desktop in the browser has never been an issue, so obviously playing games isn't an issue either. at 60 fps? I few years ago I was lucky to get 3 fps from a local server.
- vojant 11y agoFacebook wasn't new, Twitter wasn't new... Sometimes reusing existing components, and making them better is enough to do something great. It doesn't need to be always original work.
- rohit89 11y agoThere is definitely a use-case for being able to play wherever without being tied to a location even when at home. Plus the fact that you don't need to install anything on the client machines.
- PhasmaFelis 11y ago> This is pointless and nothing new. Remote desktop in the browser has never been an issue, so obviously playing games isn't an issue either. That is completely wrong. Remote desktop doesn't really care about latency or framerate. The vast majority of updates will change only a few pixels (e.g. moving the cursor or typing a letter), and when fullscreen updates do occur (switching apps), it's okay if it takes a visible fraction of a second for the update to sweep across the screen. Gaming needs to be high-speed, it needs to be low-latency, and it needs to be seamless. 30FPS is an absolute rock-bottom minimum, and gamers are increasingly demanding 60FPS (or more). Some specific genres, like rhythm games, are so sensitive to timing that you can tweak their input-detection settings based on the latency of your television.
- czk 11y agoThe "vnc" suffix on the name could be a bit confusing to some because it looks like this project does not use any existing VNC code or libraries using RFB protocol. This could come in handy for streaming applications to my mobile devices over LAN if I need to control something easily.
- mahmoudimus 11y agoYeah, that's what I thought too.
- davewasthere 11y agoWell, it kind of makes a lot of sense. If you've got an ultrabook or something similar. Laptop graphics cards are very underpowered on the whole... Actually, I could see this being handy while travelling. Sure, at home I've got a decent gaming rig. But it'd be nice to have decent quality gaming on a low-end laptop... I think it's cool
- jchendy 11y agoAre there any advantages over Guacamole? Possibly higher framerate? http://guac-dev.org/ http://guac-dev.org/
- deleted 11y ago[deleted]
- espadrine 11y agoGuacamole is a text protocol. The screen is sent as PNG images in base64. It was built before websockets were compatibly implemented across browsers.
- jchendy 11y agoAny idea what the actual performance impact of that is?
- PhasmaFelis 11y agoFor fullscreen 60FPS, it's probably going to increase the bandwidth requirements by an order of magnitude, which will lock out a bunch of users on less-than-ideal connections.
- chowes 11y agoAnyone have a sense of how well this setup would do w/ an Oculus Rift?
- philo23 11y agoI imagine the network latency would be more than enough to induce motion sickness as the display would not keep up with your movements.
- cma 11y agoYep, big time. The latest Rift SDK added depth-aware timewarp though, so if you could stream the depth buffer as well you could get something maybe non-sickening, but full of artifacts (transparent objects aren't even written to the depth buffer; when a nearby object is occluding the background and you peak around it in a warped frame it gets filled in a way that can stand out; specular highlights are all wrong wrong in warped frames; lossy compression of the depth buffer for streaming would cause glitching on the silhouettes of objects).
- ade2 11y agoas a dk2 owner, I would guess that it's not very nice, any amount of lag or stuttering in the rift is catastrophical to the experience, IMO.
- corysama 11y agoMicrosoft Research is experimenting with something similar. http://vrscout.com/projects/project-irides-microsofts-cloud-based-vr-headsets/ http://vrscout.com/projects/project-irides-microsofts-cloud-... https://www.youtube.com/watch?v=QEnsKcq8uB4 https://www.youtube.com/watch?v=QEnsKcq8uB4
- mickanio 11y agoBravo!
- edc117 11y agoI'm rather curious if this could be used (or changed to support) two people playing a local co-op game. Would open up a lot of games in my library for play with a friend.
- icebraining 11y agoIt probably could be used as-is. Some people use screen sharing tools like Teamviewer to do just that, by the way.
- edc117 11y agoInteresting, I hadn't heard of Teamviewer as an option for this - will check it out. Thanks!
- inglor 11y agoPossibly stupid question: Isn't this how the Playstation 4 plays Playstation 3 games (in a nutshell)?
- KenanSulayman 11y agoYes.
- anc84 11y agoInteresting! Could you elaborate? Where do the frames come from?
- Eric_WVGG 11y agoI believe it's a server farm consisting of hundreds of "bladed" PS3s.
- fredsted 11y agoHow does this work? Are the dvd images uploaded to Sony's servers? Do they have PS3 datacenters in several locations?
- Eric_WVGG 11y agoI have no first-hand knowledge, but it could be done like this… 1. Take a pile of PS3s, throw out the cases, and attach the motherboards to some custom-built rack arrays (these are the "blades") 2. Build one huge SAN that contains all the games, and tweak the PS3 BIOS's to read from the SAN as one huge internal HD. (BIOS tweak possibly not even necessary if the SAN was good enough at pretending to be a simple local drive) 3. Hook up the AV-out and the USB inputs to a series of XEON servers that simply pump out live h264 streams (and pump controller input back in) from the PS3 blades. One Xeon ought to support at least a dozen PS3s. This is how it could be accomplished prior to Sony's acquisition of Gaikai and OnLive. Since then, they'd have access to Sony's own knowledge of the PS3 platform, and possibly make PS3 VMs that would cut the hardware blades out of the equation. OnLive had five datacenters in North America, Gaikai ran on… 300? I imagine many of them were running virtualized Windows machines, as Gaikai and OnLive didn't start out as console streamers. http://www.engadget.com/2010/03/11/gaikai-will-be-fee-free-utilize-300-data-centers-in-the-us/ http://www.engadget.com/2010/03/11/gaikai-will-be-fee-free-u...
- xfalcox 11y agoHey guys, what about doing this on a chromecast? Since it's a browser app, we just need to know if chromecast can handle the decoding.
- bshep 11y agoYou would still need to send input to the app somehow, which possibly could be done with a phone/tablet which is setup with just the controls and no video.
- thegreatpeter 11y agoThis is the coolest thing ever
- 0x0 11y agoHow much work would be required to adapt this to use WebRTC with native H.264 instead of websockets with a javascript-based MPEG1 decoder implementation?
- icebraining 11y agoWhy WebRTC? I think that's more designed for Browser-to-Browser connections. You'd just need to stream an H.264 file using a <video> tag (and use a websocket for the input).
- tehbeard 11y agoStreaming an unbounded file to a <video> tag can have fairly significant delay compared to webRTC. It's really more designed for one to many situations (such as livestreams or VOD) than one to one low latency.
- cypher543 11y agoProbably not much. The WebRTC reference implementation[1] by Google and Mozilla is fairly easy to build and embed, assuming your Internet connection can handle a complete checkout of the Chromium repository. Unfortunately it only supports the VP8 codec for video. There is also OpenWebRTC[2] by Ericsson, but it doesn't work on Windows. [1]: http://www.webrtc.org/native-code/development http://www.webrtc.org/native-code/development [2]: http://www.openwebrtc.io/ http://www.openwebrtc.io/
- dharma1 11y agoThere's VP9 too - https://plus.google.com/+JustinUberti/posts/3FLVapCvDaG https://plus.google.com/+JustinUberti/posts/3FLVapCvDaG
- punkrex 11y agoThis looks awesome, and saves someone the headache of trying to setup the VPN, but is not using the nvidia GPU's ability to use hardware encoding which is much faster than going the CPU route in most cases. If someone could adapt that, and open source it, that'd be the game changer that people are looking for to build this sort of stuff.
- phoboslab 11y agoAfaik nvidia's NVCUVID API only supports H264 encoding, which would require a JavaScript H264 decoder. So far I haven't been able to get the one JS H264 decoder I know of (Broadway) to work reliably and fast enough for large video sizes. I wish the industry would just get their act together and support a common video codec in browsers along with a JavaScript API that can deal with decoding single frames. Currently native streaming support for the <video> element in browsers is extremely poor and proposed solutions like MPEG-DASH or HLS add around 10 seconds(!) of latency.
- TD-Linux 11y agoThe API you are looking for is WebRTC. VP8 is the most widely used codec for it, but you could use H.264 baseline if you really wanted. You will need to include a WebRTC stack in your server though, which is a lot more complicated. But I think you will get better overall performance with it versus TCP - it's what WebRTC was designed for. Also, you might want to look at ogv.js - if you want to keep going the JS way, it includes a very fast Theora decoder which should still be a lot better than MPEG-1.
- barake 11y agoMedia Source Extensions[1] may be an option. It allows you to feed bytes to a video element, sourcing those bytes from wherever you'd like. There is a demo[2] that literally opens a video and split it in to parts arbitrarily. Chrome, IE, and Safari all have support for MP4 with MSE. [1] https://en.wikipedia.org/wiki/Media_Source_Extensions https://en.wikipedia.org/wiki/Media_Source_Extensions [2] http://html5-demos.appspot.com/static/media-source.html http://html5-demos.appspot.com/static/media-source.html
- vojant 11y agoThis is really cool, after watching this demo I wonder how the future of gaming might look like, e.g. we could pay subscription for a game and remote machine to run game on. This way even with cheap laptop we could play AAA games remotely. No more issues with hardware, drivers fps.
- tomf64 11y agoYou may have seen this before, but if not it would probably interest you: http://lg.io/2015/07/05/revised-and-much-faster-run-your-own-highend-cloud-gaming-service-on-ec2.html http://lg.io/2015/07/05/revised-and-much-faster-run-your-own...
- icebraining 11y agoOnLive has been offering that service for five years (they got acquired a few months ago by Sony).
- ekianjo 11y agoAre you sure? I thought Sony bought Gaikai, which is basically similar to OnLive - but a competitor service.
- icebraining 11y agoFrom onlive.com: "Sony has acquired important parts of OnLive. Due to the sale, all OnLive services were discontinued as of April 30, 2015."
- deleted 11y ago[deleted]
- bobajeff 11y agoI'd like to see GTA III & Vice City (or a good clone) running in the browser, client side via asm.js or wasm. Edit: Not that they couldn't do it with GTA V I just prefer those games over it. Saints Row the Third or Just Cause 2 are also acceptable.
- TazeTSchnitzel 11y agoWell, we can emulate an x86 PC: http://win95.ajf.me http://win95.ajf.me
- bobajeff 11y agoActually there so much more you can emulate: https://github.com/jsmess/jsmess https://github.com/jsmess/jsmess https://github.com/dreamlayers/em-dosbox https://github.com/dreamlayers/em-dosbox https://bitbucket.org/tsone/em-fceux https://bitbucket.org/tsone/em-fceux and others https://github.com/kripken/emscripten/wiki/Porting-Examples-and-Demos#emulators https://github.com/kripken/emscripten/wiki/Porting-Examples-...
- TazeTSchnitzel 11y agowin95.ajf.me is em-dosbox.
- fizzbatter 11y agoAnyone have any idea how to Stream audio with something like this? Would be awesome if that same process could stream the audio
- fla 11y agoNice hack ! WebGL decoding looks pretty effective. I think the major challenge with remote gaming is input latency. Even here on a local network, it looks like there is at least ~200ms between input and frame, wich is a blocker for many game types.
- citeguised 11y agoClickbait much?
- citeguised 11y agoClickbait much?
- rasz_pl 11y agoAs a nerd I love numbers, 'Latency is minimal' doesnt do it for me. Display this http://tft.vanity.dk/inputlag.html http://tft.vanity.dk/inputlag.html or any other stopwatch, and record both screens. What is the bitrate and cpu overhead at hd/fullhd resolutions 30/60hz? Some very slow MVA monitors lag as much as full frame behind input, so in extreme cases you could get equal delay on your laptop.
- dharma1 11y agowould like to see latency numbers too. Gstreamer with h264 is about 150ms ish
- phoboslab 11y agoFor my system it hovers around 50-70ms[1][2]. Tested with an 800x600 window at ~7% cpu utilization on a Core i5. My desktop monitor is a Dell u2711, which seems to add about 15ms latency itself[3]. I'm not sure how much latency OSX or Chrome adds (at least a frame more than Firefox[4]); Mobile Safari seems to be a bit faster, as evident in the video. I don't have a second Windows machine for comparison. Edit: When connecting on the same machine, latency is 2 frames (33ms) exactly[5]. [1] http://phoboslab.org/files/jsmpeg/jsmpeg-vnc-latency.mp4 http://phoboslab.org/files/jsmpeg/jsmpeg-vnc-latency.mp4 [2] http://phoboslab.org/files/jsmpeg/jsmpeg-vnc-latency.jpg http://phoboslab.org/files/jsmpeg/jsmpeg-vnc-latency.jpg [3] http://www.anandtech.com/show/2922/4 http://www.anandtech.com/show/2922/4 [4] http://phoboslab.org/log/2012/06/measuring-input-lag-in-browsers http://phoboslab.org/log/2012/06/measuring-input-lag-in-brow... [5] http://phoboslab.org/up/B2u6w.png http://phoboslab.org/up/B2u6w.png
- isaacremuant 11y ago> 'Latency is minimal' Tell me about it, I've been trying to gather info about a solution where I can record with a camera, probably 1080p (via ethernet or via hdmi to capture card) and use the frame information as inputs in a simulation with a latency around 20 ms and am unable to get hard data on the actual latencies. Nobody cares about input lag because practically no one records as a real time input. Incidentally, if anyone knows or has experienced with a similar setup I'd be forever grateful.
- moonchrome 11y agoI wonder how long before games start being developed for server side rendering. Stuff like MMO for eg. you dont care about latency as much, your payment model already works with it and it solves several major issues : * no hardware barrier to entry for high end graphics * no instalation/play anywhere * optimizations from shared state rendering, potentially advanced rendering techniques (world space lighting) - you can share computation and memory between multiple clients this way * probably an order of magnitude harder to cheat
- RobLach 11y agoIt's ramping up: Square Enix's solution https://www.shinra.com/us https://www.shinra.com/us
- ntaylor 11y agoWell that's awesome
- TheGrimDerp1 11y agoDarn tootin!
- _frog 11y agoA fun little fact: the name 'Shinra' is a reference to the Shinra Corporation from Final Fantasy VII, one of Square-Enix's most beloved games.
- moonchrome 11y agoYes this seems what like the thing I'm talking about - true cloud rendering - not just sticking PC games on to VMs.
- frik 11y ago> I wonder how long before games start being developed for server side rendering. Haven't you heard about Gaikai (now owned by Sony) that provided cloud-based gaming. https://en.wikipedia.org/wiki/Gaikai https://en.wikipedia.org/wiki/Gaikai The problem is latency. Now you have input latency from you wireless gamepad to/from your PC/console, the rendering loop CPU/GPU time and then also the latency of your network and the server CPU/GPU time. Good night. If you live in a big hub city near the cloud datacenter you can use it, or if you like slower paced games. But if you like to play Quake (read: very fast paced first person shooter action with 120+fps) forget dreaming about cloud streaming your games now!
- alyx 11y agoI highly recommend the Xbox One streaming feature that's coming with Windows 10. It allows you to play your Xbox games on your PC.
- phantarch 11y agoThis kind of technology is amazingly promising for being able to play games anywhere on any hardware. However, the thing that worries me the most is not latency or graphical fidelity, but the way this will affect the actual design of AAA games. If I as a developer/studio know that my AAA title is going to be remotely controlled, possibly accessible only via subscription, and the end user's progression monitorable at any point, the opportunities for monitization skyrocket. You think DLC now is bad? Try playing Skyrim and being able to buy in-game gold at any point via browser pop-up. Just died in Dark Souls? Respawn with no lost souls and kill all enemies in the vicinity for only $1! I'm not saying that all games will end up being this way, but a certain amount of AAA titles may end up going with more mobile-oriented pricing models if this sort of remote gameplay becomes mainstream.
- austenallred 11y agoI have to say that latency is still my biggest concern
- TheGrimDerp1 11y agoI watched an extra credits video the other day that touched on this thought; one option is to have AA studios / publishers fund teams of "indie" devs with license to go nuts exploring new aspects of the medium. Personally, since we're running full-tilt towards needing something to replace "jobs," I'd like to hope that, at some point, that some places ( countries, planets(?)) might institute a universal minimum income, along with a flat-rate fair tax. Then folks could earn currency by playing games ( or creating art, music, solving interesting problems, whatevs... Could go a long way towards building space-ships & eliminating poverty / starvation...
- tripzilch 11y agoSo basically, revival of the arcade slot machines.
- mahmoudimus 11y agoThe latest round of articles encouraging streaming from the cloud to your local client focusing on latency sensitivity is very interesting because it might finally make things like high-performance, low-latency remote virtual desktop for development solutions approachable. Chrome Remote Desktop works OK and it's a sign of things to come in the field of virtual desktops. Right now, the state of the art for on-demand cloud remote development desktops to help facilitate intensive development environments, like IntelliJ / Visual Studio / Mathematica, on underpowered clients, (i.e.12" MacBook), is to rely on proprietary protocols that barely work if the targeted remote machine is a Linux desktop. Yes, I know about x2go etc, but I've had so-so experiences with it. Compared to streaming games, I wonder if there's a product in here somewhere.
- bliti 11y ago- This support one connection, right? - How feasible would it be to host multiple client connections (each running their own instance of the hosted program) ?
- Vekz 11y agoSad to see everyone late to the party on this. There was a great company, Onlive doing this for the past 5 years. Not browser based in their case, but they were the thought leaders. They recently closed shop and were 'acquired' by Sony. I believe thats what spurred this recent trend of articles.
- marknutter 11y agoSo I just bought a new Macbook which although is amazingly thin is also somewhat underpowered. I also own a beefy Mac Pro (the trash can) and the thought had crossed my mind that I might use remote desktop to utilize the power of my Mac Pro from the convenience of my new Macbook. For gaming, latency is a huge issue, but I could deal with 50ms latency when doing my work if it meant not having my system lag in other respects. I only wish there was a OS X equivalent.
- gmurphy 11y agoYou should try Steam streaming - you can run your full and regular desktop in it (by using fake passthrough apps), and is how I often use Lightroom and Solidworks from my Macbook in bed. Coming from VNC and Remote Desktop, it's remarkable how low the latency is. In many cases, because I can get a signifcantly higher framerate by remote rendering, the latency is better than if I was doing stuff locally. For games, it's worked pretty well with everything you'd be happy playing with a gamepad (e.g. GTAV, but not CoD).
- marknutter 11y agoI will do just that. Thank you!
- chadnickbok 11y agoHey so I currently work on this technology - check out https://www.x.io/ https://www.x.io/ if you'd like to learn more. You can sign up for free and get some free minutes to try it out. We can run arbitrary windows apps and stream them to your web browser, including videogames.
- vernie 11y agoI'm surprised at the reactions in the comments. Both OnLive and Gaikai were doing this around 2008 and nobody seemed to give a shit.
- PhasmaFelis 11y agoHow likely is it that we can actually bring the bandwidth and latency down to reasonable levels in reasonable conditions? High-def YouTube videos sometimes skip or buffer for me, and that's on cable broadband in a medium-sized American city, pulling from Google-backed servers. How do we make this good enough that most urban Americans can enjoy it without constant frustration?
- PhasmaFelis 11y agoHow likely is it that we can actually bring the bandwidth and latency down to reasonable levels in reasonable conditions? High-def YouTube videos sometimes skip or buffer for me, and that's on cable broadband in a medium-sized American city, pulling from Google-backed servers. How do we make this good enough that most urban Americans can enjoy it without constant frustration?