Hoe de cloud gamingplatform is opgebouwd voor b2b- en b2c-klanten. Oplossingen voor een uitstekende beeldkwaliteit en het bestrijden van de laatste mijl

Cloud gaming wordt genoemd is one of the key technologies to watch right now. Over the next 6 years, this market is expected to grow tenfold—from $45 million in 2018 to $450 million by 2024. Tech giants are already rushing to seize this niche: Google and Nvidia have launched beta versions of their cloud gaming services, while Microsoft, EA, Ubisoft, Amazon, and Verizon are preparing to enter the scene.

For gamers, this means that soon they can completely stop spending money on hardware upgrades and run powerful games on low-end computers. Is this beneficial for the other participants in the ecosystem? We explain why cloud gaming will boost their earnings and how we developed the technology that makes it easy to enter this promising market.

Hoe de cloud gamingplatform is opgebouwd voor b2b- en b2c-klanten. Oplossingen voor een uitstekende beeldkwaliteit en het bestrijden van de laatste mijl

Publishers, developers, TV manufacturers, and telecom operators: what do they all need cloud gaming for?

Game publishers and developers are keen to deliver their products to the largest number of players as quickly as possible. Currently, according to our data, 70% of potential customers do not even start the game—they do not wait for the client and installation files weighing tens of gigabytes to load. Meanwhile, 60% of users, based on their graphics cards,, simply cannot run powerful games (AAA-level) on their computers at acceptable quality. Cloud gaming can solve this problem—it will not only maintain the earnings of publishers and developers but also help them grow their paying audience.

TV manufacturers and set-top box producers are also looking towards cloud gaming. In the age of smart homes and voice assistants, they are increasingly competing for user attention, and gaming functionality is a major way to attract that attention. With integrated cloud gaming, their customers can play modern games directly on their televisions, paying the manufacturer for the service.

Hoe de cloud gamingplatform is opgebouwd voor b2b- en b2c-klanten. Oplossingen voor een uitstekende beeldkwaliteit en het bestrijden van de laatste mijl

Een andere potentiële actieve deelnemer in het ecosysteem zijn de telecomoperators. Hun manier om de inkomsten te verhogen is door extra diensten aan te bieden. Gaming is daar een van, en telecomoperators integreren dit al actief. Rostelecom heeft het ‘Gaming’-tarief gelanceerd, Akado verkoopt toegang tot onze Playkey-dienst. Het gaat hierbij niet alleen om breedbandproviders. Mobiele operators kunnen ook, dankzij de snelle verspreiding van 5G, cloudgaming als aanvullende inkomstenbron benutten.

Ondanks de veelbelovende vooruitzichten is het niet eenvoudig om de markt te betreden. Geen van de bestaande diensten, inclusief die van technologische giganten, is er tot nu toe in geslaagd het probleem van de ‘laatste kilometer’ volledig op te lossen. Dit betekent dat de internetverbinding in woningen of appartementen door netwerkgebreken niet snel genoeg is voor een goede werking van cloudgaming.

Hoe de cloud gamingplatform is opgebouwd voor b2b- en b2c-klanten. Oplossingen voor een uitstekende beeldkwaliteit en het bestrijden van de laatste mijl
Bekijk hoe het WiFi-signaal vervaagt terwijl het zich van de router door het appartement verspreidt.

Spelers die al lang op de markt zitten en over krachtige middelen beschikken, werken gestaag aan een oplossing voor dit probleem. Maar het opzetten van eigen cloudgames vanaf nul in 2019 kost veel geld en tijd, en het is mogelijk dat er geen effectieve oplossing gerealiseerd wordt. Om alle deelnemers in het ecosysteem te helpen zich te ontwikkelen in deze snelgroeiende markt, hebben wij een technologie ontwikkeld die het mogelijk maakt om snel en zonder hoge kosten een eigen cloudgamingdienst op te zetten.

Hoe we een technologie hebben ontwikkeld die het makkelijk maakt om een eigen cloudgamingdienst op te zetten.

Onze cloudgamingtechnologie begon Playkey in 2012 te ontwikkelen. In 2014 vond de commerciële lancering plaats en tegen 2016 hadden 2,5 miljoen spelers de dienst minstens één keer gebruikt. Gedurende de ontwikkeling merkte we interesse, niet alleen van gamers, maar ook van fabrikanten van tv-decoders en telecomoperators. Met NetByNet en ‘Er-Telecom’ hebben we zelfs enkele pilotprojecten gelanceerd. In 2018 besloten we dat ons product mogelijk een B2B-toekomst heeft.

Voor elke onderneming een aangepaste integratie van cloudgaming ontwikkelen, zoals we deden in de pilotprojecten, is problematisch. Elke implementatie duurde van drie maanden tot een half jaar. Waarom? Iedereen heeft verschillende hardware en besturingssystemen: voor de een is cloudgaming nodig op een Android-console, en voor de ander als iFrame in de webinterface van een account voor streaming naar computers. Bovendien heeft iedereen een ander ontwerp, een aparte facturering (een unieke wereld op zich!) en andere kenmerken. Het is duidelijk geworden dat we ofwel het ontwikkelingsteam tien keer moeten uitbreiden, of een zo universeel mogelijk B2B-oplossing moeten maken.

In maart 2019 hebben we Remote Clickgelanceerd. Deze software kunnen bedrijven op hun servers installeren en een werkende cloudgamingservice ontvangen. Hoe zal dit eruitzien voor de gebruiker? Hij ziet een knop op de vertrouwde website waarmee hij het spel in de cloud kan starten. Bij het klikken op de knop wordt het spel op de server van het bedrijf gestart, en de gebruiker ziet de stream en kan op afstand spelen. Zo zou het eruit kunnen zien op populaire digitale distributiediensten voor games.

Hoe de cloud gamingplatform is opgebouwd voor b2b- en b2c-klanten. Oplossingen voor een uitstekende beeldkwaliteit en het bestrijden van de laatste mijl

Hoe de cloud gamingplatform is opgebouwd voor b2b- en b2c-klanten. Oplossingen voor een uitstekende beeldkwaliteit en het bestrijden van de laatste mijl

Actieve strijd voor kwaliteit. En ook passief.

Hoe Remote Click de vele technische barrières overwint, zullen we nu uitleggen. Cloudgaming van de eerste golf (bijvoorbeeld OnLive) werd gedoemd tot mislukking door de lage internetkwaliteit van gebruikers. In 2010 was de gemiddelde internetsnelheid in de VS slechts 4,7 Mbit/s. Tegen 2017 was deze al gestegen tot 18,7 Mbit/s, en binnenkort zal 5G overal beschikbaar komen en begint er een nieuw tijdperk. Maar ondanks het feit dat de infrastructuur in het algemeen klaar is voor cloudgaming, blijft het al eerder genoemde probleem van de 'laatste mijl' bestaan.

Een kant ervan, die we objectief noemen: de gebruiker heeft daadwerkelijk problemen met het netwerk. Bijvoorbeeld, de provider levert niet de beloofde maximale snelheid. Of er wordt gebruikgemaakt van WiFi 2,4 GHz, verstoord door een magnetron en een draadloze muis.

De andere kant, die we subjectief noemen: de gebruiker heeft zelfs geen idee dat hij netwerkproblemen heeft (weet niet wat hij niet weet)! In de beste gevallen is hij ervan overtuigd dat, omdat de provider hem een tarief van 100 Mbit/s aanbiedt, hij internet van 100 Mbit/s heeft. In het slechtste geval heeft hij geen idee wat een router is en deelt hij het internet in blauw en kleurig. Een echt geval uit de casestudy.

Hoe de cloud gamingplatform is opgebouwd voor b2b- en b2c-klanten. Oplossingen voor een uitstekende beeldkwaliteit en het bestrijden van de laatste mijl
Blauw en kleurig internet.

Maar beide kanten van het "laatste mijl" probleem zijn oplosbaar. Bij Remote Click gebruiken we hiervoor actieve en passieve mechanismen. Hieronder volgt een gedetailleerd verhaal over hoe ze de obstakels aanpakken.

Actieve mechanismen

1. Efficiënte foutcorrectiecode van de verzonden gegevens, a.k.a redundantie (FEC — Forward Error Correction)

Bij het verzenden van videogegevens van de server naar de client wordt foutcorrectiecode gebruikt. Hiermee herstellen we de oorspronkelijke gegevens bij gedeeltelijk verlies door problemen in het netwerk. Wat maakt onze oplossing effectief?

  1. Snelheid. Codering en decodering worden zeer snel uitgevoerd. Zelfs op ‘zwakke’ computers duurt de operatie niet langer dan 1 ms voor 0,5 MB gegevens. Hierdoor voegt codering en decodering bijna geen vertraging toe tijdens het gamen via de cloud. Het belang daarvan is moeilijk te overschatten.

  1. Maximaal potentieel voor gegevensherstel. Namelijk, de verhouding van het overtollige gegevensvolume en het potentieel herstellende volume. In ons geval is de verhouding = 1. Stel dat we 1 MB video moeten verzenden. Als we bij de codering 300 KB extra gegevens toevoegen (dit wordt redundantie genoemd), dan hebben we tijdens het decoderen van 1 oorspronkelijke megabyte slechts 1 MB nodig van de in totaal 1,3 MB die de server heeft verzonden. Met andere woorden, we kunnen 300 KB verliezen en toch de oorspronkelijke gegevens herstellen. Zoals te zien is, 300 / 300 = 1. Dit is de maximaal mogelijke efficiëntie.
  2. Flexibiliteit in het aanpassen van het extra gegevensvolume tijdens de codering. We kunnen een afzonderlijk niveau van redundantie instellen voor elk videoframe dat via het netwerk moet worden verzonden. Als we bijvoorbeeld problemen in het netwerk opmerken, kunnen we het niveau van redundantie verhogen of verlagen.  

Video afspelen

We spelen Doom via Playkey op een Core i3, 4 GB RAM, MSI GeForce GTX 750.

2. Gegevenspush

Een alternatieve manier om verliezen te bestrijden, is door gegevens opnieuw op te vragen. Bijvoorbeeld, als de server en de gebruiker zich in Moskou bevinden, zal de vertraging bij de overdracht niet meer dan 5 ms bedragen. Met deze waarde kan de clientapplicatie snel de verloren datagedeelten opvragen en ontvangen van de server zonder dat de gebruiker dit merkt. Ons systeem besluit zelf wanneer redundantie moet worden toegepast en wanneer het versturen van gegevens noodzakelijk is.

3. Individuele gegevensoverdrachtinstelling

Om de optimale manier om verliezen te bestrijden te kiezen, analyseert ons algoritme de netwerkverbinding van de gebruiker en stelt het gegevensoverdrachtsysteem individueel in voor elk geval.

Het kijkt naar:

  • type verbinding (Ethernet, WiFi, 3G, enz.);
  • de gebruikte frequentieband van WiFi — 2,4 GHz of 5 GHz;
  • de sterkte van het WiFi-signaal.

Als we verbindingen rangschikken op basis van verliezen en vertraging, dan is de bekabelde verbinding natuurlijk het meest betrouwbaar. Via Ethernet zijn verliezen zeldzaam en vertragingen op de 'laatste mijl' zijn uiterst onwaarschijnlijk. Daarna komt WiFi 5 GHz en pas daarna WiFi 2,4 GHz. Mobiele verbindingen zijn eigenlijk waardeloos, we wachten op 5G.

Hoe de cloud gamingplatform is opgebouwd voor b2b- en b2c-klanten. Oplossingen voor een uitstekende beeldkwaliteit en het bestrijden van de laatste mijl

Bij het gebruik van WiFi past het systeem automatisch de adapter van de gebruiker aan, zodat deze in de meest geschikte modus voor gebruik in de cloud werkt (bijvoorbeeld energiebesparingen uitschakelen).

4. Individuele coderinginstelling

Videostreaming bestaat dankzij codecs — programma's voor compressie en reconstructie van videogegevens. In ongecomprimeerde vorm kan één seconde video al snel meer dan een honderd megabyte zijn, terwijl een codec deze omvang met een orden vermindert. Wij hebben de codecs H264 en H265 tot onze beschikking.

H264 is de meest populaire. Alle grote fabrikanten van videokaarten ondersteunen hardwarematig al meer dan tien jaar de werking ervan. H265 is de gedurfde jonge opvolger. Hardwarematige ondersteuning is ongeveer vijf jaar geleden begonnen. Coderen en decoderen in H265 vereist meer middelen, maar de kwaliteit van het gecomprimeerde beeld is aanzienlijk hoger dan bij H264. En zonder toename van de bestandsgrootte!

Hoe de cloud gamingplatform is opgebouwd voor b2b- en b2c-klanten. Oplossingen voor een uitstekende beeldkwaliteit en het bestrijden van de laatste mijl

Welke codec te kiezen en welke coderingparameters in te stellen voor een specifieke gebruiker, afhankelijk van zijn 'hardware'? Dit is een niet-triviale taak die bij ons automatisch wordt opgelost. Ons slimme systeem analyseert de mogelijkheden van de hardware, stelt de optimale coderingparameters in en kiest de decoder aan de klantzijde.

5. Compensatie van verliezen

We didn't want to admit it, but even we are not perfect. Some data lost in the depths of the network cannot be recovered, and we are unable to send it in time. But even in this case, there is a solution.

For instance, bitrate adjustment. Our algorithm continuously monitors the amount of data transmitted from the server to the client. It records every loss and even predicts possible future losses. Its task is to notice in time, and ideally to predict, when losses reach a critical level and start causing noticeable disruptions on the user's screen. And to adjust the amount of transmitted data (bitrate) at that moment.

Hoe de cloud gamingplatform is opgebouwd voor b2b- en b2c-klanten. Oplossingen voor een uitstekende beeldkwaliteit en het bestrijden van de laatste mijl

We also use invalidation of unassembled frames and a reference frame mechanism in the video stream. Both tools reduce the number of noticeable artifacts. This means that even with severe data transmission issues, the image on the screen remains acceptable, and the game remains playable.

6. Distributed Sending

Time-distributed data sending also enhances the quality of streaming. How to distribute it depends on specific network indicators, such as loss rates, ping, and other factors. Our algorithm analyzes them and chooses the optimal option. Sometimes distributing over a few milliseconds reduces losses significantly.

7. Reducing Latency

One of the key characteristics when gaming in the cloud is latency. The lower it is, the more comfortable the gaming experience. Latency can be conditionally divided into two parts:

  • network latency or data transmission delay;

  • system latency (client-side control extraction, image capture on the server, image encoding, the aforementioned data adaptation mechanisms for sending, data collection on the client side, image decoding, and rendering).

Network latency depends on the infrastructure, and combating it can be challenging. If the cable has been chewed by mice, no amount of dancing will help. However, system latency can be reduced significantly, and the quality of cloud gaming for the player will change dramatically. In addition to the already mentioned noise-resistant encoding and personalized settings, we use two more mechanisms.

  1. Fast data acquisition from control devices (keyboard, mouse) on the client side. Even on weak computers, this takes only 1-2 ms.
  2. De weergave van de systeemcursor op de client. De muisaanwijzer wordt niet op de externe server verwerkt, maar in de Playkey-client op de computer van de gebruiker, dat wil zeggen zonder enige vertraging. Ja, dit heeft geen invloed op de daadwerkelijke bediening in het spel, maar het belangrijkste hier is de menselijke perceptie.  

Video afspelen

De weergave van de cursor zonder vertraging in Playkey aan de hand van Apex Legends

Met behulp van onze technologie, bij een netwerkvertraging van 0 ms en het werken met een videostream van 60 FPS, bedraagt de vertraging van het hele systeem niet meer dan 35 ms.

Passieve mechanismen

Uit onze ervaring blijkt dat veel gebruikers niet goed begrijpen hoe hun apparaten met internet zijn verbonden. In interviews met spelers kwam naar voren dat sommigen niet weten wat een router is. En dat is prima! Je hoeft geen kennis van een verbrandingsmotor te hebben om in een auto te kunnen rijden. Het is niet realistisch om van een gebruiker te verlangen dat hij de kennis van een systeembeheerder heeft om te kunnen gamen.

Toch is het belangrijk om enkele technische aspecten over te brengen, zodat de speler zelf de barrières aan zijn kant kan verwijderen. En wij helpen hem daarbij.

1. Indicatie van ondersteuning voor WiFi 5 GHz

Boven hebben we geschreven dat we de standaard Wi-Fi zien — 5 GHz of 2,4 GHz. En we weten ook of de netwerkaansluiting van het gebruikersapparaat de mogelijkheid heeft om op 5 GHz te werken. Als dat zo is, raden we aan om dit bereik te gebruiken. We kunnen de frequentie nog niet zelf aanpassen, omdat we de specificaties van de router niet kunnen zien.

2. Indicatie van de WiFi-signaalsterkte

Bij sommige gebruikers kan het WiFi-signaal zwak zijn, zelfs als het internet goed werkt en lijkt te draaien op een acceptabele snelheid. Het probleem zal zich precies voordoen bij cloudgaming, dat het netwerk echte testen oplegt.

De intensiteit van het signaal wordt beïnvloed door obstakels — bijvoorbeeld muren — en interferentie van andere apparaten. Magnetrons stralen ook een aanzienlijke hoeveelheid uit. Als resultaat ontstaan er verliezen die niet merkbaar zijn bij normaal internetgebruik, maar kritisch zijn voor het gamen via de cloud. In dergelijke gevallen waarschuwen we de gebruiker voor interferentie, stellen we voor dichter bij de router te gaan zitten en 'ruisige' apparaten uit te schakelen.

3. Indicatie van dataverbruikers

Zelfs als de verbinding goed is, kunnen andere applicaties te veel bandbreedte verbruiken. Bijvoorbeeld, als er gelijktijdig met het spel in de cloud een video op YouTube wordt afgespeeld of torrents worden gedownload. Onze applicatie detecteert deze 'bandbreedte-rovers' en waarschuwt de speler ervoor.
Hoe de cloud gamingplatform is opgebouwd voor b2b- en b2c-klanten. Oplossingen voor een uitstekende beeldkwaliteit en het bestrijden van de laatste mijl

Angsten uit het verleden - de mythes over cloudgaming ontkracht

Cloudgaming, als een wezenlijk nieuwe manier van het consumeren van game-inhoud, probeert al bijna tien jaar zijn weg naar de markt te vinden. En zoals met elke innovatie, is hun geschiedenis een reeks kleine overwinningen en grote nederlagen. Het is niet verwonderlijk dat cloudgaming in de loop der jaren omringd is geraakt door mythes en vooroordelen. Aan het begin van de ontwikkeling van de technologie waren deze gerechtvaardigd, maar vandaag de dag zijn ze volledig ongegrond.

Mythe 1. De beeldkwaliteit in de cloud is slechter dan de originele - alsof je via YouTube speelt

Vandaag de dag zijn in een technisch geavanceerde cloudoplossing de beelden van de originele versie en de cloud praktisch identiek - met het blote oog zijn er geen verschillen te zien. Het individueel aanpassen van de encoder aan de apparatuur van de speler en een complex systeem van technieken om verlies tegen te gaan, lost dit probleem op. Op een kwalitatief netwerk zijn er geen vervagingen of grafische artefacten. We houden zelfs rekening met de resolutie. Het heeft geen zin om beelden in 1080p te streamen als de speler 720p gebruikt.

Hieronder staan twee video's van Apex Legends van ons kanaal. In het ene geval is het een opname van gameplay op de PC, in het andere geval via Playkey.

Apex Legends op PC

Video afspelen

Apex Legends op Playkey
Video afspelen

Mythe 2. Onbetrouwbare kwaliteit

De staat van het netwerk is inderdaad onvoorspelbaar, maar dit probleem is opgelost. We passen de instellingen van de encoder dynamisch aan op basis van de netwerkkwaliteit van de gebruiker. En we handhaven een voortdurend acceptabel niveau van FPS met speciale beeldcapturingtechnieken.

Hoe werkt dit? Het spel heeft een 3D-engine waarmee een 3D-wereld wordt opgebouwd. Maar aan de gebruiker wordt een plat beeld getoond. Om dit zichtbaar te maken, wordt voor elk frame een geheugenafbeelding gemaakt - een soort foto van hoe deze 3D-wereld vanuit een bepaald perspectief wordt gezien. Deze afbeelding in gecodeerde vorm wordt in de videogeheugenbuffer opgeslagen. We vangen deze op uit het videogeheugen en sturen het naar de encoder, die het decodeert. En zo gaat het met elk frame, achtereenvolgens.

Onze technologie maakt het mogelijk om beelden in één stroom vast te leggen en te decoderen, wat de FPS verhoogt. Als deze processen parallel plaatsvinden (een vrij populaire oplossing op de markt voor cloud gaming), zal de encoder constant nieuwe frames met vertraging ophalen en deze ook met vertraging doorgeven.

Video afspelen

De video aan de bovenkant van het scherm is verkregen met behulp van technologie voor het vastleggen en decoderen in één stroom.

Mythe 3. Door lag in de bediening zal ik in multiplayer ‘een easy target’ zijn.

De vertraging in de bediening bedraagt normaal gesproken enkele milliseconden. En meestal is dit onopgemerkt voor de eindgebruiker. Soms is er echter een kleine discrepantie tussen de beweging van de muis en de beweging van de cursor. Dit heeft verder geen invloed, maar creëert wel een negatieve indruk. De eerder genoemde weergave van de cursor op het apparaat van de gebruiker verhelpt dit probleem. De algehele systeemvertraging van 30-35 ms is zo klein dat noch de speler, noch zijn tegenstanders dit opmerken. Het resultaat van de strijd hangt uitsluitend af van de vaardigheden. Het bewijs hiervan staat hieronder.


De streamer overwint via Playkey.

Hier was eigenlijk een praktische sectie gepland met demonstratie van drie projecten op STM32 en STM8, speciaal voor dit artikel gemaakt met behulp van datasheets, met lampen, SPI, timers, PWM en interrupts:

Cloud gaming is al een realiteit. Playkey, PlayStation Now, Shadow - dit zijn functionerende services met hun eigen publiek en plaats op de markt. En zoals bij veel jonge markten, zal cloud gaming in de komende jaren snel groeien.

Een van de scenario's die ons het meest waarschijnlijk lijkt, is de opkomst van eigen services door game-uitgevers en telecomoperators. Sommigen zullen hun eigen ontwikkelen, anderen zullen gebruik maken van kant-en-klare oplossingen zoals RemoteClick.net. Hoe meer spelers er op de markt zijn, des te sneller de cloud-gebaseerde manier van het consumeren van game-inhoud mainstream zal worden.

Bron: habr.com

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers 🔥 Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster