Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Connection failed in webrtc #17

Closed
zeyugao opened this issue Dec 6, 2021 · 6 comments
Closed

Connection failed in webrtc #17

zeyugao opened this issue Dec 6, 2021 · 6 comments

Comments

@zeyugao
Copy link

zeyugao commented Dec 6, 2021

I have no idea what's wrong. I can connect to webrtc but not the vnc

Run with command (from ReadMe):

docker run --gpus 1 -it -e TZ=UTC -e SIZEW=1920 -e SIZEH=1080 -e REFRESH=60 -e DPI=96 -e CDEPTH=24 -e VIDEO_PORT=DFP -e PASSWD=mypasswd -e WEBRTC_ENCODER=nvh264enc -e BASIC_AUTH_PASSWORD=mypasswd -p 127.0.0.1:8080:8080 ghcr.io/ehfd/nvidia-glx-desktop:latest

GPU is v100
Here are the logs
Some ERRORs are in entrypoint.log but I cannot determine which one is critical

entrypoint-stdout---supervisor-bgokahf1.log
supervisord.log
Xorg.0.log
selkies-gstreamer-stdout---supervisor-8u_8ckmh.log

@ehfd
Copy link
Member

ehfd commented Dec 16, 2021

Use --net=host in docker run or uncomment network_mode: 'host' in Docker-Compose!!!

Use hostNetwork: true or a TURN server for Kubernetes!!!

@zeyugao
Copy link
Author

zeyugao commented Dec 17, 2021

I wait for a while and retry. Here are the logs.
It seems that selkies-gstreamer's log is not empty.
The process list is in ps.txt

selkies-gstreamer-stdout---supervisor-5cd_gmr9.log
supervisord.log
entrypoint-stdout---supervisor-bt8d_pdm.log
ps.txt

And two errors in web console for webrtc. I am using ssh port forwarding -N -L 18080:127.0.0.1:8080
image

@ehfd
Copy link
Member

ehfd commented Dec 18, 2021

Sorry for the late reply. It seems that your selkies-gstreamer-stdout---supervisor-8u_8ckmh.log is empty other than confirmation that the X server started. The rest are okay. I would have given you prompt assistance if selkies-gstreamer-stdout---supervisor-8u_8ckmh.log had an error log, but since there is nothing in that log file, I would have to determine that selkies-gstreamer hadn't started at all. Could you reproduce everything after waiting sufficiently everything inside the container to start and use htop to check which processes are started and which are not?

This is a case where you have to read Using a TURN Server, since I think you are sshing to a remote server with NAT. Please either use a public TURN instance or your own coTURN server for relaying the stream. Since selkies-gstreamer uses WebRTC, there is no workaround for this until WebTransport is a recognized standard for all web browsers.

@ehfd ehfd closed this as completed Dec 18, 2021
@ehfd ehfd pinned this issue Dec 18, 2021
@ehfd
Copy link
Member

ehfd commented Jan 5, 2022

One more further note, this issue has a workaround by adding --net=host to the docker run command. For Kubernetes, add hostNetwork: true to the pod spec yaml file. This documentation will be updated to the README.md file with other updates.

@ehfd
Copy link
Member

ehfd commented Feb 3, 2022

One more further note, this issue has a workaround by adding --net=host to the docker run command. For Kubernetes, add hostNetwork: true to the pod spec yaml file. This documentation will be updated to the README.md file with other updates.

Documentation added in commit aac2c25.

@ehfd
Copy link
Member

ehfd commented Aug 24, 2022

More documentation added to Using a TURN Server.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants