Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Welcome to Elixir WebRTC Discussions! #71

Discussion options

👋 Welcome!

We’re using Discussions as a place to connect with other members of our community. We hope that you:

  • Ask questions you’re wondering about.
  • Share ideas.
  • Share your use-cases.
  • Engage with other community members.
  • Welcome others and are open-minded. Remember that this is a community we
    build together 💪.

To get started, comment below with an introduction of yourself and tell us about what you do with this community.

You must be logged in to vote

Replies: 2 comments 11 replies

Comment options

Hey @mickel8! This is a very interesting collection of repos, and it has my wheels spinning. 🤔

Background

I am using WebRTC data channels for low-latency transfer between clients, and I'm wondering if the ex_webrtc package would have a role to play in my application. My approach has been to build a phx-hook and use a LiveView as a signaling server. This works quite well.

I'm in the process of de-coupling and refactoring the prototype code. This includes building a WebRTC LiveComponent for my app.

Questions

After poking around the Elixir WebRTC documentation, I appreciate the structure of the modules. What I don't quite get yet is how I'd use the package.

  • Would this be used to establish WebRTC connections between servers?
  • Does it support client-server communication - essentially as a WebSocket alternative for some purposes?
  • All/none of the above?

Excellent work! Can't wait to see more documentation and development.

You must be logged in to vote
9 replies
Comment options

ICE negotiation has been working well on my prototype that uses a LiveView as a signaling server. The app is hosted on Fly.

They do have some documentation for UDP, but there's no mention of ICE negotiation in the docs. Were you doing ICE over LV or something else?

Comment options

So you are able to establish stable UDP ICE connection on Fly? We were using Web Sockets for signaling. Also, this was a couple of months ago so maybe something had changed

Comment options

Actually, yeah, I have seen some instability. I assumed I had written some buggy WebRTC code, though. It's also been a couple months now since I was working on and testing that part of the application.

Once the WebRTC connections are established, the peers are connected directly via UDP, so I am unsure if/how Fly would have any impact. For now, I'm using an external vendor's STUN service and disallowing TURN. Have you deployed the same code to another PaaS with better success?

Comment options

Once the WebRTC connections are established, the peers are connected directly via UDP, so I am unsure if/how Fly would have any impact. For now, I'm using an external vendor's STUN service and disallowing TURN. Have you deployed the same code to another PaaS with better success?

Nope, we instead switched to Hetzner where we have a bare machine 🙂

Comment options

Comment options

Hey @mickel8 thank you for WebRTC in Elixir,
context: I run a YouTube channel and trying to build feature like Google meet in LiveView for YouTube tutorial WebRTC in LiveView still working on it.

How to disable these logs?
Screenshot 2024年09月18日 at 2 55 41 PM

You must be logged in to vote
2 replies
Comment options

Hi @ambareesha7, nice to hear that!

These are debug logs from our ex_ice library. You either have to change your log level from debug to info or disable logs from ExICE modules or ex_ice app.

See here

Comment options

thank you

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

AltStyle によって変換されたページ (->オリジナル) /