Giter VIP home page Giter VIP logo

Comments (13)

ehfd avatar ehfd commented on June 9, 2024

First thing up my mind: you must expose the relay ports that you have set in the coturn configuration.

from docker-nvidia-egl-desktop.

 avatar commented on June 9, 2024

Yes i have exposed coturn ports (both stun and turn forwaring ports) with host-network.

Also i saw [app] using TURN servers: turn:192.168.1.12:3478?transport=tcp on the web GUI, which is correct.

From the /tmp/selk....log I can see the same IP and port (3478) but there is no logs about the forwarding ports(49160, etc.).

from docker-nvidia-egl-desktop.

ehfd avatar ehfd commented on June 9, 2024

Ah. I see the issue.

One problem is, you are using an internal IP as the TURN server host. That IP is used both for the client and the host. If any if the two is outside that internal network, no way it's going to find the TURN server. It should (somehow) resolve differently inside and outside to work. An example is using a (sub)domain to do that.

from docker-nvidia-egl-desktop.

 avatar commented on June 9, 2024

Ah. I see the issue.

One problem is, you are using an internal IP as the TURN server host. That IP is used both for the client and the host. If any if the two is outside that internal network, no way it's going to find the TURN server. It should (somehow) resolve differently inside and outside to work. An example is using a (sub)domain to do that.

But I am testing from an internal laptop, 192.168.1.225.
Coturn and selkies are both on 192.168.1.12, but selkies is on a bridged network 172.10.0.5. From the selkies docker container I can also ping coturn docker container (192.168.1.12).

I also used Wireshark and found out that the browser never connects to 192.168.1.12:49160, it talks to 192.168.1.12:3478 and always try 172.10.0.5 which is not accessible outside the computer(192.168.1.12) which hosts the docker.

from docker-nvidia-egl-desktop.

ehfd avatar ehfd commented on June 9, 2024

I think there was a setting in coturn to choose which IP to bind to, if so.

from docker-nvidia-egl-desktop.

 avatar commented on June 9, 2024

coturn binds to 192.168.1.12 already. and I set "--external-ip=192.168.1.12","--relay-ip=192.168.1.12"

It seems that either coturn did not send the relay port to browser/selkies, or they did not ask for one. Is there any way to tell selkies to prefer relay instead of stun?

from docker-nvidia-egl-desktop.

ehfd avatar ehfd commented on June 9, 2024

There is a "Force relay connection" option in the web ui.

from docker-nvidia-egl-desktop.

 avatar commented on June 9, 2024

I enabled this and now it stuck forever at Rejecting non-relay ICE candidate. So the coturn is not sending any relay at all.

from docker-nvidia-egl-desktop.

ehfd avatar ehfd commented on June 9, 2024

@xhejtman
I think we discussed a similar issue around 8 months ago?

from docker-nvidia-egl-desktop.

xhejtman avatar xhejtman commented on June 9, 2024

@xhejtman I think we discussed a similar issue around 8 months ago?

I do not think so. However, @nick008a, would you be able to split networks with turn and selkies to be different? Like add another network for coturn and use it? Maybe there is some heuristics that thinks that selkies is directly connected. Btw, any chance to run browser on the node that runs coturn to check, if it works from the same host?

from docker-nvidia-egl-desktop.

 avatar commented on June 9, 2024

I managed to get it working by setting selkies to use udp, and set coturn to run with no password. (the selkies still need a dummy username and password). I wonder if you could share a config for coturn with passwords? I never get it working properly,

Surprisingly, the udp video traffic to my browser is not going through any relay port, but the 192.168.1.12:3478 port directly.

However, the connection in UDP will be lost every 5 minutes, and I have to restart the selkies cotainer to get it working again. I am confused because the connection can't be that bad in a local network.

Like add another network for coturn and use it?

I tried putting coturn into a new bridged network with 172.11.0.5 and mapped the ports to 192.168.1.12, but it stops working as my browser cannot connect to 172...* ip.

Btw, any chance to run browser on the node that runs coturn to check, if it works from the same host?

Unfortunately, the host is a headless server.

from docker-nvidia-egl-desktop.

ehfd avatar ehfd commented on June 9, 2024

@nick008a I believe you could ask the folks at https://github.com/coturn/coturn.

A trick I can tell you is that --rtc_config_json is the WebRTC configuration used for the client, while --turn_host is used for the server. It's possible to use different hosts for the web client and the server.

from docker-nvidia-egl-desktop.

 avatar commented on June 9, 2024

Thanks!

from docker-nvidia-egl-desktop.

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.