Building a Cross-Browser, Cross-Platform, Real-Time Game Streaming Protocol
blog.rainway.io
blog.rainway.io
A new open source server side WebRTC implementation would be very welcome, though this does seem to use some of the old C++ libraries too. I wonder how much exposure of C++ to hostile bits they managed to reduce?
To summarize, you are correct WebRTC is end-to-end encrypted via DTLS and WebRTC handles setting all of this up. WebSockets, however, are not encrypted by default, and when attempting to connect to a WebSocket server from a secure origin, a valid TLS certificate is required. Because each user has their WebSocket server running from their Rainway instance, we need to create unique and valid certificates for each user to avoid having a shared private key. This is how we avoid needing a TURN server and maintain low latency.
I apologize that it wasn't clear in the blog I was describing how we handle WebRTC failing.
but they couldn't make it work commercially and shut down in 2015.
Bandwidth hasn't really gone up, so what will be different this time round?
Edit: they actually laid off all employees in 2012, then relaunched and still failed in 2015
Also I don't think your statement that bandwidth hasn't really gone up is true. https://www.statista.com/statistics/616210/average-internet-...
Today you have major players that already cover all three bases (Microsoft and Sony) interested and playing in the space. You also have more opportunity to see minor players enter the space with less of need to be hardware companies (because more users already have capable hardware devices), or cloud companies (because more commodity streaming cloud options are available than ever before on AWS/Azure/etc), or even software companies as more platforms including the web platform have increasingly more high level APIs for a lot of the building blocks of game streaming.
What's amazing is that if you can deliver video games at 4K 60fps. You can deliver all but the most intensive any application this way.
This is really interesting. I am very eager for browsers to improve their real-time audio/video potential.
Wouldn't this get rid of the NAT problem all together?
I even read that people had scaling problems with P2P WebRTC.
(I know that WebRTC is intended to be used as P2P technology, but noone stops you from treating the server as a client)
[0]:parsecgaming.com
That being said, as far as I know, Parsec's new browser-based client suffers from all the issues I mentioned in this blog and at the end of the day, our user experiences are completely different. Rainway being self-hostable you can put it on everything from Azure[1] to your home computer. We have a very unique "Games First"[3] approach and view ourselves more as a gaming service than a piece of game streaming software. As we continue to fledge out our voice, I think you'll be pleased with the results.
[0]:https://blog.rainway.io/here-whats-new-in-rainway-0-5-0-3a66... [1]:https://www.youtube.com/watch?v=OlMq-3hmm5Y&list=PLaVZpLEYEQ... [2]:https://blog.rainway.io/our-core-mission-games-first-78671e4...