Code Monkey home page Code Monkey logo

Comments (19)

sergystepanov avatar sergystepanov commented on August 16, 2024 1

Wow, Awesome. How did you manage to run in on window. Can you show it so others can run when facing the same issue.

It's kinda easy. The hardest part is to find proper C libs and link it right to avoid segfaults. I'll PR a quick guide in the readme.

Regarding to latency, If you are close to the servers, the latency should < 1s. I think if you run on local, you can feel it seamless with 0ms right :/
And for the discrepancy between PSX and SNES latency, PSX has heavier computation, so it may makes things slower.

Not really seamless. For that, I just did a quick comparison with go-nanoarch (opengl) and there is no latency whatsoever for NES, SNES, PSX cores. Regarding cloud-game, there is no latency only when I run NES core and 2-3 sec overhead othervice. Maybe there is an additional slowdown in the rendering / encoding compared to nanoarch. Anyway, maybe I'll re-check it later on a desktop pc and open a different issue. (:

from cloud-game.

sadlil avatar sadlil commented on August 16, 2024

Can you provide some more details about the system you are trying to run. Like

OS
Arch
how are you running the programs etc.

from cloud-game.

namkazt avatar namkazt commented on August 16, 2024

OS: Windows 10 with Ubuntu
Arch: amd64
Run by make run as in Readme.md

2019-09-10 17_41_28-Window

from cloud-game.

sadlil avatar sadlil commented on August 16, 2024

@namkazt You mean ubuntu inside a VM with Windows Host? Can you provide a screenshot what do you see in the browser? From the log, it looks like worker have been connected to overlord server.

from cloud-game.

namkazt avatar namkazt commented on August 16, 2024

web display ok but display game not ready when select or try to start game.
019/09/10 10:31:04 Error: Cannot create new webrtc session mDNS: failed to join multicast group is the only error i see

from cloud-game.

namkazt avatar namkazt commented on August 16, 2024

from cloud-game.

giongto35 avatar giongto35 commented on August 16, 2024

Hi namkazt,
Nice to meet you.
Seems like another OS issue. Did you manage to run that?

from cloud-game.

namkazt avatar namkazt commented on August 16, 2024

Still not playable :( I will take some time to dig deeper on this problem.

p/s: có vài chỗ em cũng muốn optimize lại như phần websocket nên dùng https://github.com/gobwas/ws nhanh hơn và zero allocation. xem ý bác thế nào

from cloud-game.

giongto35 avatar giongto35 commented on August 16, 2024

Hi @namkazt , thanks for your interest in the repo.
This is the first time I see that problem. Can you update your chrome browser to latest version? By the way, we can talk over skype so I can understand your problem better and fix the repo. ( I try to find your account nam.kazt on skype but not found)
As for ws improvement, actually ws is not the critical part of this project. Streaming relies on WebRTC, so optimize ws may not help much :D.

from cloud-game.

sergystepanov avatar sergystepanov commented on August 16, 2024

Hi guys! A couple days ago I stumbled upon this interesting project of yours but I have no luck with making it run locally on Windows 10. Having the same problem as namkazt on WSL/Ubuntu. There is something to do with VM-to-Windows address expose (ws candidates?), I suppose. Here is a part of the logfile from the browser on WSL:

libopus.js?1:1 pre-main prep time: 0 ms
utils.js?1:5 WebSocket is opened. Send ping
utils.js?1:5 Send ping pong frequently
utils.js?1:5 Send latency list [object Object]
ws.js?6:120 {127.0.0.1: 22}
utils.js?1:5 received stunturn from worker [{"urls":"stun:stun.l.google.com:19302"},{"urls":"stun:127.0.0.1:3478"},{"urls":"turn:127.0.0.1:3478","username":"root","credential":"root"}]
utils.js?1:5 Received game list
utils.js?1:5 Load game menu
utils.js?1:5 v=0
...
utils.js?1:5 > [Pick] game 1/2 - Contra
ws.js?6:216 {"candidate":"candidate:1910078557 1 udp 2113937151 91f81f5a-1738-418d-b26c-3dd9d31be42b.local 57961 typ host generation 0 ufrag ULEr network-cost 999","sdpMid":"0","sdpMLineIndex":0}
ws.js?6:216 {"candidate":"candidate:1910078557 1 udp 2113937151 91f81f5a-1738-418d-b26c-3dd9d31be42b.local 57963 typ host generation 0 ufrag ULEr network-cost 999","sdpMid":"1","sdpMLineIndex":1}
ws.js?6:216 {"candidate":"candidate:1910078557 1 udp 2113937151 91f81f5a-1738-418d-b26c-3dd9d31be42b.local 57965 typ host generation 0 ufrag ULEr network-cost 999","sdpMid":"2","sdpMLineIndex":2}
ws.js?6:216 {"candidate":"candidate:842163049 1 udp 1677729535 95.30.110.149 57965 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag ULEr network-cost 999","sdpMid":"2","sdpMLineIndex":2}
ws.js?6:216 {"candidate":"candidate:842163049 1 udp 1677729535 95.30.110.149 57963 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag ULEr network-cost 999","sdpMid":"1","sdpMLineIndex":1}
ws.js?6:216 {"candidate":"candidate:842163049 1 udp 1677729535 95.30.110.149 57961 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag ULEr network-cost 999","sdpMid":"0","sdpMLineIndex":0}
utils.js?1:5 Ice gathering timeout, send anyway
utils.js?1:5 > [Pick] game 2/2 - Super Mario Bros

Inside a normal VirtualBox Ubuntu image the service is working and the log looks like this:

...
utils.js?1:5 Loading menu screen
utils.js?1:5 > [Pick] game 1/2 - Contra
ws.js?6:216 {"candidate":"candidate:547260449 1 udp 2113937151 10.0.2.15 35458 typ host generation 0 ufrag snrn network-cost 999","sdpMid":"0","sdpMLineIndex":0}
ws.js?6:216 {"candidate":"candidate:547260449 1 udp 2113937151 10.0.2.15 42765 typ host generation 0 ufrag snrn network-cost 999","sdpMid":"1","sdpMLineIndex":1}
ws.js?6:216 {"candidate":"candidate:547260449 1 udp 2113937151 10.0.2.15 32934 typ host generation 0 ufrag snrn network-cost 999","sdpMid":"2","sdpMLineIndex":2}
ws.js?6:216 {"candidate":"candidate:842163049 1 udp 1677729535 95.30.110.149 57468 typ srflx raddr 10.0.2.15 rport 35458 generation 0 ufrag snrn network-cost 999","sdpMid":"0","sdpMLineIndex":0}
ws.js?6:216 {"candidate":"candidate:842163049 1 udp 1677729535 95.30.110.149 57470 typ srflx raddr 10.0.2.15 rport 32934 generation 0 ufrag snrn network-cost 999","sdpMid":"2","sdpMLineIndex":2}
ws.js?6:216 {"candidate":"candidate:842163049 1 udp 1677729535 95.30.110.149 57469 typ srflx raddr 10.0.2.15 rport 42765 generation 0 ufrag snrn network-cost 999","sdpMid":"1","sdpMLineIndex":1}
utils.js?1:5 Ice gathering timeout, send anyway
utils.js?1:5 Got remote sdp
utils.js?1:5 iceConnectionState: checking
utils.js?1:5 iceConnectionState: connected
utils.js?1:5 inputChannel has opened

And the Docker image doesn't work as well in the same way as WSL. :(

from cloud-game.

giongto35 avatar giongto35 commented on August 16, 2024

Hi @sergystepanov
So sorry for the experience.
Are you able to run the project now? I saw you said you can run in other ticker.
So as I understand you cannot make it worked on Window and Ubuntu on Window (WSL)
and it worked on Virtualbox Ubuntu?
So seems like there is problem with window environment. I will try to find a walkaround.
Thank you so much for reporting that,

from cloud-game.

sergystepanov avatar sergystepanov commented on August 16, 2024

Are you able to run the project now? I saw you said you can run in other ticker.
So as I understand you cannot make it worked on Window and Ubuntu on Window (WSL)
and it worked on Virtualbox Ubuntu?

Yes. It runs perfectly fine either inside a virtual machine or normal Linux but on the current WSL (haven't tried WSL2 yet) it doesn't work. It hangs somewhere at the ICE candidate picking stage from SDP (addresses not available on the host or provided ones are garbage?). No idea how to test WebRTC stuff.
Also, as I mentioned earlier, when I run the app in Docker, it has the same outcome.
Settings are similar to the Make script in the repo:

docker run --privileged -v $PWD/games:/cloud-game/games \ 
-d --name cloud-game-local -p 8000:8000 -p 9000:9000 \
cloud-game-local bash -c "overlord --v=5 & \ 
overworker --overlordhost ws://localhost:8000/wso"

How do you run it with Docker and does it work for you?

from cloud-game.

giongto35 avatar giongto35 commented on August 16, 2024

@sergystepanov You mean you failed to run docker script on Window env right? :-< I currently don't have window environment, so it's hard for me to debug it. I will try with virtual machine.
Is it ok if you run Docker within Virtual Machine + Normal Linux?

from cloud-game.

sergystepanov avatar sergystepanov commented on August 16, 2024

You mean you failed to run docker script on Window env right?

@giongto35, not quite, the app is running fine in Docker but when you click play on the page -- games won't run. I think it's a similar problem to this issue.

Is it ok if you run Docker within Virtual Machine + Normal Linux?

I'll try and tell.

from cloud-game.

sergystepanov avatar sergystepanov commented on August 16, 2024

That's interesting, actually it works on Ubuntu through Docker. So, it seems there is a problem with Windows, then. (also, tried with audio, quite impressive (: )

Screenshot from 2019-10-01 21-22-17

Rechecked in Windows, it is still not working.
Browser console:

libopus.js?1:1 pre-main prep time: 0 ms
utils.js?1:5 WebSocket is opened. Send ping
utils.js?1:5 Send ping pong frequently
utils.js?1:5 Send latency list [object Object]
ws.js?6:120 {127.0.0.1: 19}
utils.js?1:5 received stunturn from worker [{"urls":"stun:stun.l.google.com:19302"},{"urls":"stun:127.0.0.1:3478"},{"urls":"turn:127.0.0.1:3478","username":"root","credential":"root"}]
utils.js?1:5 Received game list
utils.js?1:5 Load game menu
utils.js?1:5 v=0
o=- 198208900130621647 2 IN IP4 127.0.0.1
s=-
t=0 0
a=group:BUNDLE 0 1 2
a=msid-semantic: WMS
m=video 9 UDP/TLS/RTP/SAVPF 96 97 98 99 100 101 102 122 127 121 125 107 108 109 124 120 123 119 114 115 116
c=IN IP4 0.0.0.0
a=rtcp:9 IN IP4 0.0.0.0
a=ice-ufrag:c2K+
a=ice-pwd:z+5unxEsA7XpkWSKaitdO700
a=ice-options:trickle
a=fingerprint:sha-256 04:2B:48:5C:23:1D:51:B8:41:9C:3D:F2:52:BC:77:F6:AC:31:77:01:0B:D2:40:9B:80:69:FB:42:54:BF:7A:8A
a=setup:actpass
a=mid:0
a=extmap:14 urn:ietf:params:rtp-hdrext:toffset
a=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
a=extmap:13 urn:3gpp:video-orientation
a=extmap:3 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01
a=extmap:12 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay
a=extmap:11 http://www.webrtc.org/experiments/rtp-hdrext/video-content-type
a=extmap:7 http://www.webrtc.org/experiments/rtp-hdrext/video-timing
a=extmap:8 http://tools.ietf.org/html/draft-ietf-avtext-framemarking-07
a=extmap:9 http://www.webrtc.org/experiments/rtp-hdrext/color-space
a=extmap:4 urn:ietf:params:rtp-hdrext:sdes:mid
a=extmap:5 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id
a=extmap:6 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id
a=recvonly
a=rtcp-mux
a=rtcp-rsize
a=rtpmap:96 VP8/90000
a=rtcp-fb:96 goog-remb
a=rtcp-fb:96 transport-cc
a=rtcp-fb:96 ccm fir
a=rtcp-fb:96 nack
a=rtcp-fb:96 nack pli
a=rtpmap:97 rtx/90000
a=fmtp:97 apt=96
a=rtpmap:98 VP9/90000
a=rtcp-fb:98 goog-remb
a=rtcp-fb:98 transport-cc
a=rtcp-fb:98 ccm fir
a=rtcp-fb:98 nack
a=rtcp-fb:98 nack pli
a=fmtp:98 profile-id=0
a=rtpmap:99 rtx/90000
a=fmtp:99 apt=98
a=rtpmap:100 VP9/90000
a=rtcp-fb:100 goog-remb
a=rtcp-fb:100 transport-cc
a=rtcp-fb:100 ccm fir
a=rtcp-fb:100 nack
a=rtcp-fb:100 nack pli
a=fmtp:100 profile-id=2
a=rtpmap:101 rtx/90000
a=fmtp:101 apt=100
a=rtpmap:102 H264/90000
a=rtcp-fb:102 goog-remb
a=rtcp-fb:102 transport-cc
a=rtcp-fb:102 ccm fir
a=rtcp-fb:102 nack
a=rtcp-fb:102 nack pli
a=fmtp:102 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42001f
a=rtpmap:122 rtx/90000
a=fmtp:122 apt=102
a=rtpmap:127 H264/90000
a=rtcp-fb:127 goog-remb
a=rtcp-fb:127 transport-cc
a=rtcp-fb:127 ccm fir
a=rtcp-fb:127 nack
a=rtcp-fb:127 nack pli
a=fmtp:127 level-asymmetry-allowed=1;packetization-mode=0;profile-level-id=42001f
a=rtpmap:121 rtx/90000
a=fmtp:121 apt=127
a=rtpmap:125 H264/90000
a=rtcp-fb:125 goog-remb
a=rtcp-fb:125 transport-cc
a=rtcp-fb:125 ccm fir
a=rtcp-fb:125 nack
a=rtcp-fb:125 nack pli
a=fmtp:125 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f
a=rtpmap:107 rtx/90000
a=fmtp:107 apt=125
a=rtpmap:108 H264/90000
a=rtcp-fb:108 goog-remb
a=rtcp-fb:108 transport-cc
a=rtcp-fb:108 ccm fir
a=rtcp-fb:108 nack
a=rtcp-fb:108 nack pli
a=fmtp:108 level-asymmetry-allowed=1;packetization-mode=0;profile-level-id=42e01f
a=rtpmap:109 rtx/90000
a=fmtp:109 apt=108
a=rtpmap:124 H264/90000
a=rtcp-fb:124 goog-remb
a=rtcp-fb:124 transport-cc
a=rtcp-fb:124 ccm fir
a=rtcp-fb:124 nack
a=rtcp-fb:124 nack pli
a=fmtp:124 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=4d0032
a=rtpmap:120 rtx/90000
a=fmtp:120 apt=124
a=rtpmap:123 H264/90000
a=rtcp-fb:123 goog-remb
a=rtcp-fb:123 transport-cc
a=rtcp-fb:123 ccm fir
a=rtcp-fb:123 nack
a=rtcp-fb:123 nack pli
a=fmtp:123 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=640032
a=rtpmap:119 rtx/90000
a=fmtp:119 apt=123
a=rtpmap:114 red/90000
a=rtpmap:115 rtx/90000
a=fmtp:115 apt=114
a=rtpmap:116 ulpfec/90000
m=audio 9 UDP/TLS/RTP/SAVPF 111 103 104 9 0 8 106 105 13 110 112 113 126
c=IN IP4 0.0.0.0
a=rtcp:9 IN IP4 0.0.0.0
a=ice-ufrag:c2K+
a=ice-pwd:z+5unxEsA7XpkWSKaitdO700
a=ice-options:trickle
a=fingerprint:sha-256 04:2B:48:5C:23:1D:51:B8:41:9C:3D:F2:52:BC:77:F6:AC:31:77:01:0B:D2:40:9B:80:69:FB:42:54:BF:7A:8A
a=setup:actpass
a=mid:1
a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
a=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
a=extmap:3 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01
a=extmap:4 urn:ietf:params:rtp-hdrext:sdes:mid
a=extmap:5 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id
a=extmap:6 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id
a=recvonly
a=rtcp-mux
a=rtpmap:111 opus/48000/2
a=rtcp-fb:111 transport-cc
a=fmtp:111 minptime=10;useinbandfec=1
a=rtpmap:103 ISAC/16000
a=rtpmap:104 ISAC/32000
a=rtpmap:9 G722/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:106 CN/32000
a=rtpmap:105 CN/16000
a=rtpmap:13 CN/8000
a=rtpmap:110 telephone-event/48000
a=rtpmap:112 telephone-event/32000
a=rtpmap:113 telephone-event/16000
a=rtpmap:126 telephone-event/8000
m=application 9 UDP/DTLS/SCTP webrtc-datachannel
c=IN IP4 0.0.0.0
a=ice-ufrag:c2K+
a=ice-pwd:z+5unxEsA7XpkWSKaitdO700
a=ice-options:trickle
a=fingerprint:sha-256 04:2B:48:5C:23:1D:51:B8:41:9C:3D:F2:52:BC:77:F6:AC:31:77:01:0B:D2:40:9B:80:69:FB:42:54:BF:7A:8A
a=setup:actpass
a=mid:2
a=sctp-port:5000
a=max-message-size:262144

utils.js?1:5 Loading menu screen
utils.js?1:5 > [Pick] game 1/1 - Super Mario Bros
ws.js?6:216 {"candidate":"candidate:1910078557 1 udp 2113937151 a3720c83-0abc-499a-9790-28bc12fbfdb0.local 59996 typ host generation 0 ufrag c2K+ network-cost 999","sdpMid":"0","sdpMLineIndex":0}
ws.js?6:216 {"candidate":"candidate:1910078557 1 udp 2113937151 a3720c83-0abc-499a-9790-28bc12fbfdb0.local 59998 typ host generation 0 ufrag c2K+ network-cost 999","sdpMid":"1","sdpMLineIndex":1}
ws.js?6:216 {"candidate":"candidate:1910078557 1 udp 2113937151 a3720c83-0abc-499a-9790-28bc12fbfdb0.local 60000 typ host generation 0 ufrag c2K+ network-cost 999","sdpMid":"2","sdpMLineIndex":2}
ws.js?6:216 {"candidate":"candidate:842163049 1 udp 1677729535 95.30.110.149 59996 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag c2K+ network-cost 999","sdpMid":"0","sdpMLineIndex":0}
ws.js?6:216 {"candidate":"candidate:842163049 1 udp 1677729535 95.30.110.149 60000 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag c2K+ network-cost 999","sdpMid":"2","sdpMLineIndex":2}
ws.js?6:216 {"candidate":"candidate:842163049 1 udp 1677729535 95.30.110.149 59998 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag c2K+ network-cost 999","sdpMid":"1","sdpMLineIndex":1}
utils.js?1:5 Ice gathering timeout, send anyway
utils.js?1:5 Got remote sdp
utils.js?1:5 iceConnectionState: checking
utils.js?1:5 iceConnectionState: disconnected
utils.js?1:5 > [Pick] game 1/1 - Super Mario Bros

Docker log:

I1001 15:36:19.671533       7 main.go:27] Initializing worker server                             I1001 15:36:19.672913       7 overworker.go:38] Starting monitoring server for overwork          I1001 15:36:19.672952       7 monitoring.go:53] Starting monitoring server at :6601              I1001 15:36:19.672965       7 monitoring.go:67] Prometheus metric is enabled at :6601/worker/metrics                                                                                              I1001 15:36:19.675989       7 storage.go:25] Warn: Failed to create client: dialing: google: could not find default credentials. See https://developers.google.com/accounts/docs/application-default-credentials for more information.                                                             I1001 15:36:19.676085       7 overworker.go:64] Listening at port: localhost: 9000
I1001 15:36:19.676855       7 handlers.go:59] Cannot connect to overlord. Retrying...
I1001 15:36:19.728481       6 main.go:27] Initializing overlord server
I1001 15:36:19.728562       6 main.go:28] Overlord configs {8800   {6601 /overlord false false}} I1001 15:36:19.728799       6 overlord.go:35] Starting monitoring server for overlord
I1001 15:36:19.730012       6 monitoring.go:73] Monitoring server is disabled via config
I1001 15:36:19.730338       6 overlord.go:62] Listening at port: localhost:8000
I1001 15:36:20.679883       6 handlers.go:79] Overlord: A new server connected to Overlord ed627d7b-6279-49f1-9baa-e2ac14d914e2
I1001 15:36:20.679909       6 netutil.go:14] Address : 127.0.0.1:51598
I1001 15:36:20.679918       6 handlers.go:83] Address: ->  127.0.0.1
I1001 15:36:20.680223       7 handlers.go:65] Connected to overlord successfully.
I1001 15:36:20.680364       7 overlord.go:42] Received serverID  ed627d7b-6279-49f1-9baa-e2ac14d914e2
I1001 15:36:37.315062       6 handlers.go:116] Browser connected to overlord
I1001 15:36:37.315292       6 handlers.go:288] Send sync [127.0.0.1] 127.0.0.1
I1001 15:36:37.349509       6 handlers.go:254] Latency map map[0xc0000fe500:18]
I1001 15:36:37.349572       6 handlers.go:151] New client will conect to server ed627d7b-6279-49f1-9baa-e2ac14d914e2
I1001 15:36:39.433039       6 browser.go:36] Overlord: Received sdp request from a browser       I1001 15:36:39.433105       6 browser.go:37] Overlord: Relay sdp request from a browser to workerI1001 15:36:39.433118       6 browser.go:41] Overlord: serverID:  ed627d7b-6279-49f1-9baa-e2ac14d914e2
I1001 15:36:39.433762       7 overlord.go:52] Received relay SDP of a browser from overlord      I1001 15:36:39.434045       7 webrtc.go:111] === StartClient ===
I1001 15:36:39.478375       7 webrtc.go:169] ICE Connection State has changed: checking
I1001 15:36:39.478616       7 webrtc.go:185] host 172.17.0.2:37122
I1001 15:36:39.478677       7 webrtc.go:185] srflx 95.30.110.149:51153 related 0.0.0.0:46267     I1001 15:36:39.478828       7 webrtc.go:185] <nil>
I1001 15:36:39.478904       7 overlord.go:72] Start peerconnection a2535be3-2ee5-41c9-bd49-8fe79417ce24
I1001 15:36:39.479320       6 browser.go:51] Overlord: Received sdp request from a worker        I1001 15:36:39.479343       6 browser.go:52] Overlord: Sending back sdp to browser
I1001 15:36:47.069937       6 cws.go:156] [!] read: websocket: close 1001 (going away)
I1001 15:36:47.070289       7 overlord.go:191] Received a terminate session  a2535be3-2ee5-41c9-bd49-8fe79417ce24
I1001 15:36:47.070373       7 overlord.go:193] Find  &{ 0xc00013f110 } true
I1001 15:36:47.070388       7 handlers.go:96] Detach peerconnection
I1001 15:36:47.138752       6 handlers.go:116] Browser connected to overlord
I1001 15:36:47.138935       6 handlers.go:288] Send sync [127.0.0.1] 127.0.0.1
I1001 15:36:47.200430       6 handlers.go:254] Latency map map[0xc0000fe500:24]
I1001 15:36:47.200542       6 handlers.go:151] New client will conect to server ed627d7b-6279-49f1-9baa-e2ac14d914e2
I1001 15:36:49.238089       6 browser.go:36] Overlord: Received sdp request from a browser       I1001 15:36:49.238156       6 browser.go:37] Overlord: Relay sdp request from a browser to workerI1001 15:36:49.238168       6 browser.go:41] Overlord: serverID:  ed627d7b-6279-49f1-9baa-e2ac14d914e2
I1001 15:36:49.238842       7 overlord.go:52] Received relay SDP of a browser from overlord      I1001 15:36:49.239390       7 webrtc.go:111] === StartClient ===
I1001 15:36:49.272793       7 webrtc.go:169] ICE Connection State has changed: checking
I1001 15:36:49.273391       7 overlord.go:72] Start peerconnection 07be7ff2-2b16-4250-8bef-accb2e5dc539
I1001 15:36:49.273889       6 browser.go:51] Overlord: Received sdp request from a worker        I1001 15:36:49.273905       6 browser.go:52] Overlord: Sending back sdp to browser
I1001 15:36:49.275254       7 webrtc.go:185] host 172.17.0.2:57342
I1001 15:36:49.275343       7 webrtc.go:185] srflx 95.30.110.149:50929 related 0.0.0.0:43364     I1001 15:36:49.275368       7 webrtc.go:185] <nil>
I1001 15:37:11.426037       6 cws.go:156] [!] read: websocket: close 1001 (going away)
I1001 15:37:11.426636       7 overlord.go:191] Received a terminate session  07be7ff2-2b16-4250-8bef-accb2e5dc539
I1001 15:37:11.426836       7 overlord.go:193] Find  &{ 0xc0002eb8f0 } true
I1001 15:37:11.426895       7 handlers.go:96] Detach peerconnection
I1001 15:37:11.605478       6 handlers.go:116] Browser connected to overlord
I1001 15:37:11.605747       6 handlers.go:288] Send sync [127.0.0.1] 127.0.0.1
I1001 15:37:11.671571       6 handlers.go:254] Latency map map[0xc0000fe500:19]
I1001 15:37:11.671670       6 handlers.go:151] New client will conect to server ed627d7b-6279-49f1-9baa-e2ac14d914e2
I1001 15:37:13.731546       6 browser.go:36] Overlord: Received sdp request from a browser       I1001 15:37:13.731616       6 browser.go:37] Overlord: Relay sdp request from a browser to workerI1001 15:37:13.731628       6 browser.go:41] Overlord: serverID:  ed627d7b-6279-49f1-9baa-e2ac14d914e2
I1001 15:37:13.732226       7 overlord.go:52] Received relay SDP of a browser from overlord      I1001 15:37:13.732714       7 webrtc.go:111] === StartClient ===
I1001 15:37:13.772711       7 webrtc.go:169] ICE Connection State has changed: checking
I1001 15:37:13.773292       7 overlord.go:72] Start peerconnection b3abeb39-4087-49b1-bedd-9ead9962fd49
I1001 15:37:13.773491       7 webrtc.go:185] <nil>
I1001 15:37:13.773803       7 webrtc.go:185] host 172.17.0.2:53699
I1001 15:37:13.773854       7 webrtc.go:185] srflx 95.30.110.149:60005 related 0.0.0.0:33669     I1001 15:37:13.774122       6 browser.go:51] Overlord: Received sdp request from a worker        I1001 15:37:13.774178       6 browser.go:52] Overlord: Sending back sdp to browser

from cloud-game.

giongto35 avatar giongto35 commented on August 16, 2024

@sergystepanov :D Thank you very much for testing all environments. I really appreciate it.
It surprised me when the project cannot start on Window even with Docker. The log seems fine. I think I need to install Window on my desktop to debug it more.

tried with audio, quite impressive (:
:( The audio used to work well though. Audio turns out harder than Video processing because it's a continuous wave.

from cloud-game.

sergystepanov avatar sergystepanov commented on August 16, 2024

@giongto35, thanks for your concern, I was able to compile and run everything in Windows without Docker, so this issue doesn't matter now (at least for me (:)

(Now I wonder why snes has 2sec and psx has a 4sec input latency)

image

from cloud-game.

giongto35 avatar giongto35 commented on August 16, 2024

@sergystepano
Wow, Awesome. How did you manage to run in on window. Can you show it so others can run when facing the same issue.
Regarding to latency, If you are close to the servers, the latency should < 1s. I think if you run on local, you can feel it seamless with 0ms right :/
And for the discrepancy between PSX and SNES latency, PSX has heavier computation, so it may makes things slower.

from cloud-game.

giongto35 avatar giongto35 commented on August 16, 2024

Thanks @sergystepanov very much, It will be a great help if you can submit a PR solving window issue.
Regarding to the performance, I think it's CPU problem. cloud-game has encoding video + audio pipeline, which is even heavier than the game itself (Or I haven't optimized enough). Maybe you are running VirtualBox and it also consumes some resource.
You can try with fully free and see the result.

from cloud-game.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.