Облак ΠΈΠ³Ρ€ΠΈ со ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄ Π½Π° WebRTC: p2p, ΠΌΡƒΠ»Ρ‚ΠΈΠΏΠ»Π΅Π΅Ρ€, Π½ΡƒΠ»Π° латСнтност

Облак ΠΈΠ³Ρ€ΠΈ со ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄ Π½Π° WebRTC: p2p, ΠΌΡƒΠ»Ρ‚ΠΈΠΏΠ»Π΅Π΅Ρ€, Π½ΡƒΠ»Π° латСнтност
Π‘ΠΎΡ„Ρ‚Π²Π΅Ρ€ ΠΊΠ°ΠΊΠΎ услуга, инфраструктура ΠΊΠ°ΠΊΠΎ услуга, ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° ΠΊΠ°ΠΊΠΎ услуга, комуникациска ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° ΠΊΠ°ΠΊΠΎ услуга, Π²ΠΈΠ΄Π΅ΠΎ ΠΊΠΎΠ½Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΠΈ ΠΊΠ°ΠΊΠΎ услуга, ΡˆΡ‚ΠΎ Π΅ со ΠΎΠ±Π»Π°ΠΊ ΠΈΠ³Ρ€ΠΈΡ‚Π΅ ΠΊΠ°ΠΊΠΎ услуга? Π’Π΅ΡœΠ΅ имашС Π½Π΅ΠΊΠΎΠ»ΠΊΡƒ ΠΎΠ±ΠΈΠ΄ΠΈ Π·Π° создавањС ΠΎΠ±Π»Π°ΠΊ ΠΈΠ³Ρ€ΠΈ (Cloud Gaming), ΠΊΠ°ΠΊΠΎ ΡˆΡ‚ΠΎ Π΅ Stadia, Π½Π΅ΠΎΠ΄Π°ΠΌΠ½Π° лансирана ΠΎΠ΄ Google. Π‘Ρ‚Π°Π΄ΠΈΠ° Π½Π΅ Π΅ Π½ΠΎΠ²ΠΎ Π·Π° WebRTC, Π½ΠΎ Π΄Π°Π»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ‚Π΅ ΠΌΠΎΠΆΠ°Ρ‚ Π΄Π° користат WebRTC Π½Π° ист Π½Π°Ρ‡ΠΈΠ½?

Π’Π°Π½ НгуСн Ρ€Π΅ΡˆΠΈ Π΄Π° ја тСстира ΠΎΠ²Π°Π° моТност Π½Π° Π½Π΅Π³ΠΎΠ²ΠΈΠΎΡ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ со ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄ CloudRetro. CloudRetro Π΅ Π±Π°Π·ΠΈΡ€Π°Π½ Π½Π° Pion, ΠΏΠΎΠΏΡƒΠ»Π°Ρ€Π½Π° WebRTC Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π±Π°Π·ΠΈΡ€Π°Π½Π° Π½Π° Go (Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€Π°ΠΌ ΠŸΡ€ΠΈΠΊΠ°ΠΆΠ°Π½ΠΈ ΠΎΠ΄ Ρ‚ΠΈΠΌΠΎΡ‚ Π·Π° Ρ€Π°Π·Π²ΠΎΡ˜ Π½Π° Pion Π·Π° Π½ΠΈΠ²Π½Π°Ρ‚Π° помош ΠΏΡ€ΠΈ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ°Ρ‚Π° Π½Π° овој напис). Π’ΠΎ ΠΎΠ²Π°Π° ΡΡ‚Π°Ρ‚ΠΈΡ˜Π°, Π’Π°Π½ Π΄Π°Π²Π° ΠΏΡ€Π΅Π³Π»Π΅Π΄ Π½Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°Ρ‚Π° Π½Π° Π½Π΅Π³ΠΎΠ²ΠΈΠΎΡ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, Π° исто Ρ‚Π°ΠΊΠ° Π·Π±ΠΎΡ€ΡƒΠ²Π° Π·Π° Ρ‚ΠΎΠ° ΠΊΠΎΠΈ корисни Ρ€Π°Π±ΠΎΡ‚ΠΈ Π³ΠΈ Π½Π°ΡƒΡ‡ΠΈΠ» ΠΈ со ΠΊΠ°ΠΊΠ²ΠΈ ΠΏΡ€Π΅Π΄ΠΈΠ·Π²ΠΈΡ†ΠΈ наишол Π²ΠΎ Ρ‚Π΅ΠΊΠΎΡ‚ Π½Π° Π½Π΅Π³ΠΎΠ²Π°Ρ‚Π° Ρ€Π°Π±ΠΎΡ‚Π°.

Π’Π»Π΅Π³ΡƒΠ²Π°ΡšΠ΅

ΠœΠΈΠ½Π°Ρ‚Π°Ρ‚Π° Π³ΠΎΠ΄ΠΈΠ½Π°, ΠΊΠΎΠ³Π° Google ја објави Stadia, ΠΌΠΈ Π³ΠΎ разнСсС ΠΏΠ°ΠΌΠ΅Ρ‚ΠΎΡ‚. Π˜Π΄Π΅Ρ˜Π°Ρ‚Π° Π΅ Ρ‚ΠΎΠ»ΠΊΡƒ ΡƒΠ½ΠΈΠΊΠ°Ρ‚Π½Π° ΠΈ ΠΈΠ½ΠΎΠ²Π°Ρ‚ΠΈΠ²Π½Π° ΡˆΡ‚ΠΎ ΠΏΠΎΡΡ‚ΠΎΡ˜Π°Π½ΠΎ сС ΠΏΡ€Π°ΡˆΡƒΠ²Π°Π² ΠΊΠ°ΠΊΠΎ Ρ‚ΠΎΠ° Π²ΠΎΠΎΠΏΡˆΡ‚ΠΎ Π΅ ΠΌΠΎΠΆΠ½ΠΎ со постоСчката Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΡ˜Π°. Π–Π΅Π»Π±Π°Ρ‚Π° ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΠΎ Π΄Π° ја Ρ€Π°Π·Π±Π΅Ρ€Π°ΠΌ ΠΎΠ²Π°Π° Ρ‚Π΅ΠΌΠ° ΠΌΠ΅ ΠΏΠΎΡ‚Ρ‚ΠΈΠΊΠ½Π° Π΄Π° создадам своја сопствСна Π²Π΅Ρ€Π·ΠΈΡ˜Π° Π½Π° ΠΈΠ³Ρ€Π° Π²ΠΎ ΠΎΠ±Π»Π°ΠΊ со ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄. Π Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΎΡ‚ бСшС Сдноставно фантастичСн. ΠŸΠΎΠ΄ΠΎΠ»Ρƒ Π±ΠΈ сакал Π΄Π° Π³ΠΎ сподСлам процСсот Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° Π½Π° ΠΌΠΎΡ˜Π°Ρ‚Π° Π³ΠΎΠ΄ΠΈΠ½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚.

TLDR: ΠΊΡ€Π°Ρ‚ΠΊΠ° слајд Π²Π΅Ρ€Π·ΠΈΡ˜Π° со Π½Π°Π³Π»Π°ΡΡƒΠ²Π°ΡšΠ°

Π—ΠΎΡˆΡ‚ΠΎ ΠΎΠ±Π»Π°ΠΊ ΠΈΠ³Ρ€ΠΈΡ‚Π΅ сС ΠΈΠ΄Π½ΠΈΠ½Π°Ρ‚Π°

Π’Π΅Ρ€ΡƒΠ²Π°ΠΌ Π΄Π΅ΠΊΠ° Cloud Gaming наскоро ќС станС слСдната Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΡ˜Π° Π½Π° Π½Π΅ само ΠΈΠ³Ρ€ΠΈ, Ρ‚ΡƒΠΊΡƒ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ области ΠΎΠ΄ ΠΊΠΎΠΌΠΏΡ˜ΡƒΡ‚Π΅Ρ€ΡΠΊΠ°Ρ‚Π° Π½Π°ΡƒΠΊΠ°. Π˜Π³Ρ€Π°ΡšΠ΅Ρ‚ΠΎ Π²ΠΎ ΠΎΠ±Π»Π°ΠΊ Π΅ Π²Ρ€Π² Π½Π° ΠΌΠΎΠ΄Π΅Π»ΠΎΡ‚ ΠΊΠ»ΠΈΠ΅Π½Ρ‚/сСрвСр. Овој ΠΌΠΎΠ΄Π΅Π» Π³ΠΎ максимизира ΡƒΠΏΡ€Π°Π²ΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ со Π·Π°Π΄Π½ΠΈΠΎΡ‚ Π΄Π΅Π» ΠΈ ја ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° Π½Π° ΠΏΡ€Π΅Π΄Π½ΠΈΠΎΡ‚ Π΄Π΅Π» со Ρ…ΠΎΡΡ‚ΠΈΡ€Π°ΡšΠ΅ Π½Π° Π»ΠΎΠ³ΠΈΠΊΠ°Ρ‚Π° Π½Π° ΠΈΠ³Ρ€Π°Ρ‚Π° Π½Π° ΠΎΠ΄Π΄Π°Π»Π΅Ρ‡Π΅Π½ сСрвСр ΠΈ ΠΏΡ€ΠΎΡΠ»Π΅Π΄ΡƒΠ²Π°ΡšΠ΅ слики/Π°ΡƒΠ΄ΠΈΠΎ Π΄ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΡ‚. Π‘Π΅Ρ€Π²Π΅Ρ€ΠΎΡ‚ Π²Ρ€ΡˆΠΈ Ρ‚Π΅ΡˆΠΊΠ° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°, Ρ‚Π°ΠΊΠ° ΡˆΡ‚ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΡ‚ повСќС Π½Π΅ Π΅ Π½Π° милост ΠΈ нСмилост Π½Π° хардвСрскитС ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΡƒΠ²Π°ΡšΠ°.

Google Stadia Π²ΠΎ ΡΡƒΡˆΡ‚ΠΈΠ½Π° Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π° Π΄Π° ΠΈΠ³Ρ€Π°Ρ‚Π΅ ААА ΠΈΠ³Ρ€ΠΈ (Ρ‚.Π΅. Π²Ρ€Π²Π½ΠΈ блокбастСр ΠΈΠ³Ρ€ΠΈ) Π½Π° ΠΈΠ½Ρ‚Π΅Ρ€Ρ„Π΅Ρ˜Ρ ΠΊΠ°ΠΊΠΎ YouTube. Π˜ΡΡ‚Π°Ρ‚Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΡ˜Π° ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈ ΠΈ Π½Π° Π΄Ρ€ΡƒΠ³ΠΈ Ρ‚Π΅ΡˆΠΊΠΈ ΠΎΡ„Π»Π°Ρ˜Π½ Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΊΠ°ΠΊΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π΅Π½ систСм ΠΈΠ»ΠΈ 2D/3D Π³Ρ€Π°Ρ„ΠΈΡ‡ΠΊΠΈ дизајн ΠΈΡ‚Π½. Π·Π° Π΄Π° ΠΌΠΎΠΆΠ΅ΠΌΠ΅ ΠΏΠΎΡΡ‚ΠΎΡ˜Π°Π½ΠΎ Π΄Π° Π³ΠΈ ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°ΠΌΠ΅ Π½Π° ΡƒΡ€Π΅Π΄ΠΈ со ниски спСцификации Π½Π° повСќС ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΈ.

Облак ΠΈΠ³Ρ€ΠΈ со ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄ Π½Π° WebRTC: p2p, ΠΌΡƒΠ»Ρ‚ΠΈΠΏΠ»Π΅Π΅Ρ€, Π½ΡƒΠ»Π° латСнтност
Π˜Π΄Π½ΠΈΠ½Π°Ρ‚Π° Π½Π° ΠΎΠ²Π°Π° Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΡ˜Π°: ЗамислСтС Π°ΠΊΠΎ Microsoft Windows 10 Ρ€Π°Π±ΠΎΡ‚ΠΈ Π½Π° прСлистувачот Chrome?

Π˜Π³Ρ€Π°ΡšΠ΅Ρ‚ΠΎ Π²ΠΎ ΠΎΠ±Π»Π°ΠΊ Π΅ Ρ‚Π΅Ρ…Π½ΠΈΡ‡ΠΊΠΈ ΠΏΡ€Π΅Π΄ΠΈΠ·Π²ΠΈΠΊ

Π˜Π³Ρ€ΠΈΡ‚Π΅ сС Π΅Π΄Π½Π° ΠΎΠ΄ ΠΎΠ½ΠΈΠ΅ Ρ€Π΅Ρ‚ΠΊΠΈ области ΠΊΠ°Π΄Π΅ ΡˆΡ‚ΠΎ Π΅ ΠΏΠΎΡ‚Ρ€Π΅Π±Π΅Π½ ΠΏΠΎΡΡ‚ΠΎΡ˜Π°Π½, Π±Ρ€Π· ΠΎΠ΄Π³ΠΎΠ²ΠΎΡ€ Π½Π° корисникот. Ако ΠΏΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½ΠΎ Π½Π°ΠΈΠ΄Π΅ΠΌΠ΅ Π½Π° Π΄ΠΎΡ†Π½Π΅ΡšΠ΅ ΠΎΠ΄ 2 сСкунди ΠΏΡ€ΠΈ ΠΊΠ»ΠΈΠΊΠ½ΡƒΠ²Π°ΡšΠ΅ Π½Π° страница, Ρ‚ΠΎΠ° Π΅ ΠΏΡ€ΠΈΡ„Π°Ρ‚Π»ΠΈΠ²ΠΎ. Π’ΠΈΠ΄Π΅ΠΎ прСноситС Π²ΠΎ ΠΆΠΈΠ²ΠΎ ΠΈΠΌΠ°Π°Ρ‚ Ρ‚Π΅Π½Π΄Π΅Π½Ρ†ΠΈΡ˜Π° Π΄Π° заостануваат Π½Π΅ΠΊΠΎΠ»ΠΊΡƒ сСкунди, Π½ΠΎ сСпак Π½ΡƒΠ΄Π°Ρ‚ Ρ€Π°Π·ΡƒΠΌΠ½Π° употрСбливост. ΠœΠ΅Ρ“ΡƒΡ‚ΠΎΠ°, Π°ΠΊΠΎ ΠΈΠ³Ρ€Π°Ρ‚Π° чСсто заостанува Π·Π° 500 ms, Ρ‚Π°Π° Сдноставно Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ³Ρ€Π°. ΠΠ°ΡˆΠ°Ρ‚Π° Ρ†Π΅Π» Π΅ Π΄Π° постигнСмС СкстрСмно ниска латСнтност, Ρ‚Π°ΠΊΠ° ΡˆΡ‚ΠΎ Ρ˜Π°Π·ΠΎΡ‚ ΠΏΠΎΠΌΠ΅Ρ“Ρƒ Π²Π»Π΅Π·ΠΎΡ‚ ΠΈ ΠΌΠ΅Π΄ΠΈΡƒΠΌΠΎΡ‚ Π΅ ΡˆΡ‚ΠΎ Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ°Π». Π—Π°Ρ‚ΠΎΠ°, Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π°Π»Π½ΠΈΠΎΡ‚ пристап Π·Π° Π²ΠΈΠ΄Π΅ΠΎ стриминг Π½Π΅ Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½Π»ΠΈΠ² ΠΎΠ²Π΄Π΅.

Облак ΠΈΠ³Ρ€ΠΈ со ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄ Π½Π° WebRTC: p2p, ΠΌΡƒΠ»Ρ‚ΠΈΠΏΠ»Π΅Π΅Ρ€, Π½ΡƒΠ»Π° латСнтност
Π¨Π°Π±Π»ΠΎΠ½ Π·Π° ΠΈΠ³Ρ€ΠΈ Π·Π° Π³Π΅Π½Π΅Ρ€Π°Π»Π΅Π½ ΠΎΠ±Π»Π°ΠΊ

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ со ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄ CloudRetro

РСшив Π΄Π° создадам ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΊ Π·Π° Ρ‚Π΅ΡΡ‚ΠΈΡ€Π°ΡšΠ΅ Π½Π° ΠΈΠ³Ρ€Π° Π²ΠΎ ΠΎΠ±Π»Π°ΠΊ Π·Π° Π΄Π° Π²ΠΈΠ΄Π°ΠΌ Π΄Π°Π»ΠΈ сСто ΠΎΠ²Π° Π΅ ΠΌΠΎΠΆΠ½ΠΎ со Ρ‚ΠΎΠ»ΠΊΡƒ строги ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΡƒΠ²Π°ΡšΠ° Π½Π° ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π°. Π“ΠΎ ΠΈΠ·Π±Ρ€Π°Π² Golang Π·Π° Π΄ΠΎΠΊΠ°ΠΆΡƒΠ²Π°ΡšΠ΅ Π½Π° ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ‚ΠΎΡ‚ бидСјќи Ρ‚ΠΎΠ° бСшС Ρ˜Π°Π·ΠΈΠΊΠΎΡ‚ со кој Π½Π°Ρ˜ΠΌΠ½ΠΎΠ³Ρƒ Π±Π΅Π² Π·Π°ΠΏΠΎΠ·Π½Π°Π΅Π½ ΠΈ бСшС Π΄ΠΎΠ±Ρ€ΠΎ ΠΏΡ€ΠΈΠ»Π°Π³ΠΎΠ΄Π΅Π½ Π·Π° ΠΎΠ²Π°Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜Π° ΠΎΠ΄ ΠΌΠ½ΠΎΠ³Ρƒ Π΄Ρ€ΡƒΠ³ΠΈ ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΈ, ΠΊΠ°ΠΊΠΎ ΡˆΡ‚ΠΎ ΠΏΠΎΠ΄ΠΎΡ†Π½Π° ΠΎΡ‚ΠΊΡ€ΠΈΠ². Go Π΅ СдноставСн ΠΈ сС Ρ€Π°Π·Π²ΠΈΠ²Π° ΠΌΠ½ΠΎΠ³Ρƒ Π±Ρ€Π·ΠΎ; ΠšΠ°Π½Π°Π»ΠΈΡ‚Π΅ Π²ΠΎ Go сС ΠΎΠ΄Π»ΠΈΡ‡Π½ΠΈ Π·Π° ΡƒΠΏΡ€Π°Π²ΡƒΠ²Π°ΡšΠ΅ со повСќСнишки.

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ CloudRetro.io Π΅ услуга Π·Π° ΠΎΠ±Π»Π°ΠΊ ΠΈΠ³Ρ€ΠΈ со ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄ Π·Π° Ρ€Π΅Ρ‚Ρ€ΠΎ ΠΈΠ³Ρ€ΠΈ. Π¦Π΅Π»Ρ‚Π° Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΡ‚ Π΅ Π΄Π° сС донСсС Π½Π°Ρ˜ΡƒΠ΄ΠΎΠ±Π½ΠΎΡ‚ΠΎ Π³Π΅Ρ˜ΠΌΠ΅Ρ€ΡΠΊΠΎ искуство Π²ΠΎ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π°Π»Π½ΠΈΡ‚Π΅ Ρ€Π΅Ρ‚Ρ€ΠΎ ΠΈΠ³Ρ€ΠΈ ΠΈ Π΄Π° сС Π΄ΠΎΠ΄Π°Π΄Π΅ ΠΌΡƒΠ»Ρ‚ΠΈΠΏΠ»Π΅Π΅Ρ€.
ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π΄ΠΎΠ·Π½Π°Π΅Ρ‚Π΅ повСќС Π·Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΡ‚ ΠΎΠ²Π΄Π΅: https://github.com/giongto35/cloud-game.

CloudRetro функционалност

CloudRetro користи Ρ€Π΅Ρ‚Ρ€ΠΎ ΠΈΠ³Ρ€ΠΈ Π·Π° Π΄Π° ја ΠΏΠΎΠΊΠ°ΠΆΠ΅ ΠΌΠΎΡœΡ‚Π° Π½Π° ΠΈΠ³Ρ€ΠΈΡ‚Π΅ Π²ΠΎ ΠΎΠ±Π»Π°ΠΊ. Π¨Ρ‚ΠΎ Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π° Π΄Π° Π΄ΠΎΠ±ΠΈΠ΅Ρ‚Π΅ ΠΌΠ½ΠΎΠ³Ρƒ ΡƒΠ½ΠΈΠΊΠ°Ρ‚Π½ΠΈ искуства со ΠΈΠ³Ρ€ΠΈ.

  • ΠŸΡ€Π΅Π½ΠΎΡΠ»ΠΈΠ²ΠΎΡΡ‚ Π½Π° ΠΈΠ³Ρ€Π°Ρ‚Π°
    • Π˜Π½ΡΡ‚Π°Π½Ρ‚ Ρ€Π΅ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ†ΠΈΡ˜Π° ΠΏΡ€ΠΈ ΠΎΡ‚Π²ΠΎΡ€Π°ΡšΠ΅ Π½Π° страница; Π½Π΅ Π΅ ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎ ΠΏΡ€Π΅Π·Π΅ΠΌΠ°ΡšΠ΅ ΠΈΠ»ΠΈ ΠΈΠ½ΡΡ‚Π°Π»Π°Ρ†ΠΈΡ˜Π°
    • Π Π°Π±ΠΎΡ‚ΠΈ Π²ΠΎ ΠΌΠΎΠ±ΠΈΠ»Π΅Π½ прСлистувач, Ρ‚Π°ΠΊΠ° ΡˆΡ‚ΠΎ Π½Π΅ Π΅ ΠΏΠΎΡ‚Ρ€Π΅Π±Π΅Π½ софтвСр Π·Π° Π΄Π° сС стартува

  • БСсиитС Π·Π° ΠΈΠ³Ρ€ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° сС сподСлат Π½Π° повСќС ΡƒΡ€Π΅Π΄ΠΈ ΠΈ Π΄Π° сС складираат Π²ΠΎ ΠΎΠ±Π»Π°ΠΊΠΎΡ‚ Π·Π° слСдниот ΠΏΠ°Ρ‚ ΠΊΠΎΠ³Π° ќС сС Π½Π°Ρ˜Π°Π²ΠΈΡ‚Π΅
  • Π˜Π³Ρ€Π°Ρ‚Π° ΠΌΠΎΠΆΠ΅ Π΄Π° сС Π΅ΠΌΠΈΡ‚ΡƒΠ²Π° ΠΈΠ»ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° ја ΠΈΠ³Ρ€Π°Π°Ρ‚ Π½Π΅ΠΊΠΎΠ»ΠΊΡƒ корисници одСднаш:
    • Crowdplay ΠΊΠ°ΠΊΠΎ TwitchPlayPokemon, само повСќС ΠΌΠ΅Ρ“Ρƒ-платформски ΠΈ повСќС Π²ΠΎ Ρ€Π΅Π°Π»Π½ΠΎ Π²Ρ€Π΅ΠΌΠ΅
    • ΠžΡ„Π»Π°Ρ˜Π½ ΠΈΠ³Ρ€ΠΈ онлајн. ΠœΠ½ΠΎΠ³Ρƒ корисници ΠΌΠΎΠΆΠ°Ρ‚ Π΄Π° ΠΈΠ³Ρ€Π°Π°Ρ‚ Π±Π΅Π· Π΄Π° поставуваат ΠΌΡ€Π΅ΠΆΠ°. Samurai Shodown сСга ΠΌΠΎΠΆΠ΅ Π΄Π° Π³ΠΎ ΠΈΠ³Ρ€Π°Π°Ρ‚ 2 ΠΈΠ³Ρ€Π°Ρ‡ΠΈ ΠΏΡ€Π΅ΠΊΡƒ ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π° CloudRetro

    Облак ΠΈΠ³Ρ€ΠΈ со ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄ Π½Π° WebRTC: p2p, ΠΌΡƒΠ»Ρ‚ΠΈΠΏΠ»Π΅Π΅Ρ€, Π½ΡƒΠ»Π° латСнтност
    Π”Π΅ΠΌΠΎ Π²Π΅Ρ€Π·ΠΈΡ˜Π° Π½Π° онлајн ΠΈΠ³Ρ€Π° со повСќС ΠΈΠ³Ρ€Π°Ρ‡ΠΈ Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΡƒΡ€Π΅Π΄ΠΈ

    Π˜Π½Ρ„Ρ€Π°ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π°

    Π‘Π°Ρ€Π°ΡšΠ° ΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΡˆΠΊΠΈ оџак

    ΠŸΠΎΠ΄ΠΎΠ»Ρƒ Π΅ листа Π½Π° Π±Π°Ρ€Π°ΡšΠ° ΡˆΡ‚ΠΎ Π³ΠΈ поставив ΠΏΡ€Π΅Π΄ Π΄Π° Π·Π°ΠΏΠΎΡ‡Π½Π°ΠΌ со ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΡ‚.

    1. Π•Π΄Π΅Π½ ΠΈΠ³Ρ€Π°Ρ‡
    Ова Π±Π°Ρ€Π°ΡšΠ΅ ΠΌΠΎΠΆΠ΅Π±ΠΈ Π½Π΅ ΠΈΠ·Π³Π»Π΅Π΄Π° ΠΏΡ€Π΅ΠΌΠ½ΠΎΠ³Ρƒ Π²Π°ΠΆΠ½ΠΎ ΠΈΠ»ΠΈ ΠΎΡ‡ΠΈΠ³Π»Π΅Π΄Π½ΠΎ ΠΎΠ²Π΄Π΅, Π½ΠΎ Ρ‚ΠΎΠ° Π΅ Π΅Π΄Π΅Π½ ΠΎΠ΄ ΠΌΠΎΠΈΡ‚Π΅ ΠΊΠ»ΡƒΡ‡Π½ΠΈ ΠΌΠΎΠΌΠ΅Π½Ρ‚ΠΈ, ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π° ΠΎΠ±Π»Π°ΠΊ ΠΈΠ³Ρ€ΠΈΡ‚Π΅ Π΄Π° останат ΡˆΡ‚ΠΎ ΠΏΠΎΠ΄Π°Π»Π΅ΠΊΡƒ ΠΎΠ΄ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π°Π»Π½ΠΈΡ‚Π΅ услуги Π·Π° стриминг. Ако сС фокусирамС Π½Π° ΠΈΠ³Ρ€Π° Π·Π° Π΅Π΄Π΅Π½ ΠΈΠ³Ρ€Π°Ρ‡, ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° сС ослободимС ΠΎΠ΄ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½ сСрвСр ΠΈΠ»ΠΈ CDN Π·Π°Ρ‚ΠΎΠ° ΡˆΡ‚ΠΎ Π½Π΅ ΠΌΠΎΡ€Π°ΠΌΠ΅ Π΄Π° прСнСсувамС Π΄ΠΎ маситС. НамСсто ΠΏΡ€ΠΈΠΊΠ°Ρ‡ΡƒΠ²Π°ΡšΠ΅ Π½Π° прСноси Π½Π° сСрвСр Π·Π° мијалник ΠΈΠ»ΠΈ ΠΏΡ€Π΅Π½Π΅ΡΡƒΠ²Π°ΡšΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ Π½Π° Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½ WebSocket сСрвСр, прСноситС Π½Π° услуги сС доставуваат Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ Π΄ΠΎ корисникот ΠΏΡ€Π΅ΠΊΡƒ peer-to-peer WebRTC ΠΊΠΎΠ½Π΅ΠΊΡ†ΠΈΡ˜Π°.

    2. ΠŸΡ€ΠΎΡ‚ΠΎΠΊ Π½Π° ΠΌΠ΅Π΄ΠΈΡƒΠΌΠΈ со ниска латСнтност
    Π§ΠΈΡ‚Π°Ρ˜ΡœΠΈ Π·Π° Stadia, чСсто Π³Π»Π΅Π΄Π°ΠΌ WebRTC Π΄Π° сС спомСнува Π²ΠΎ Π½Π΅ΠΊΠΎΠΈ написи. Π‘Ρ„Π°Ρ‚ΠΈΠ² Π΄Π΅ΠΊΠ° WebRTC Π΅ ΠΈΠ·Π²ΠΎΠ½Ρ€Π΅Π΄Π½Π° Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΡ˜Π° ΠΈ Π΅ ΡΠΎΠ²Ρ€ΡˆΠ΅Π½Π° Π·Π° ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π° Π²ΠΎ ΠΎΠ±Π»Π°ΠΊ ΠΈΠ³Ρ€ΠΈ. WebRTC Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ кој ΠΈΠΌ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π° Π½Π° Π²Π΅Π±-прСлистувачитС ΠΈ ΠΌΠΎΠ±ΠΈΠ»Π½ΠΈΡ‚Π΅ Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΊΠΎΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π° Π²ΠΎ Ρ€Π΅Π°Π»Π½ΠΎ Π²Ρ€Π΅ΠΌΠ΅ ΠΏΡ€Π΅ΠΊΡƒ СдноставСн API. ΠžΠ±Π΅Π·Π±Π΅Π΄ΡƒΠ²Π° peer-to-peer ΠΏΠΎΠ²Ρ€Π·ΡƒΠ²Π°ΡšΠ΅, ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π°Π½ Π΅ Π·Π° ΠΌΠ΅Π΄ΠΈΡƒΠΌΠΈ ΠΈ ΠΈΠΌΠ° Π²Π³Ρ€Π°Π΄Π΅Π½ΠΈ стандардни ΠΊΠΎΠ΄Π΅Ρ†ΠΈ ΠΊΠ°ΠΊΠΎ VP8 ΠΈ H264.

    Π”Π°Π΄ΠΎΠ² ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ Π½Π° ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° Π½Π°Ρ˜Π΄ΠΎΠ±Ρ€ΠΎΡ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ корисничко искуство ΠΏΡ€Π΅Π΄ ΠΎΠ΄Ρ€ΠΆΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° висококвалитСтна Π³Ρ€Π°Ρ„ΠΈΠΊΠ°. НСкои Π·Π°Π³ΡƒΠ±ΠΈ сС ΠΏΡ€ΠΈΡ„Π°Ρ‚Π»ΠΈΠ²ΠΈ Π²ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΡ‚. Google Stadia ΠΈΠΌΠ° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»Π΅Π½ Ρ‡Π΅ΠΊΠΎΡ€ Π·Π° Π½Π°ΠΌΠ°Π»ΡƒΠ²Π°ΡšΠ΅ Π½Π° Π³ΠΎΠ»Π΅ΠΌΠΈΠ½Π°Ρ‚Π° Π½Π° сликата Π½Π° сСрвСрот, Π° ΠΊΠ°Π΄Ρ€ΠΈΡ‚Π΅ сС Π·Π³ΠΎΠ»Π΅ΠΌΡƒΠ²Π°Π°Ρ‚ Π΄ΠΎ повисок ΠΊΠ²Π°Π»ΠΈΡ‚Π΅Ρ‚ ΠΏΡ€Π΅Π΄ Π΄Π° сС прСнСсат Π½Π° врсницитС.

    3. Дистрибуирана инфраструктура со гСографско Ρ€ΡƒΡ‚ΠΈΡ€Π°ΡšΠ΅
    Π‘Π΅Π· Ρ€Π°Π·Π»ΠΈΠΊΠ° ΠΊΠΎΠ»ΠΊΡƒ сС ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π°Π½ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΡ‚ ΠΈ ΠΊΠΎΠ΄ΠΎΡ‚ Π·Π° ΠΊΠΎΠΌΠΏΡ€Π΅ΡΠΈΡ˜Π°, ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π° Π΅ сСпак ΠΎΠ΄Π»ΡƒΡ‡ΡƒΠ²Π°Ρ‡ΠΊΠΈΠΎΡ‚ Ρ„Π°ΠΊΡ‚ΠΎΡ€ кој Π½Π°Ρ˜ΠΌΠ½ΠΎΠ³Ρƒ придонСсува Π·Π° латСнтноста. АрхитСктурата ΠΌΠΎΡ€Π° Π΄Π° ΠΈΠΌΠ° ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·Π°ΠΌ Π·Π° ΡΠΏΠ°Ρ€ΡƒΠ²Π°ΡšΠ΅ Π½Π° сСрвСрот Π½Π°Ρ˜Π±Π»ΠΈΡΠΊΡƒ Π΄ΠΎ корисникот Π·Π° Π΄Π° сС Π½Π°ΠΌΠ°Π»ΠΈ Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π·Π° ΠΏΠΎΠ²Ρ€Π°Ρ‚Π΅Π½ ΠΏΠ°Ρ‚ (RTT). АрхитСктурата ΠΌΠΎΡ€Π° Π΄Π° ΠΈΠΌΠ° 1 ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ΠΎΡ€ ΠΈ Π½Π΅ΠΊΠΎΠ»ΠΊΡƒ сСрвСри Π·Π° стриминг дистрибуирани Π½ΠΈΠ· Ρ†Π΅Π»ΠΈΠΎΡ‚ свСт: БАД Π—Π°ΠΏΠ°Π΄, БАД Π˜ΡΡ‚ΠΎΠΊ, Π•Π²Ρ€ΠΎΠΏΠ°, Π‘ΠΈΠ½Π³Π°ΠΏΡƒΡ€, Кина. Π‘ΠΈΡ‚Π΅ сСрвСри Π·Π° стриминг ΠΌΠΎΡ€Π° Π΄Π° Π±ΠΈΠ΄Π°Ρ‚ цСлосно ΠΈΠ·ΠΎΠ»ΠΈΡ€Π°Π½ΠΈ. БистСмот ΠΌΠΎΠΆΠ΅ Π΄Π° ја ΠΏΡ€ΠΈΠ»Π°Π³ΠΎΠ΄ΠΈ ΡΠ²ΠΎΡ˜Π°Ρ‚Π° Π΄ΠΈΡΡ‚Ρ€ΠΈΠ±ΡƒΡ†ΠΈΡ˜Π° ΠΊΠΎΠ³Π° сСрвСрот сС ΠΏΡ€ΠΈΠΊΠ»ΡƒΡ‡ΡƒΠ²Π° ΠΈΠ»ΠΈ ја Π½Π°ΠΏΡƒΡˆΡ‚Π° ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π°. Π’Π°ΠΊΠ°, со Π³ΠΎΠ»Π΅ΠΌ ΡΠΎΠΎΠ±Ρ€Π°ΡœΠ°Ρ˜, Π΄ΠΎΠ΄Π°Π²Π°ΡšΠ΅Ρ‚ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ сСрвСри ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π° Ρ…ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»Π½ΠΎ ΡΠΊΠ°Π»ΠΈΡ€Π°ΡšΠ΅.

    4. ΠšΠΎΠΌΠΏΠ°Ρ‚ΠΈΠ±ΠΈΠ»Π½ΠΎΡΡ‚ со прСлистувачот
    Π˜Π³Ρ€Π°ΡšΠ΅Ρ‚ΠΎ Π²ΠΎ ΠΎΠ±Π»Π°ΠΊ Π΅ Π½Π°Ρ˜Π΄ΠΎΠ±Ρ€ΠΎ ΠΊΠΎΠ³Π° Π±Π°Ρ€Π° Π½Π°Ρ˜ΠΌΠ°Π»ΠΊΡƒ ΠΎΠ΄ корисницитС. Ова Π·Π½Π°Ρ‡ΠΈ Π΄Π΅ΠΊΠ° Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π° сС ΠΈΠ·Π²Ρ€ΡˆΠΈ Π²ΠΎ прСлистувач. ΠŸΡ€Π΅Π»ΠΈΡΡ‚ΡƒΠ²Π°Ρ‡ΠΈΡ‚Π΅ ΠΈΠΌ ΠΏΠΎΠΌΠ°Π³Π°Π°Ρ‚ Π½Π° корисницитС Π΄Π° Π³ΠΎ Π½Π°ΠΏΡ€Π°Π²Π°Ρ‚ искуството со ΠΈΠ³Ρ€ΠΈ ΡˆΡ‚ΠΎ Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡƒΠ΄ΠΎΠ±Π½ΠΎ, Π·Π°ΡˆΡ‚Π΅Π΄ΡƒΠ²Π°Ρ˜ΡœΠΈ Π³ΠΈ ΠΎΠ΄ ΠΈΠ½ΡΡ‚Π°Π»ΠΈΡ€Π°ΡšΠ΅ софтвСр ΠΈ Ρ…Π°Ρ€Π΄Π²Π΅Ρ€. ΠŸΡ€Π΅Π»ΠΈΡΡ‚ΡƒΠ²Π°Ρ‡ΠΈΡ‚Π΅ исто Ρ‚Π°ΠΊΠ° ΠΏΠΎΠΌΠ°Π³Π°Π°Ρ‚ Π΄Π° сС ΠΎΠ±Π΅Π·Π±Π΅Π΄ΠΈ мСѓуплатформска функционалност ΠΏΠΎΠΌΠ΅Ρ“Ρƒ ΠΌΠΎΠ±ΠΈΠ»Π½ΠΈΡ‚Π΅ ΠΈ дСсктоп Π²Π΅Ρ€Π·ΠΈΠΈΡ‚Π΅. Π—Π° ΡΡ€Π΅ΡœΠ°, WebRTC Π΅ Π΄ΠΎΠ±Ρ€ΠΎ ΠΏΠΎΠ΄Π΄Ρ€ΠΆΠ°Π½ Π²ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ прСлистувачи.

    5. Јасно ΠΎΠ΄Π²ΠΎΡ˜ΡƒΠ²Π°ΡšΠ΅ Π½Π° ΠΈΠ½Ρ‚Π΅Ρ€Ρ„Π΅Ρ˜ΡΠΎΡ‚ ΠΈ услугата Π½Π° ΠΈΠ³Ρ€Π°Ρ‚Π°
    Ја Π³Π»Π΅Π΄Π°ΠΌ услугата Π·Π° ΠΈΠ³Ρ€ΠΈ Π²ΠΎ ΠΎΠ±Π»Π°ΠΊ ΠΊΠ°ΠΊΠΎ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°. БСкој Ρ‚Ρ€Π΅Π±Π° Π΄Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΠΎΠ²Ρ€Π·Π΅ ΡˆΡ‚ΠΎ Π±ΠΈΠ»ΠΎ Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°. Π‘Π΅Π³Π° сС ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€Π°Π² LibRetro со услугата Π·Π° ΠΎΠ±Π»Π°ΠΊ ΠΈΠ³Ρ€ΠΈ бидСјќи LibRetro Π½ΡƒΠ΄ΠΈ прСкрасСн ΠΈΠ½Ρ‚Π΅Ρ€Ρ„Π΅Ρ˜Ρ Π·Π° Π΅ΠΌΡƒΠ»Π°Ρ‚ΠΎΡ€ Π½Π° ΠΈΠ³Ρ€ΠΈ Π·Π° Ρ€Π΅Ρ‚Ρ€ΠΎ ΠΈΠ³Ρ€ΠΈ ΠΊΠ°ΠΊΠΎ ΡˆΡ‚ΠΎ сС SNES, GBA, PS.

    6. ΠŸΡ€ΠΎΡΡ‚ΠΎΡ€ΠΈΠΈ Π·Π° ΠΌΡƒΠ»Ρ‚ΠΈΠΏΠ»Π΅Π΅Ρ€, ΠΈΠ³Ρ€Π° Π½Π° Π³ΡƒΠΆΠ²Π° ΠΈ Π½Π°Π΄Π²ΠΎΡ€Π΅ΡˆΠ½ΠΎ ΠΏΠΎΠ²Ρ€Π·ΡƒΠ²Π°ΡšΠ΅ (Π΄Π»Π°Π±ΠΎΠΊΠ° врска) со ΠΈΠ³Ρ€Π°Ρ‚Π°
    CloudRetro ΠΏΠΎΠ΄Π΄Ρ€ΠΆΡƒΠ²Π° ΠΌΠ½ΠΎΠ³Ρƒ Π½ΠΎΠ²ΠΈ ΠΈΠ³Ρ€ΠΈ, ΠΊΠ°ΠΊΠΎ ΡˆΡ‚ΠΎ сС CrowdPlay ΠΈ Online Multiplayer Π·Π° Ρ€Π΅Ρ‚Ρ€ΠΎ ΠΈΠ³Ρ€ΠΈ. Ако Π½Π΅ΠΊΠΎΠ»ΠΊΡƒ корисници ΠΎΡ‚Π²ΠΎΡ€Π°Ρ‚ иста Π΄Π»Π°Π±ΠΎΠΊΠ° врска Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΊΠΎΠΌΠΏΡ˜ΡƒΡ‚Π΅Ρ€ΠΈ, Ρ‚ΠΈΠ΅ ќС ја Π²ΠΈΠ΄Π°Ρ‚ истата ΠΈΠ³Ρ€Π° ΡˆΡ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚ΠΈ, ΠΏΠ° Π΄ΡƒΡ€ΠΈ ΠΈ ќС ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈ сС ΠΏΡ€ΠΈΠ΄Ρ€ΡƒΠΆΠ°Ρ‚.

    ΠŸΠΎΠΊΡ€Π°Ρ˜ Ρ‚ΠΎΠ°, ΡΠΎΡΡ‚ΠΎΡ˜Π±ΠΈΡ‚Π΅ Π½Π° ΠΈΠ³Ρ€Π°Ρ‚Π° сС Π·Π°Ρ‡ΡƒΠ²ΡƒΠ²Π°Π°Ρ‚ Π²ΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡ€Π°ΡšΠ΅ Π½Π° ΠΎΠ±Π»Π°ΠΊ. Ова ΠΈΠΌ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π° Π½Π° корисницитС Π΄Π° ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ‚ Π΄Π° ΠΈΠ³Ρ€Π°Π°Ρ‚ Π²ΠΎ сСкоС Π²Ρ€Π΅ΠΌΠ΅ Π½Π° кој Π±ΠΈΠ»ΠΎ Π΄Ρ€ΡƒΠ³ ΡƒΡ€Π΅Π΄.

    7. Π₯ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»Π½ΠΎ ΡΠΊΠ°Π»ΠΈΡ€Π°ΡšΠ΅
    Како ΠΈ сСкој SAAS Π²ΠΎ дСнСшно Π²Ρ€Π΅ΠΌΠ΅, ΠΈΠ³Ρ€ΠΈΡ‚Π΅ Π²ΠΎ ΠΎΠ±Π»Π°ΠΊ ΠΌΠΎΡ€Π° Π΄Π° Π±ΠΈΠ΄Π°Ρ‚ Π΄ΠΈΠ·Π°Ρ˜Π½ΠΈΡ€Π°Π½ΠΈ Π΄Π° Π±ΠΈΠ΄Π°Ρ‚ Ρ…ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»Π½ΠΎ скалабилни. Π”ΠΈΠ·Π°Ρ˜Π½ΠΎΡ‚ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ΠΎΡ€-Ρ€Π°Π±ΠΎΡ‚Π½ΠΈΠΊ Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π° Π΄Π° Π΄ΠΎΠ΄Π°Π΄Π΅Ρ‚Π΅ повСќС Ρ€Π°Π±ΠΎΡ‚Π½ΠΈΡ†ΠΈ Π·Π° Π΄Π° опслуТуватС ΠΏΠΎΠ³ΠΎΠ»Π΅ΠΌ ΡΠΎΠΎΠ±Ρ€Π°ΡœΠ°Ρ˜.

    8. НСма врска со Π΅Π΄Π΅Π½ ΠΎΠ±Π»Π°ΠΊ
    Π˜Π½Ρ„Ρ€Π°ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π°Ρ‚Π° Π½Π° CloudRetro Π΅ хостирана Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π΄Π°Π²Π°Ρ‚Π΅Π»ΠΈ Π½Π° ΠΎΠ±Π»Π°ΠΊ (Digital Ocean, Alibaba, ΠΏΡ€ΠΈΠ»Π°Π³ΠΎΠ΄Π΅Π½ ΠΏΡ€ΠΎΠ²Π°Ρ˜Π΄Π΅Ρ€) Π·Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Ρ€Π΅Π³ΠΈΠΎΠ½ΠΈ. ΠžΠ²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π°ΠΌ Ρ€Π°Π±ΠΎΡ‚Π° Π²ΠΎ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ Π½Π° Docker Π·Π° инфраструктурата ΠΈ Π³ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°ΠΌ ΠΌΡ€Π΅ΠΆΠ½ΠΈΡ‚Π΅ поставки ΠΊΠΎΡ€ΠΈΡΡ‚Π΅Ρ˜ΡœΠΈ баш скрипта Π·Π° Π΄Π° ΠΈΠ·Π±Π΅Ρ€Π°ΠΌ Π΄Π° Π±ΠΈΠ΄Π°ΠΌ Π·Π°ΠΊΠ»ΡƒΡ‡Π΅Π½ Π²ΠΎ Π΅Π΄Π΅Π½ ΠΏΡ€ΠΎΠ²Π°Ρ˜Π΄Π΅Ρ€ Π½Π° ΠΎΠ±Π»Π°ΠΊ. Π‘ΠΎ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€Π°ΡšΠ΅ Π½Π° ΠΎΠ²Π° со NAT Traversal Π²ΠΎ WebRTC, ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° ΠΈΠΌΠ°ΠΌΠ΅ флСксибилност Π΄Π° Π³ΠΎ распорСдимС CloudRetro Π½Π° која Π±ΠΈΠ»ΠΎ ΠΎΠ±Π»Π°ΠΊ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°, ΠΏΠ° Π΄ΡƒΡ€ΠΈ ΠΈ Π½Π° ΠΌΠ°ΡˆΠΈΠ½ΠΈΡ‚Π΅ Π½Π° сСкој корисник.

    АрхитСктонски дизајн

    Π Π°Π±ΠΎΡ‚Π½ΠΈΠΊ: (ΠΈΠ»ΠΈ сСрвСрот Π·Π° стриминг спомСнат ΠΏΠΎΠ³ΠΎΡ€Π΅) Π³ΠΈ ΠΌΠ½ΠΎΠΆΠΈ ΠΈΠ³Ρ€ΠΈΡ‚Π΅, ја Π²ΠΎΠ΄ΠΈ Π»ΠΈΠ½ΠΈΡ˜Π°Ρ‚Π° Π·Π° ΠΊΠΎΠ΄ΠΈΡ€Π°ΡšΠ΅ ΠΈ Π³ΠΈ прСнСсува ΡˆΠΈΡ„Ρ€ΠΈΡ€Π°Π½ΠΈΡ‚Π΅ ΠΌΠ΅Π΄ΠΈΡƒΠΌΠΈ Π΄ΠΎ корисницитС. Π Π°Π±ΠΎΡ‚Π½ΠΈΡ‡ΠΊΠΈΡ‚Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΡ†ΠΈ сС дистрибуираат Π½ΠΈΠ· Ρ†Π΅Π»ΠΈΠΎΡ‚ свСт ΠΈ сСкој Ρ€Π°Π±ΠΎΡ‚Π½ΠΈΠΊ ΠΌΠΎΠΆΠ΅ Π΄Π° сС справи со повСќС кориснички сСсии истоврСмСно.

    ΠšΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ΠΎΡ€: Π΅ ΠΎΠ΄Π³ΠΎΠ²ΠΎΡ€Π΅Π½ Π·Π° ΡΠΏΠ°Ρ€ΡƒΠ²Π°ΡšΠ΅ Π½Π° Π½ΠΎΠ²ΠΈΠΎΡ‚ корисник со Π½Π°Ρ˜ΡΠΎΠΎΠ΄Π²Π΅Ρ‚Π½ΠΈΠΎΡ‚ Ρ€Π°Π±ΠΎΡ‚Π½ΠΈΠΊ Π·Π° прСнос. ΠšΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ΠΎΡ€ΠΎΡ‚ ΠΊΠΎΠΌΡƒΠ½ΠΈΡ†ΠΈΡ€Π° со Ρ€Π°Π±ΠΎΡ‚Π½ΠΈΡ†ΠΈΡ‚Π΅ ΠΏΡ€Π΅ΠΊΡƒ WebSocket.

    Π‘ΠΊΠ»Π°Π΄ΠΈΡ€Π°ΡšΠ΅ Π½Π° ΡΠΎΡΡ‚ΠΎΡ˜Π±Π°Ρ‚Π° Π½Π° ΠΈΠ³Ρ€Π°Ρ‚Π°: Ρ†Π΅Π½Ρ‚Ρ€Π°Π»Π½ΠΎ далСчинско ΡΠΊΠ»Π°Π΄ΠΈΡ€Π°ΡšΠ΅ Π·Π° ситС ΡΠΎΡΡ‚ΠΎΡ˜Π±ΠΈ Π½Π° ΠΈΠ³Ρ€Π°Ρ‚Π°. Ова ΡΠΊΠ»Π°Π΄ΠΈΡ€Π°ΡšΠ΅ ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡƒΠ²Π° Π²Π°ΠΆΠ½ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΊΠ°ΠΊΠΎ далСчинско Π·Π°Ρ‡ΡƒΠ²ΡƒΠ²Π°ΡšΠ΅/Π²Ρ‡ΠΈΡ‚ΡƒΠ²Π°ΡšΠ΅.

    Облак ΠΈΠ³Ρ€ΠΈ со ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄ Π½Π° WebRTC: p2p, ΠΌΡƒΠ»Ρ‚ΠΈΠΏΠ»Π΅Π΅Ρ€, Π½ΡƒΠ»Π° латСнтност
    АрхитСктура Π½Π° највисоко Π½ΠΈΠ²ΠΎ Π½Π° CloudRetro

    ΠŸΡ€ΠΈΠ»Π°Π³ΠΎΠ΄Π΅Π½Π° скрипта

    Кога Π½ΠΎΠ² корисник ќС Π³ΠΎ ΠΎΡ‚Π²ΠΎΡ€ΠΈ CloudRetro Π²ΠΎ Ρ‡Π΅ΠΊΠΎΡ€ΠΈΡ‚Π΅ 1 ΠΈ 2 ΠΏΡ€ΠΈΠΊΠ°ΠΆΠ°Π½ΠΈ Π½Π° сликата ΠΏΠΎΠ΄ΠΎΠ»Ρƒ, ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ΠΎΡ€ΠΎΡ‚ Π·Π°Π΅Π΄Π½ΠΎ со списокот Π½Π° достапни Ρ€Π°Π±ΠΎΡ‚Π½ΠΈΡ†ΠΈ сС Π±Π°Ρ€Π° Π½Π° ΠΏΡ€Π²Π°Ρ‚Π° страница. По ΠΎΠ²Π°, Π²ΠΎ Ρ‡Π΅ΠΊΠΎΡ€ 3 ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΡ‚ Π³ΠΈ прСсмСтува Π΄ΠΎΡ†Π½Π΅ΡšΠ°Ρ‚Π° Π·Π° ситС ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚ΠΈ ΠΊΠΎΡ€ΠΈΡΡ‚Π΅Ρ˜ΡœΠΈ Π±Π°Ρ€Π°ΡšΠ΅ Π·Π° ΠΏΠΈΠ½Π³ HTTP. Оваа листа Π½Π° ΠΎΠ΄Π»ΠΎΠΆΡƒΠ²Π°ΡšΠ° ΠΏΠΎΡ‚ΠΎΠ° сС ΠΈΡΠΏΡ€Π°ΡœΠ° Π½Π°Π·Π°Π΄ Π΄ΠΎ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ΠΎΡ€ΠΎΡ‚ Π·Π° Π΄Π° ΠΌΠΎΠΆΠ΅ Π΄Π° Π³ΠΎ ΠΎΠ΄Ρ€Π΅Π΄ΠΈ Π½Π°Ρ˜ΡΠΎΠΎΠ΄Π²Π΅Ρ‚Π½ΠΈΠΎΡ‚ Ρ€Π°Π±ΠΎΡ‚Π½ΠΈΠΊ Π·Π° Π΄Π° ΠΌΡƒ слуТи Π½Π° корисникот. Π§Π΅ΠΊΠΎΡ€ 4 ΠΏΠΎΠ΄ΠΎΠ»Ρƒ ја ΠΊΡ€Π΅ΠΈΡ€Π° ΠΈΠ³Ρ€Π°Ρ‚Π°. ΠŸΠΎΠΌΠ΅Ρ“Ρƒ корисникот ΠΈ Π΄ΠΎΠ΄Π΅Π»Π΅Π½ΠΈΠΎΡ‚ Ρ€Π°Π±ΠΎΡ‚Π½ΠΈΠΊ Π΅ воспоставСна врска Π·Π° стриминг WebRTC.
    Облак ΠΈΠ³Ρ€ΠΈ со ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄ Π½Π° WebRTC: p2p, ΠΌΡƒΠ»Ρ‚ΠΈΠΏΠ»Π΅Π΅Ρ€, Π½ΡƒΠ»Π° латСнтност
    ΠšΠΎΡ€ΠΈΡΠ½ΠΈΡ‡ΠΊΠ° скрипта ΠΏΠΎ Π΄ΠΎΠ±ΠΈΠ²Π°ΡšΠ΅Ρ‚ΠΎ пристап

    Π¨Ρ‚ΠΎ ΠΈΠΌΠ° Π²Π½Π°Ρ‚Ρ€Π΅ Π²ΠΎ Ρ€Π°Π±ΠΎΡ‚Π½ΠΈΠΊΠΎΡ‚

    НафтоводитС Π·Π° ΠΈΠ³Ρ€ΠΈ ΠΈ стриминг сС Ρ‡ΡƒΠ²Π°Π°Ρ‚ Π²ΠΎ Ρ€Π°Π±ΠΎΡ‚Π½ΠΈΠΊΠΎΡ‚ ΠΈΠ·ΠΎΠ»ΠΈΡ€Π°Π½ΠΎ ΠΈ Ρ€Π°Π·ΠΌΠ΅Π½ΡƒΠ²Π°Π°Ρ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Ρ‚Π°ΠΌΡƒ ΠΏΡ€Π΅ΠΊΡƒ ΠΈΠ½Ρ‚Π΅Ρ€Ρ„Π΅Ρ˜ΡΠΎΡ‚. Π’ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚ΠΎΠ², ΠΎΠ²Π°Π° ΠΊΠΎΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π° сС Π²Ρ€ΡˆΠΈ со прСнос Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ Π²ΠΎ ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜Π°Ρ‚Π° ΠΏΡ€Π΅ΠΊΡƒ Π“ΠΎΠ»Π°Π½Π³ ΠΊΠ°Π½Π°Π»ΠΈ Π²ΠΎ истиот процСс. Π‘Π»Π΅Π΄Π½Π° Ρ†Π΅Π» Π΅ ΡΠ΅Π³Ρ€Π΅Π³Π°Ρ†ΠΈΡ˜Π°, Ρ‚.Π΅. нСзависно Π»Π°Π½ΡΠΈΡ€Π°ΡšΠ΅ Π½Π° ΠΈΠ³Ρ€Π°Ρ‚Π° Π²ΠΎ Π΄Ρ€ΡƒΠ³ процСс.

    Облак ΠΈΠ³Ρ€ΠΈ со ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄ Π½Π° WebRTC: p2p, ΠΌΡƒΠ»Ρ‚ΠΈΠΏΠ»Π΅Π΅Ρ€, Π½ΡƒΠ»Π° латСнтност
    Π˜Π½Ρ‚Π΅Ρ€Π°ΠΊΡ†ΠΈΡ˜Π° Π½Π° Ρ€Π°Π±ΠΎΡ‚Π½ΠΈΡ‡ΠΊΠΈΡ‚Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ

    Π“Π»Π°Π²Π½ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ:

    • WebRTC: клиСнтска ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° која ΠΏΡ€ΠΈΡ„Π°ΡœΠ° кориснички Π²Π»Π΅Π· ΠΈ ΠΈΠ·Π»Π΅Π³ΡƒΠ²Π° ΠΊΠΎΠ΄ΠΈΡ€Π°Π½ΠΈ ΠΌΠ΅Π΄ΠΈΡƒΠΌΠΈ ΠΎΠ΄ сСрвСрот.
    • Π•ΠΌΡƒΠ»Π°Ρ‚ΠΎΡ€ Π·Π° ΠΈΠ³Ρ€ΠΈ: ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° Π½Π° ΠΈΠ³Ρ€Π°Ρ‚Π°. Π‘Π»Π°Π³ΠΎΠ΄Π°Ρ€Π΅Π½ΠΈΠ΅ Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° Libretro, систСмот ΠΌΠΎΠΆΠ΅ Π΄Π° ја Π²ΠΎΠ΄ΠΈ ΠΈΠ³Ρ€Π°Ρ‚Π° Π²ΠΎ истиот процСс ΠΈ Π²Π½Π°Ρ‚Ρ€Π΅ΡˆΠ½ΠΎ Π΄Π° Π³ΠΈ прСсрСтнува ΠΌΠ΅Π΄ΠΈΡƒΠΌΠΈΡ‚Π΅ ΠΈ Π²Π»Π΅Π·Π½ΠΈΠΎΡ‚ ΠΏΠΎΡ‚ΠΎΠΊ.
    • Π Π°ΠΌΠΊΠΈΡ‚Π΅ Π²ΠΎ ΠΈΠ³Ρ€Π°Ρ‚Π° сС снимаат ΠΈ сС ΠΈΡΠΏΡ€Π°ΡœΠ°Π°Ρ‚ Π΄ΠΎ Π΅Π½ΠΊΠΎΠ΄Π΅Ρ€ΠΎΡ‚.
    • ΠšΠΎΠ΄Π΅Ρ€ Π·Π° слика/Π°ΡƒΠ΄ΠΈΠΎ: Ρ†Π΅Π²ΠΊΠΎΠ²ΠΎΠ΄ Π·Π° ΠΊΠΎΠ΄ΠΈΡ€Π°ΡšΠ΅ ΡˆΡ‚ΠΎ Π·Π΅ΠΌΠ° мСдиумски Ρ€Π°ΠΌΠΊΠΈ, Π³ΠΈ ΠΊΠΎΠ΄ΠΈΡ€Π° Π²ΠΎ ΠΏΠΎΠ·Π°Π΄ΠΈΠ½Π° ΠΈ ΠΈΠ·Π»Π΅Π³ΡƒΠ²Π° ΠΊΠΎΠ΄ΠΈΡ€Π°Π½ΠΈ слики/Π°ΡƒΠ΄ΠΈΠΎ.

    РСализация

    CloudRetro сС ΠΏΠΎΡ‚ΠΏΠΈΡ€Π° Π½Π° WebRTC ΠΊΠ°ΠΊΠΎ нСјзина Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΡ˜Π° Π½Π° 'Ρ€Π±Π΅Ρ‚ΠΎΡ‚, ΠΏΠ° ΠΏΡ€Π΅Π΄ Π΄Π° сС Ρ„Ρ€Π»Π°ΠΌ Π²ΠΎ Π΄Π΅Ρ‚Π°Π»ΠΈΡ‚Π΅ Π·Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜Π°Ρ‚Π° Π½Π° Golang, Ρ€Π΅ΡˆΠΈΠ² Π΄Π° Π·Π±ΠΎΡ€ΡƒΠ²Π°ΠΌ Π·Π° самиот WebRTC. Ова Π΅ Π½Π΅Π²Π΅Ρ€ΠΎΡ˜Π°Ρ‚Π½Π° Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΡ˜Π° која ΠΌΠ½ΠΎΠ³Ρƒ ΠΌΠΈ ΠΏΠΎΠΌΠΎΠ³Π½Π° Π΄Π° постигнам Π΄ΠΎΡ†Π½Π΅ΡšΠ΅ Π²ΠΎ сСкунда Π·Π° прСнос Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ.

    WebRTC

    WebRTC Π΅ Π΄ΠΈΠ·Π°Ρ˜Π½ΠΈΡ€Π°Π½ Π΄Π° ΠΎΠ±Π΅Π·Π±Π΅Π΄ΠΈ висококвалитСтни peer-to-peer врски Π½Π° Π΄ΠΎΠΌΠ°ΡˆΠ½ΠΈΡ‚Π΅ ΠΌΠΎΠ±ΠΈΠ»Π½ΠΈ Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈ прСлистувачи ΠΊΠΎΡ€ΠΈΡΡ‚Π΅Ρ˜ΡœΠΈ Сдноставни API.

    NAT Traversal

    WebRTC Π΅ ΠΏΠΎΠ·Π½Π°Ρ‚ ΠΏΠΎ ΡΠ²ΠΎΡ˜Π°Ρ‚Π° NAT Traversal функционалност. WebRTC Π΅ Π΄ΠΈΠ·Π°Ρ˜Π½ΠΈΡ€Π°Π½ Π·Π° peer-to-peer ΠΊΠΎΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°. НСговата Ρ†Π΅Π» Π΅ Π΄Π° ја најдС Π½Π°Ρ˜ΡΠΎΠΎΠ΄Π²Π΅Ρ‚Π½Π°Ρ‚Π° Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½Π° Ρ€ΡƒΡ‚Π°, ΠΈΠ·Π±Π΅Π³Π½ΡƒΠ²Π°Ρ˜ΡœΠΈ Π³ΠΈ NAT ΠΏΠΎΡ€Ρ‚ΠΈΡ‚Π΅ ΠΈ Π·Π°ΡˆΡ‚ΠΈΡ‚Π½ΠΈΡ‚Π΅ Ρ•ΠΈΠ΄ΠΎΠ²ΠΈ Π·Π° peer-to-peer ΠΊΠΎΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π° ΠΏΡ€Π΅ΠΊΡƒ процСс Ρ‚.Π½. ICE. Како Π΄Π΅Π» ΠΎΠ΄ овој процСс, WebRTC API-ΠΈΡ‚Π΅ ја Π½Π°ΠΎΡ“Π°Π°Ρ‚ Π²Π°ΡˆΠ°Ρ‚Π° јавна IP адрСса ΠΊΠΎΡ€ΠΈΡΡ‚Π΅Ρ˜ΡœΠΈ STUN сСрвСри ΠΈ ја прослСдуваат Π΄ΠΎ Ρ€Π΅Π»Π΅Ρ˜Π½ΠΈΠΎΡ‚ сСрвСр (Π’Π Π•ΠœΠ•) ΠΊΠΎΠ³Π° Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° сС воспостави Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½Π° врска.

    Π‘Π΅ΠΏΠ°ΠΊ, CloudRetro Π½Π΅ ја искористува цСлосно ΠΎΠ²Π°Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π°. НСговитС peer-to-peer врски Π½Π΅ ΠΏΠΎΡΡ‚ΠΎΡ˜Π°Ρ‚ ΠΏΠΎΠΌΠ΅Ρ“Ρƒ корисницитС, Ρ‚ΡƒΠΊΡƒ ΠΏΠΎΠΌΠ΅Ρ“Ρƒ корисницитС ΠΈ ΠΎΠ±Π»Π°ΠΊ сСрвСритС. На страната Π½Π° сСрвСрот Π½Π° ΠΌΠΎΠ΄Π΅Π»ΠΎΡ‚ ΠΈΠΌΠ° ΠΏΠΎΠΌΠ°Π»ΠΊΡƒ Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΡƒΠ²Π°ΡšΠ° Π·Π° ΠΊΠΎΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π° ΠΎΠ΄ Ρ‚ΠΈΠΏΠΈΡ‡Π΅Π½ кориснички ΡƒΡ€Π΅Π΄. Ова Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π° ΠΎΠ΄Π½Π°ΠΏΡ€Π΅Π΄ Π΄Π° Π³ΠΈ ΠΎΡ‚Π²ΠΎΡ€ΠΈΡ‚Π΅ Π΄ΠΎΡ˜Π΄ΠΎΠ²Π½ΠΈΡ‚Π΅ ΠΏΠΎΡ€Ρ‚ΠΈ ΠΈΠ»ΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ Π΄Π° Π³ΠΈ користитС Ρ˜Π°Π²Π½ΠΈΡ‚Π΅ IP адрСси, бидСјќи сСрвСрот Π½Π΅ стои Π·Π°Π΄ NAT.

    ΠŸΡ€Π΅Ρ‚Ρ…ΠΎΠ΄Π½ΠΎ, сакав Π΄Π° Π³ΠΎ ΠΏΡ€Π΅Ρ‚Π²ΠΎΡ€Π°ΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΡ‚ Π²ΠΎ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Π·Π° Π΄ΠΈΡΡ‚Ρ€ΠΈΠ±ΡƒΡ†ΠΈΡ˜Π° Π½Π° ΠΈΠ³Ρ€ΠΈ Π·Π° Cloud Gaming. Π˜Π΄Π΅Ρ˜Π°Ρ‚Π° бСшС Π΄Π° ΠΈΠΌ сС Π΄ΠΎΠ·Π²ΠΎΠ»ΠΈ Π½Π° ΠΊΡ€Π΅Π°Ρ‚ΠΎΡ€ΠΈΡ‚Π΅ Π½Π° ΠΈΠ³Ρ€ΠΈ Π΄Π° ΠΎΠ±Π΅Π·Π±Π΅Π΄Π°Ρ‚ ΠΈΠ³Ρ€ΠΈ ΠΈ рСсурси Π·Π° стриминг. И корисницитС Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ Π±ΠΈ ΠΊΠΎΠΌΡƒΠ½ΠΈΡ†ΠΈΡ€Π°Π»Π΅ со ΠΏΡ€ΠΎΠ²Π°Ρ˜Π΄Π΅Ρ€ΠΈΡ‚Π΅. На овој Π΄Π΅Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½ Π½Π°Ρ‡ΠΈΠ½, CloudRetro Π΅ само Ρ€Π°ΠΌΠΊΠ° Π·Π° ΠΏΠΎΠ²Ρ€Π·ΡƒΠ²Π°ΡšΠ΅ Π½Π° рСсурситС Π·Π° стриминг ΠΎΠ΄ Ρ‚Ρ€Π΅Ρ‚ΠΈ страни со корисницитС, ΡˆΡ‚ΠΎ Π³ΠΎ ΠΏΡ€Π°Π²ΠΈ поскалабилСн ΠΊΠΎΠ³Π° вСќС Π½Π΅ Π΅ хостиран. Π£Π»ΠΎΠ³Π°Ρ‚Π° Π½Π° WebRTC NAT Traversal ΠΎΠ²Π΄Π΅ Π΅ ΠΌΠ½ΠΎΠ³Ρƒ Π²Π°ΠΆΠ½Π° Π·Π° Π΄Π° сС олСсни ΠΈΠ½ΠΈΡ†ΠΈΡ˜Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡ˜Π°Ρ‚Π° Π½Π° peer-to-peer ΠΊΠΎΠ½Π΅ΠΊΡ†ΠΈΡ˜Π° Π½Π° рСсурситС Π·Π° стриминг ΠΎΠ΄ Ρ‚Ρ€Π΅Ρ‚Π° страна, ΡˆΡ‚ΠΎ Π³ΠΎ олСснува ΠΏΠΎΠ²Ρ€Π·ΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° ΠΊΡ€Π΅Π°Ρ‚ΠΎΡ€ΠΎΡ‚ Π½Π° ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π°.

    Π’ΠΈΠ΄Π΅ΠΎ ΠΊΠΎΠΌΠΏΡ€Π΅ΡΠΈΡ˜Π°

    Π’ΠΈΠ΄Π΅ΠΎ ΠΊΠΎΠΌΠΏΡ€Π΅ΡΠΈΡ˜Π°Ρ‚Π° Π΅ Π½Π΅Π·Π°ΠΌΠ΅Π½Π»ΠΈΠ² Π΄Π΅Π» ΠΎΠ΄ Ρ†Π΅Π²ΠΊΠΎΠ²ΠΎΠ΄ΠΎΡ‚ ΠΈ Π²ΠΎ Π³ΠΎΠ»Π΅ΠΌΠ° ΠΌΠ΅Ρ€Π° придонСсува Π·Π° Π½Π΅ΠΏΡ€Π΅Ρ‡Π΅Π½ ΠΏΡ€ΠΎΡ‚ΠΎΠΊ. Иако Π½Π΅ Π΅ Π½Π΅ΠΎΠΏΡ…ΠΎΠ΄Π½ΠΎ Π΄Π° сС Π·Π½Π°Π΅ сСкој Π΄Π΅Ρ‚Π°Π» ΠΎΠ΄ ΠΊΠΎΠ΄ΠΈΡ€Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° Π²ΠΈΠ΄Π΅ΠΎΡ‚ΠΎ VP8/H264, Ρ€Π°Π·Π±ΠΈΡ€Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ‚ΠΈΡ‚Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Π²ΠΈ ΠΏΠΎΠΌΠΎΠ³Π½Π΅ Π΄Π° Π³ΠΈ Ρ€Π°Π·Π±Π΅Ρ€Π΅Ρ‚Π΅ ΠΎΠΏΡ†ΠΈΠΈΡ‚Π΅ Π·Π° Π±Ρ€Π·ΠΈΠ½Π° Π½Π° стриминг Π²ΠΈΠ΄Π΅ΠΎ, Π΄Π° Π΄Π΅Π±Π°Π³ΠΈΡ€Π°Ρ‚Π΅ Π½Π΅ΠΎΡ‡Π΅ΠΊΡƒΠ²Π°Π½ΠΎ ΠΎΠ΄Π½Π΅ΡΡƒΠ²Π°ΡšΠ΅ ΠΈ Π΄Π° ја ΠΏΡ€ΠΈΠ»Π°Π³ΠΎΠ΄ΠΈΡ‚Π΅ латСнтноста.

    ΠšΠΎΠΌΠΏΡ€Π΅ΡΠΈΡ€Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° Π²ΠΈΠ΄Π΅ΠΎΡ‚ΠΎ Π·Π° услуга Π·Π° стриминг Π΅ ΠΏΡ€Π΅Π΄ΠΈΠ·Π²ΠΈΠΊ бидСјќи Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΡ‚ ΠΌΠΎΡ€Π° Π΄Π° осигура Π΄Π΅ΠΊΠ° Π²ΠΊΡƒΠΏΠ½ΠΎΡ‚ΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° ΠΊΠΎΠ΄ΠΈΡ€Π°ΡšΠ΅ + Π²Ρ€Π΅ΠΌΠ΅ Π½Π° прСнос Π½Π° ΠΌΡ€Π΅ΠΆΠ° + Π²Ρ€Π΅ΠΌΠ΅ Π½Π° Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€Π°ΡšΠ΅ Π΅ ΡˆΡ‚ΠΎ Π΅ ΠΌΠΎΠΆΠ½ΠΎ пониско. ΠŸΠΎΠΊΡ€Π°Ρ˜ Ρ‚ΠΎΠ°, процСсот Π½Π° ΠΊΠΎΠ΄ΠΈΡ€Π°ΡšΠ΅ ΠΌΠΎΡ€Π° Π΄Π° Π±ΠΈΠ΄Π΅ конзистСнтСн ΠΈ ΠΊΠΎΠ½Ρ‚ΠΈΠ½ΡƒΠΈΡ€Π°Π½. НСкои компромиси Π·Π° ΠΊΠΎΠ΄ΠΈΡ€Π°ΡšΠ΅ Π½Π΅ сС ΠΏΡ€ΠΈΠΌΠ΅Π½ΡƒΠ²Π°Π°Ρ‚ - Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° Π³ΠΈ Ρ„Π°Π²ΠΎΡ€ΠΈΠ·ΠΈΡ€Π°ΠΌΠ΅ Π΄ΠΎΠ»Π³ΠΈΡ‚Π΅ Π²Ρ€Π΅ΠΌΠΈΡšΠ° Π½Π° ΠΊΠΎΠ΄ΠΈΡ€Π°ΡšΠ΅ ΠΏΡ€Π΅Π΄ ΠΏΠΎΠΌΠ°Π»ΠΈΡ‚Π΅ Π³ΠΎΠ»Π΅ΠΌΠΈΠ½ΠΈ Π½Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ ΠΈ Π²Ρ€Π΅ΠΌΠΈΡšΠ°Ρ‚Π° Π½Π° Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€Π°ΡšΠ΅ ΠΈΠ»ΠΈ Π΄Π° користимС нСконзистСнтна ΠΊΠΎΠΌΠΏΡ€Π΅ΡΠΈΡ˜Π°.

    Π˜Π΄Π΅Ρ˜Π°Ρ‚Π° Π·Π°Π΄ ΠΊΠΎΠΌΠΏΡ€Π΅ΡΠΈΡ˜Π° Π½Π° Π²ΠΈΠ΄Π΅ΠΎΡ‚ΠΎ Π΅ Π΄Π° сС Π΅Π»ΠΈΠΌΠΈΠ½ΠΈΡ€Π°Π°Ρ‚ Π½Π΅ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΈΡ‚Π΅ Π΄Π΅Π»ΠΎΠ²ΠΈ ΠΎΠ΄ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π΄ΠΎΠ΄Π΅ΠΊΠ° сС ΠΎΠ΄Ρ€ΠΆΡƒΠ²Π° ΠΏΡ€ΠΈΡ„Π°Ρ‚Π»ΠΈΠ²ΠΎ Π½ΠΈΠ²ΠΎ Π½Π° точност Π·Π° корисницитС. ΠŸΠΎΠΊΡ€Π°Ρ˜ ΠΊΠΎΠ΄ΠΈΡ€Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° ΠΏΠΎΠ΅Π΄ΠΈΠ½Π΅Ρ‡Π½ΠΈ статични Ρ€Π°ΠΌΠΊΠΈ Π½Π° слики, Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΡ‚ ја Π·Π°ΠΊΠ»ΡƒΡ‡ΡƒΠ²Π° Ρ‚Π΅ΠΊΠΎΠ²Π½Π°Ρ‚Π° Ρ€Π°ΠΌΠΊΠ° ΠΎΠ΄ ΠΏΡ€Π΅Ρ‚Ρ…ΠΎΠ΄Π½Π°Ρ‚Π° ΠΈ слСдната, Ρ‚Π°ΠΊΠ° ΡˆΡ‚ΠΎ сС ΠΈΡΠΏΡ€Π°ΡœΠ° само Π½ΠΈΠ²Π½Π°Ρ‚Π° Ρ€Π°Π·Π»ΠΈΠΊΠ°. Како ΡˆΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° сС Π²ΠΈΠ΄ΠΈ ΠΎΠ΄ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΡ‚ со Pacman, сС прСнСсуваат само Π΄ΠΈΡ„Π΅Ρ€Π΅Π½Ρ†ΠΈΡ˜Π°Π»Π½ΠΈ Ρ‚ΠΎΡ‡ΠΊΠΈ.

    Облак ΠΈΠ³Ρ€ΠΈ со ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄ Π½Π° WebRTC: p2p, ΠΌΡƒΠ»Ρ‚ΠΈΠΏΠ»Π΅Π΅Ρ€, Π½ΡƒΠ»Π° латСнтност
    Π‘ΠΏΠΎΡ€Π΅Π΄Π±Π° Π½Π° Π²ΠΈΠ΄Π΅ΠΎ Ρ€Π°ΠΌΠΊΠΈ ΠΊΠΎΡ€ΠΈΡΡ‚Π΅Ρ˜ΡœΠΈ Pacman ΠΊΠ°ΠΊΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€

    Аудио ΠΊΠΎΠΌΠΏΡ€Π΅ΡΠΈΡ˜Π°

    Π‘Π»ΠΈΡ‡Π½ΠΎ Π½Π° Ρ‚ΠΎΠ°, Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΡ‚ Π·Π° ΠΊΠΎΠΌΠΏΡ€Π΅ΡΠΈΡ˜Π° Π½Π° Π°ΡƒΠ΄ΠΈΠΎ Π³ΠΈ ΠΈΡΠΏΡƒΡˆΡ‚Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈΡ‚Π΅ ΡˆΡ‚ΠΎ Π»ΡƒΡ“Π΅Ρ‚ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ°Ρ‚ Π΄Π° Π³ΠΈ ΠΏΠ΅Ρ€Ρ†Π΅ΠΏΠΈΡ€Π°Π°Ρ‚. Opus ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°Π»Π½ΠΎ Π΅ Π°ΡƒΠ΄ΠΈΠΎ ΠΊΠΎΠ΄Π΅ΠΊ со Π½Π°Ρ˜Π΄ΠΎΠ±Ρ€ΠΈ пСрформанси. Вој Π΅ Π΄ΠΈΠ·Π°Ρ˜Π½ΠΈΡ€Π°Π½ Π΄Π° прСнСсува Π°ΡƒΠ΄ΠΈΠΎ Π±Ρ€Π°Π½ ΠΏΡ€Π΅ΠΊΡƒ Π½Π°Ρ€Π°Ρ‡Π°Π½ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» Π·Π° Π΄Π°Ρ‚Π°Π³Ρ€Π°ΠΌ ΠΊΠ°ΠΊΠΎ ΡˆΡ‚ΠΎ Π΅ RTP (Real Time Transport Protocol). НСговата латСнтност Π΅ ΠΏΠΎΠΌΠ°Π»Π° ΠΎΠ΄ mp3 ΠΈ aac, Π° ΠΊΠ²Π°Π»ΠΈΡ‚Π΅Ρ‚ΠΎΡ‚ Π΅ повисок. ЛатСнтноста Π΅ ΠΎΠ±ΠΈΡ‡Π½ΠΎ ΠΎΠΊΠΎΠ»Ρƒ 5~66,5ms.

    Pion, WebRTC Π²ΠΎ Π“ΠΎΠ»Π°Π½Π³

    Пион Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ со ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄ кој Π³ΠΎ носи WebRTC Π²ΠΎ Golang. НамСсто Π²ΠΎΠΎΠ±ΠΈΡ‡Π°Π΅Π½ΠΎΡ‚ΠΎ Π·Π°Π²ΠΈΡ‚ΠΊΡƒΠ²Π°ΡšΠ΅ Π½Π° ΠΏΡ€ΠΈΡ€ΠΎΠ΄Π½ΠΈΡ‚Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π½Π° C++ WebRTC, Pion Π΅ домашна Golang ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜Π° Π½Π° WebRTC со ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΠΈ пСрформанси, Go ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ˜Π° ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π° Π½Π° Π²Π΅Ρ€Π·ΠΈΡ˜Π°Ρ‚Π° Π½Π° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΈΡ‚Π΅ WebRTC.

    Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π°, исто Ρ‚Π°ΠΊΠ°, ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π° стриминг со ΠΌΠ½ΠΎΠ³Ρƒ ΠΎΠ΄Π»ΠΈΡ‡Π½ΠΈ Π²Π³Ρ€Π°Π΄Π΅Π½ΠΈ со ΠΏΠΎΠ΄-Π²Ρ‚ΠΎΡ€Π° латСнтност. Има своја ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜Π° Π½Π° STUN, DTLS, SCTP ΠΈΡ‚Π½. ΠΈ Π½Π΅ΠΊΠΎΠΈ СкспСримСнти со QUIC ΠΈ WebAssembly. Оваа Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° со ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄ сама ΠΏΠΎ сСбС Π΅ навистина Π΄ΠΎΠ±Π°Ρ€ рСсурс Π·Π° ΡƒΡ‡Π΅ΡšΠ΅ со ΠΎΠ΄Π»ΠΈΡ‡Π½Π° Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜Π°, ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜Π° Π½Π° ΠΌΡ€Π΅ΠΆΠ΅Π½ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» ΠΈ ΠΎΠ΄Π»ΠΈΡ‡Π½ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΈ.

    Π—Π°Π΅Π΄Π½ΠΈΡ†Π°Ρ‚Π° Π½Π° Pion, ΠΏΡ€Π΅Π΄Π²ΠΎΠ΄Π΅Π½Π° ΠΎΠ΄ ΠΌΠ½ΠΎΠ³Ρƒ страстСн ΠΊΡ€Π΅Π°Ρ‚ΠΎΡ€, Π΅ доста ΠΆΠΈΠ²Π°, со ΠΌΠ½ΠΎΠ³Ρƒ ΠΊΠ²Π°Π»ΠΈΡ‚Π΅Ρ‚Π½ΠΈ дискусии ΠΊΠΎΠΈ сС Π²ΠΎΠ΄Π°Ρ‚ Π·Π° WebRTC. Π”ΠΎΠΊΠΎΠ»ΠΊΡƒ стС заинтСрСсирани Π·Π° ΠΎΠ²Π°Π° Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΡ˜Π°, ΠΏΡ€ΠΈΠ΄Ρ€ΡƒΠΆΠ΅Ρ‚Π΅ сС http://pion.ly/slack – ќС Π½Π°ΡƒΡ‡ΠΈΡ‚Π΅ ΠΌΠ½ΠΎΠ³Ρƒ Π½ΠΎΠ²ΠΈ Ρ€Π°Π±ΠΎΡ‚ΠΈ.

    ΠŸΠΈΡˆΡƒΠ²Π°ΡšΠ΅ CloudRetro Π½Π° Golang

    Облак ΠΈΠ³Ρ€ΠΈ со ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄ Π½Π° WebRTC: p2p, ΠΌΡƒΠ»Ρ‚ΠΈΠΏΠ»Π΅Π΅Ρ€, Π½ΡƒΠ»Π° латСнтност
    Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜Π° Π½Π° Ρ€Π°Π±ΠΎΡ‚Π½ΠΈΠΊ Π²ΠΎ Π“ΠΎ

    ΠžΠ΄Π΅Ρ‚Π΅ Π½Π° ΠΊΠ°Π½Π°Π»ΠΈ Π²ΠΎ Π°ΠΊΡ†ΠΈΡ˜Π°

    Π‘Π»Π°Π³ΠΎΠ΄Π°Ρ€Π΅Π½ΠΈΠ΅ Π½Π° прСкрасниот дизајн Π½Π° ΠΊΠ°Π½Π°Π»ΠΎΡ‚ Π½Π° Go, ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈΡ‚Π΅ со прСносот Π½Π° настани ΠΈ истоврСмСното сС Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ поСдноставСни. Како ΠΈ Π½Π° Π΄ΠΈΡ˜Π°Π³Ρ€Π°ΠΌΠΎΡ‚, Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ GoRoutines ΠΈΠΌΠ°Π°Ρ‚ повСќС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ ΠΊΠΎΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ ΠΏΠ°Ρ€Π°Π»Π΅Π»Π½ΠΎ. БСкоја ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° ΡƒΠΏΡ€Π°Π²ΡƒΠ²Π° со ΡΠ²ΠΎΡ˜Π°Ρ‚Π° ΡΠΎΡΡ‚ΠΎΡ˜Π±Π° ΠΈ ΠΊΠΎΠΌΡƒΠ½ΠΈΡ†ΠΈΡ€Π° ΠΏΡ€Π΅ΠΊΡƒ ΠΊΠ°Π½Π°Π»ΠΈ. Π‘Π΅Π»Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡ‚ΠΎ Ρ‚Π²Ρ€Π΄Π΅ΡšΠ΅ Π½Π° Π“ΠΎΠ»Π°Π½Π³ ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΡƒΠ²Π° Π΅Π΄Π΅Π½ атомски настан Π΄Π° сС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΡƒΠ²Π° сСкој ΠΏΠ°Ρ‚ Π²ΠΎ ΠΈΠ³Ρ€Π°Ρ‚Π° (ΡˆΡ‚ΠΈΠΊΠ»ΠΈΡ€Π°ΡšΠ΅ Π½Π° ΠΈΠ³Ρ€Π°Ρ‚Π°). Ова Π·Π½Π°Ρ‡ΠΈ Π΄Π΅ΠΊΠ° Π½Π΅ Π΅ ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎ Π·Π°ΠΊΠ»ΡƒΡ‡ΡƒΠ²Π°ΡšΠ΅ Π·Π° овој дизајн. На ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠΎΠ³Π° корисникот Π·Π°Ρ‡ΡƒΠ²ΡƒΠ²Π°, ΠΏΠΎΡ‚Ρ€Π΅Π±Π½Π° Π΅ цСлосна слика ΠΎΠ΄ ΡΠΎΡΡ‚ΠΎΡ˜Π±Π°Ρ‚Π° Π½Π° ΠΈΠ³Ρ€Π°Ρ‚Π°. Оваа ΡΠΎΡΡ‚ΠΎΡ˜Π±Π° Ρ‚Ρ€Π΅Π±Π° Π΄Π° останС ΠΊΠΎΠ½Ρ‚ΠΈΠ½ΡƒΠΈΡ€Π°Π½Π°, Π½Π°Ρ˜Π°Π²ΡƒΠ²Π°Ρ˜ΡœΠΈ сС Π΄ΠΎΠ΄Π΅ΠΊΠ° Π½Π΅ Π·Π°Π²Ρ€ΡˆΠΈ Π·Π°Ρ‡ΡƒΠ²ΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ. Π—Π° Π²Ρ€Π΅ΠΌΠ΅ Π½Π° сСкој ΡˆΡ‚ΠΈΠΊΠ»ΠΈΡ€Π°ΡšΠ΅ Π½Π° ΠΈΠ³Ρ€Π°Ρ‚Π°, Π·Π°Π΄Π½ΠΈΠΎΡ‚ Π΄Π΅Π» ΠΌΠΎΠΆΠ΅ Π΄Π° сС справи само со ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ˜Π° Π·Π° Π·Π°Ρ‡ΡƒΠ²ΡƒΠ²Π°ΡšΠ΅ ΠΈΠ»ΠΈ Π²Π½Π΅ΡΡƒΠ²Π°ΡšΠ΅, ΡˆΡ‚ΠΎ ја ΠΏΡ€Π°Π²ΠΈ Π½ΠΈΡˆΠΊΠ°Ρ‚Π° Π½Π° процСсот Π±Π΅Π·Π±Π΅Π΄Π½Π°.

    func (e *gameEmulator) gameUpdate() {
    for {
    	select {
    		case <-e.saveOperation:
    			e.saveGameState()
    		case key := <-e.input:
    			e.updateGameState(key)
    		case <-e.done:
    			e.close()
    			return
    	}
        }
    }

    Π’Π΅Π½Ρ‚ΠΈΠ»Π°Ρ‚ΠΎΡ€/Π²Π»Π΅Π·

    Овој шаблон Golang ΡΠΎΠ²Ρ€ΡˆΠ΅Π½ΠΎ ΠΎΠ΄Π³ΠΎΠ²Π°Ρ€Π° Π½Π° ΠΌΠΎΡ˜Π°Ρ‚Π° Ρ„ΡƒΡ‚Ρ€ΠΎΠ»Π° Π·Π° ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π° Π½Π° CrowdPlay ΠΈ повСќС ΠΈΠ³Ρ€Π°Ρ‡ΠΈ. БлСдСјќи ја ΠΎΠ²Π°Π° шСма, ситС кориснички Π²Π»Π΅Π·ΠΎΠ²ΠΈ Π²ΠΎ Π΅Π΄Π½Π° ΠΏΡ€ΠΎΡΡ‚ΠΎΡ€ΠΈΡ˜Π° сС Π²Π³Ρ€Π°Π΄Π΅Π½ΠΈ Π²ΠΎ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»Π½ΠΈΠΎΡ‚ Π²Π»Π΅Π·Π΅Π½ ΠΊΠ°Π½Π°Π». ΠœΠ΅Π΄ΠΈΡƒΠΌΠΈΡ‚Π΅ Π·Π° ΠΈΠ³Ρ€ΠΈ ΠΏΠΎΡ‚ΠΎΠ° сС распорСдуваат Π½Π° ситС корисници Π²ΠΎ иста ΠΏΡ€ΠΎΡΡ‚ΠΎΡ€ΠΈΡ˜Π°. На овој Π½Π°Ρ‡ΠΈΠ½, постигнувамС ΠΏΠΎΠ΄Π΅Π»Π±Π° Π½Π° ΡΠΎΡΡ‚ΠΎΡ˜Π±Π°Ρ‚Π° Π½Π° ΠΈΠ³Ρ€Π°Ρ‚Π° ΠΏΠΎΠΌΠ΅Ρ“Ρƒ Π½Π΅ΠΊΠΎΠ»ΠΊΡƒ сСсии Π½Π° ΠΈΠ³Ρ€ΠΈ Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ корисници.

    Облак ΠΈΠ³Ρ€ΠΈ со ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄ Π½Π° WebRTC: p2p, ΠΌΡƒΠ»Ρ‚ΠΈΠΏΠ»Π΅Π΅Ρ€, Π½ΡƒΠ»Π° латСнтност
    Π‘ΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·Π°Ρ†ΠΈΡ˜Π° ΠΏΠΎΠΌΠ΅Ρ“Ρƒ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ сСсии

    НСдостатоци Π½Π° Π“ΠΎΠ»Π°Π½Π³

    Π“ΠΎΠ»Π°Π½Π³ Π½Π΅ Π΅ ΡΠΎΠ²Ρ€ΡˆΠ΅Π½. ΠšΠ°Π½Π°Π»ΠΎΡ‚ Π΅ Π±Π°Π²Π΅Π½. Π’ΠΎ спорСдба со Π±Π»ΠΎΠΊΠΈΡ€Π°ΡšΠ΅Ρ‚ΠΎ, ΠΊΠ°Π½Π°Π»ΠΎΡ‚ Go Π΅ Сдноставно полСсСн Π½Π°Ρ‡ΠΈΠ½ Π·Π° ΡΠΏΡ€Π°Π²ΡƒΠ²Π°ΡšΠ΅ со истоврСмСни ΠΈ ΠΏΠΎΠ²Ρ€Π·Π°Π½ΠΈ настани, Π½ΠΎ ΠΊΠ°Π½Π°Π»ΠΎΡ‚ Π½Π΅ ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡƒΠ²Π° Π½Π°Ρ˜Π΄ΠΎΠ±Ρ€ΠΈ пСрформанси. Има слоТСна Π±Π»ΠΎΠΊΠΈΡ€Π°Ρ‡ΠΊΠ° Π»ΠΎΠ³ΠΈΠΊΠ° ΠΏΠΎΠ΄ ΠΊΠ°Π½Π°Π»ΠΎΡ‚. Π’Π°ΠΊΠ°, Π½Π°ΠΏΡ€Π°Π²ΠΈΠ² Π½Π΅ΠΊΠΎΠΈ ΠΏΡ€ΠΈΠ»Π°Π³ΠΎΠ΄ΡƒΠ²Π°ΡšΠ° Π½Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜Π°Ρ‚Π°, ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡƒΠ²Π°Ρ˜ΡœΠΈ Π±Ρ€Π°Π²ΠΈ ΠΈ атомски врСдности ΠΏΡ€ΠΈ Π·Π°ΠΌΠ΅Π½Π° Π½Π° ΠΊΠ°Π½Π°Π»ΠΈΡ‚Π΅ Π·Π° Π΄Π° Π³ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π°ΠΌ пСрформанситС.

    ΠŸΠΎΠΊΡ€Π°Ρ˜ Ρ‚ΠΎΠ°, собирачот Π½Π° Ρ“ΡƒΠ±Ρ€Π΅ Π²ΠΎ Π“ΠΎΠ»Π°Π½Π³ Π½Π΅ Π΅ ΡƒΠΏΡ€Π°Π²ΡƒΠ²Π°Π½, ΡˆΡ‚ΠΎ понСкогаш ΠΏΡ€Π΅Π΄ΠΈΠ·Π²ΠΈΠΊΡƒΠ²Π° сомнитСлно Π΄ΠΎΠ»Π³ΠΈ ΠΏΠ°ΡƒΠ·ΠΈ. Ова Π²ΠΎ Π³ΠΎΠ»Π΅ΠΌΠ° ΠΌΠ΅Ρ€Π° сС мСша со Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π° Π·Π° стриминг Π²ΠΎ Ρ€Π΅Π°Π»Π½ΠΎ Π²Ρ€Π΅ΠΌΠ΅.

    Π¦Π“Πž

    ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΡ‚ ја користи постоСчката Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° со ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄ Golang VP8/H264 Π·Π° ΠΊΠΎΠΌΠΏΡ€Π΅ΡΠΈΡ˜Π° Π½Π° ΠΌΠ΅Π΄ΠΈΡƒΠΌΠΈ ΠΈ Libretro Π·Π° Π΅ΠΌΡƒΠ»Π°Ρ‚ΠΎΡ€ΠΈ Π½Π° ΠΈΠ³Ρ€ΠΈ. Π‘ΠΈΡ‚Π΅ ΠΎΠ²ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ сС Сдноставно ΠΎΠ±Π²ΠΈΠ²ΠΊΠΈ Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° C Π²ΠΎ Go ΠΊΠΎΡ€ΠΈΡΡ‚Π΅Ρ˜ΡœΠΈ Π¦Π“Πž. НСкои ΠΎΠ΄ нСдостатоцитС сС Π½Π°Π²Π΅Π΄Π΅Π½ΠΈ Π²ΠΎ овој пост Π½Π° Π”Π΅Ρ˜Π² ЧСјни. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ Π½Π° ΠΊΠΎΠΈ Π½Π°ΠΈΠ΄ΠΎΠ²:

    • нСмоТност Π΄Π° сС Ρ„Π°Ρ‚ΠΈ Π½Π΅ΡΡ€Π΅ΡœΠ° Π²ΠΎ CGO, Π΄ΡƒΡ€ΠΈ ΠΈ со Golang RecoveryCrash;
    • нСуспСхот Π΄Π° сС ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΡƒΠ²Π°Π°Ρ‚ тСснитС Π³Ρ€Π»Π° Π²ΠΎ ΠΈΠ·Π²Π΅Π΄Π±Π°Ρ‚Π° ΠΊΠΎΠ³Π° Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° ΠΎΡ‚ΠΊΡ€ΠΈΠ΅ΠΌΠ΅ Π΄Π΅Ρ‚Π°Π»Π½ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ Π²ΠΎ CGO.

    Π—Π°ΠΊΠ»ΡƒΡ‡ΠΎΠΊ

    Ја постигнав ΠΌΠΎΡ˜Π°Ρ‚Π° Ρ†Π΅Π» Π΄Π° Π³ΠΈ Ρ€Π°Π·Π±Π΅Ρ€Π°ΠΌ услугитС Π·Π° ΠΎΠ±Π»Π°ΠΊ ΠΈΠ³Ρ€ΠΈ ΠΈ Π΄Π° создадам ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° која ΠΌΠΈ ΠΏΠΎΠΌΠ°Π³Π° Π΄Π° ΠΈΠ³Ρ€Π°ΠΌ носталгични Ρ€Π΅Ρ‚Ρ€ΠΎ ΠΈΠ³Ρ€ΠΈ со ΠΌΠΎΠΈΡ‚Π΅ ΠΏΡ€ΠΈΡ˜Π°Ρ‚Π΅Π»ΠΈ онлајн. Овој ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ нСмашС Π΄Π° Π±ΠΈΠ΄Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ Π±Π΅Π· Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° Пион ΠΈ ΠΏΠΎΠ΄Π΄Ρ€ΡˆΠΊΠ°Ρ‚Π° ΠΎΠ΄ Π·Π°Π΅Π΄Π½ΠΈΡ†Π°Ρ‚Π° Пион. Јас сум исклучитСлно Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€Π΅Π½ Π·Π° Π½Π΅Π³ΠΎΠ²ΠΈΠΎΡ‚ ΠΈΠ½Ρ‚Π΅Π½Π·ΠΈΠ²Π΅Π½ Ρ€Π°Π·Π²ΠΎΡ˜. ЕдноставнитС API ΠΎΠ±Π΅Π·Π±Π΅Π΄Π΅Π½ΠΈ ΠΎΠ΄ WebRTC ΠΈ Pion обСзбСдија бСспрСкорна ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ˜Π°. ΠœΠΎΡ˜ΠΎΡ‚ ΠΏΡ€Π² Π΄ΠΎΠΊΠ°Π· Π·Π° ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ‚ΠΎΡ‚ бСшС објавСн истата Π½Π΅Π΄Π΅Π»Π°, ΠΈΠ°ΠΊΠΎ Π½Π΅ΠΌΠ°Π² ΠΏΡ€Π΅Ρ‚Ρ…ΠΎΠ΄Π½ΠΎ познавањС Π½Π° peer-to-peer (P2P) ΠΊΠΎΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°.

    И ΠΏΠΎΠΊΡ€Π°Ρ˜ Π»Π΅ΡΠ½ΠΎΡ‚ΠΈΡ˜Π°Ρ‚Π° Π½Π° ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ˜Π°, P2P стримингот Π΅ навистина ΠΌΠ½ΠΎΠ³Ρƒ слоТСна област Π²ΠΎ ΠΊΠΎΠΌΠΏΡ˜ΡƒΡ‚Π΅Ρ€ΡΠΊΠ°Ρ‚Π° Π½Π°ΡƒΠΊΠ°. Π’Π°Π° ΠΌΠΎΡ€Π° Π΄Π° сС справи со слоТСноста Π½Π° Π΄ΠΎΠ»Π³ΠΎΡ‚Ρ€Π°Ρ˜Π½ΠΈΡ‚Π΅ ΠΌΡ€Π΅ΠΆΠ½ΠΈ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΈ ΠΊΠ°ΠΊΠΎ ΡˆΡ‚ΠΎ сС IP ΠΈ NAT Π·Π° Π΄Π° создадС peer-to-peer сСсија. Π”ΠΎΠ΄Π΅ΠΊΠ° Ρ€Π°Π±ΠΎΡ‚Π΅Π² Π½Π° овој ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, стСкнав ΠΌΠ½ΠΎΠ³Ρƒ Π²Ρ€Π΅Π΄Π½ΠΈ знаСња Π·Π° Π²ΠΌΡ€Π΅ΠΆΡƒΠ²Π°ΡšΠ΅ ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ˜Π° Π½Π° пСрформанситС, Π·Π°Ρ‚ΠΎΠ° Π³ΠΈ ΠΎΡ…Ρ€Π°Π±Ρ€ΡƒΠ²Π°ΠΌ ситС Π΄Π° сС ΠΎΠ±ΠΈΠ΄Π°Ρ‚ Π΄Π° Π³Ρ€Π°Π΄Π°Ρ‚ P2P ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈ ΠΊΠΎΡ€ΠΈΡΡ‚Π΅Ρ˜ΡœΠΈ WebRTC.

    CloudRetro ΠΎΠ΄Π³ΠΎΠ²Π°Ρ€Π° Π½Π° ситС случаи Π½Π° ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π° ΡˆΡ‚ΠΎ Π³ΠΈ ΠΎΡ‡Π΅ΠΊΡƒΠ²Π°Π² ΠΎΠ΄ моја пСрспСктива ΠΊΠ°ΠΊΠΎ Ρ€Π΅Ρ‚Ρ€ΠΎ Π³Π΅Ρ˜ΠΌΠ΅Ρ€. Π‘Π΅ΠΏΠ°ΠΊ, мислам Π΄Π΅ΠΊΠ° ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³Ρƒ области Π²ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΡ‚ ΡˆΡ‚ΠΎ ΠΌΠΎΠΆΠ°ΠΌ Π΄Π° Π³ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Ρ€Π°ΠΌ, ΠΊΠ°ΠΊΠΎ ΡˆΡ‚ΠΎ Π΅ Π΄Π° ја Π½Π°ΠΏΡ€Π°Π²Π°ΠΌ ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π° посигурна ΠΈ ΠΏΠΎΡ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π½Π°, Π΄Π° ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡƒΠ²Π°ΠΌ ΠΏΠΎΠΊΠ²Π°Π»ΠΈΡ‚Π΅Ρ‚Π½Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠ° Π½Π° ΠΈΠ³Ρ€Π°Ρ‚Π° ΠΈΠ»ΠΈ способност Π·Π° ΡΠΏΠΎΠ΄Π΅Π»ΡƒΠ²Π°ΡšΠ΅ ΠΈΠ³Ρ€ΠΈ ΠΌΠ΅Ρ“Ρƒ корисницитС. Напорно Ρ€Π°Π±ΠΎΡ‚Π°ΠΌ Π½Π° ΠΎΠ²Π°. Π’Π΅ ΠΌΠΎΠ»ΠΈΠΌΠ΅ слСдСтС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΈ ΠΏΠΎΠ΄Π΄Ρ€ΠΆΠ΅Ρ‚Π΅ Π³ΠΎ Π°ΠΊΠΎ Π²ΠΈ сС Π΄ΠΎΠΏΠ°Ρ“Π°.

Π˜Π·Π²ΠΎΡ€: www.habr.com

Π”ΠΎΠ΄Π°Π΄Π΅Ρ‚Π΅ ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€