-
-
Notifications
You must be signed in to change notification settings - Fork 73
Description
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:
- Fluidd dashboard # --webrtc-disable_client_ice=1
- Mainsail dashboard # Always works
- 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=1in 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?