Skip to content

Default to using iceServers #193

@tpsteiner

Description

@tpsteiner

Hello!

My use-case:
I use Fluidd/Mainsail and stream my 3d printer via WebRTC using camera-streamer.

There are three locations where camera-streamer is used:

  1. Fluidd dashboard # --webrtc-disable_client_ice=1
  2. Mainsail dashboard # Always works
  3. Via crowsnest server links: eg. http://myprinter.local:8080/webrtc # Works with flag --webrtc-disable_client_ice=1

The flags are added as a part of the crowsnest config file. It feels like a hack to add the flag, and it took a long time to properly diagnose the issue, since there were no error logs in place to catch this issue.

The issue:
My 3d printer is on a private LAN, and POST responses to the STUN server 'stun:stun.l.google.com:19302' fail with error 500.

Workarounds:

  • I could use the custom_flag: --webrtc-disable_client_ice=1 in the crowsnest.cfg file. This seems like a hack to me, and I have not seen any documentation about this issue in 3d printer communities. That does strike me as odd, since I can't be the only person in the community with locked-down computer network. Maybe most people don't use the WebRTC option. It should be noted that camera-streamer is highly suggested over ustreamer for performance gains, and I assume most people that can use it probably should?
  • I could also open up my firewall a bit to allow these specific transactions. I'd rather not open my network up more than required, so I would rather use the custom flag.

Possible permanent fix:
Mainsail solves the issue in their dashboard by making the iceServers flag default as empty: https://github.com/mainsail-crew/mainsail/blob/552e202b3ef3f7130701b26300ba770e58b12ba2/src/components/webcams/streamers/WebrtcCameraStreamer.vue#L106

Is there any reason not to make iceServers array empty as the default?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions